There are a lot of different algorithms for downsampling huge timeseries datasets for visualization. See this post, for example (including some code).
If the downsampling algorithm is local (as is the case in the linked example above), you can process the dataset in chunks if the whole thing doesn’t fit into memory at once.