OK, that is a lot.
Fortunately, ZoomCharts was built exactly for this job!
Not so fortunately, it still won't be simple. But ZoomCharts won't be your problem. With this amount of data, loading it all at once is out of question. You'll need a backend webservice that provides a part of the data. ZoomCharts can accept data in three main ways:
- Preloaded, which is, as stated, out of the question;
- Data URL
- Javascript function.
If you supply an URL, then ZoomCharts will perform its own AJAX request for the data. This is the simplest way.
If you supply a function, then ZoomCharts will call it when it needs the data, and the function can perform the AJAX request itself. This is useful if the webservice needs to be called in a specific way that ZoomCharts doesn't support out-of-the-box, or if the data returned needs to be processed to be usable by ZoomCharts.
For TimeChart, whichever way you choose, it will provide 3 parameters - "from" timestamp, "to" timestamp, and "aggregation unit". For example, it will ask for "Data from January 5, 2017, 10:00:00 to January 16, 2017, 09:00:00, aggregated by hours". So in response you need to give it one data value per hour. Or multiple values, if you have multiple series.
Whenever the user interacts with the chart (zooms in/out, pans around, etc), TimeChart will issue more requests for more data as needed.
Since the data will already be aggregated, there won't be much of it and the chart will be fast. The tricky part however will be to make sure that the backend returns it quickly. Filtering and summing / averaging millions of rows in less than a second is far from trivial.
For your demo however... well, I don't know. We don't have a large data demo (though in retrospect I think we should). I suggest you take a look at the gallery and show them the demos there. That should give a good idea of what ZoomCharts are capable of.
Or perhaps you already have some specific data you want to display with ZoomCharts for your demo?