Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Architectural Design for Interactive Visualization

Architectural Design for Interactive Visualization

Visualisation for data science requires an interactive visualisation setup which works at scale. In this talk, we will explore the key architectural design considerations for such a system and illustrate using examples the four key tradeoffs in this design space - rendering for data scale, computation for interaction speed, adaptive to data complexity and responsive to data velocity.

Amit Kapoor

May 23, 2018
Tweet

More Decks by Amit Kapoor

Other Decks in Technology

Transcript

  1. Layers of Abstraction — Raw Data — Transform Layer —

    Visual Layer — Interaction Layer 3
  2. Architectural Design Trade-offs 1. Rendering for Data Scale 2. Computation

    for Interaction Speed 3. Adaptive to Data Complexity 4. Responsive to Data Velocity 5
  3. 1. Rendering for Data Scale "How do you render interactive

    visualization when there are millions or billions of data points?" 6
  4. Visualise a Million Points Show all the Data Same order

    as the number of pixels on my MacBook Air: 1400 x 900 Problems with overplotting 7
  5. Visualise a Million Points Sample the Data Sampling can be

    effective (with overweighting unusual values) Require multiple plots or careful tuning parameters 8
  6. Visualise a Million Points Model the Data Models are great

    as they scale nicely. But, visualisation is needed to answer the question: “I don’t know, what I don’t know.” 9
  7. Visualise a Million Points Bin the Data Reduce the size

    of the data to complement the pixel resolution on screen 10
  8. Visualise more than Million Points Bin-Summarize-Smooth Shift the transfer of

    data from raw data to binned- summarised-smoothed data 16
  9. Why not sent an image of the Data: DataShader3 3

    DataShader: Turn largest data to image, accurately 18
  10. 2. Computation for Interaction Speed "How do you reduce the

    latency of the query at the interaction layer, so that the user can interact with the visualisation?" 20
  11. 3. Adaptive to Data Complexity Choosing a good visualisation design

    for a singular dataset is possible after a few experiments and iteration. But how do you ensure that the visualisation will adapt to the variety, volume and edge cases in the real data? 28
  12. 4. Responsive to Data Velocity "How do you trade-offs between

    real-time vs. near real-time data and its impact on refreshing visualization" 33
  13. Architectural Design Trade-offs 1. Rendering for Data Scale 2. Computation

    for Interaction Speed 3. Adaptive to Data Complexity 4. Responsive to Data Velocity 35