Server-side data filtering / data virtualization

2 posts, 0 answers
  1. David Brubacher
    David Brubacher avatar
    29 posts
    Member since:
    Mar 2010

    Posted 16 Oct 2011 Link to this post

    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?
  2. Ves
    Admin
    Ves avatar
    2879 posts

    Posted 19 Oct 2011 Link to this post

    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 >>

  3. DevCraft banner
Back to Top