Ah, yes that is quite a unique situation.With that much data, you probably have to consider network calls because that uses up users data, client storage because there is a limit, and memory because your app will slow down.
With that much data, I think the biggest challenge may be data manipulation and memory use. You can avoid that by just sending requests to an API to give back new data, but that costs the user network data.
I dont know what the data looks like, so hard to say if youre going to hit a storage limit with localStorage as well.
Yeah, I think web workers are the way I would go. That way you can keep the number of requests down, and manipulate data without clogging up the main thread. I dont know enough to speak to the data storage though.