This is a migrated thread and some comments may be shown as answers.

Server-side data filtering / data virtualization

1 Answer 45 Views
Chart
This is a migrated thread and some comments may be shown as answers.
David Brubacher
Top achievements
Rank 1
David Brubacher asked on 17 Oct 2011, 01:12 AM
I have some datasets I need to chart with millions and millions of records and I need to boost performance.
My thoughts were similar to how images are fractally compressed - there's no point decompressing 10 pixels of data when you are showing it in 1 pixel. I want to do the same with data on the server. don't send data you can't show.
Here is roughly what that translates into on a chart.
- Lets say my chart area is 1000 pixels wide. I want to get 1000 representative records from the million that are on the server - I'm only sending one record per 1000.
- Now I zoom in so that I'm looking at 20% of the dataset. I want to infill those records I'm looking at so that my chart shows just sufficient detail - 1:200 records. Initially I will draw a coarse chart but it will improve as my infill data arrives
- Now I pan. I get the same coarse chart as when I zoom, which later fills in.
- If I pan back to where I was, there is no new data fetch since I already have it and the chart displays full detail.
- If I zoom in again - fetch data.
- If I zoom out, only draw the 1000 points of data - ignore the detail that can't be shown anyway.

Combined with UI virtualization this should make for a lightening fast chart with huge datasets. I know what I want to do but I'm not clear about what features within the Telerik suite will help me accomplish it.

Any thoughts? Pointers?

1 Answer, 1 is accepted

Sort by
0
Ves
Telerik team
answered on 19 Oct 2011, 02:39 PM
Hello David,

Let me point you to this example. You can see RadChart showing daily data for DJIA for 80 years. You can then zoom in by selecting a region in the chart or by clicking the "+" button. The chart will display the graph in more details. In addition to Zoom/Scroll this example takes advantage of  feature called Sampling. Generally, this is downscaling the number of items in the chart, for the reasons you have outlined. So basically, RadChart itself covers your scenario with one exception -- the data manipulation is done on the client side by the chart. You need to provide it with data once and it will perform the necessary operations to show the relevant data. Hope this helps.

Best regards,
Ves
the Telerik team

Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get it now >>

Tags
Chart
Asked by
David Brubacher
Top achievements
Rank 1
Answers by
Ves
Telerik team
Share this question
or