Nanocubes

Fast visualization of large spatiotemporal datasets

Nanocubes provides you with real-time visualization of large datasets. Slice and dice your data with respect to space, time, or some of your data attributes, and view the results in real-time on a web browser over heatmaps, bar charts, and histograms. We've used it for tens of billions of data points: maybe you can push it even farther!

How does it work

The main nanocubes program is a command-line utility that processes your data and starts a web server to answer query requests. We provide Javascript APIs for visualization. But nanocubes can be used for fast analysis of your data as well: you can think of it as a very fast (if somehow limited) database query engine. As an illustrative example, we have used anomaly detection routines to query a nanocube and output potential outliers and hotspots.

Details

If you want to know more details about the algorithm behind nanocubes, you can read the research paper that describes it:

Lauro Lins, James T. Klosowski, and Carlos Scheidegger. Nanocubes for Real-Time Exploration of Spatiotemporal Datasets. Visualization and Computer Graphics, IEEE Transactions on 19, no. 12 (2013): 2456-2465. Nominated for best paper award. PDF.

Live Demos

Interested? Try the live demos! All of these datasets are running off of a single machine with 16GB of RAM. For the demos not tagged as "tablet-friendly", you will need a WebGL capable browser. We have tested it on Chrome and Firefox, but ourselves use Chrome and OS X for development.

Nanocubes is Open Source

Get the source on GitHub, and join the discussion by subscribing to the mailing list.

Team

Lauro Lins, James Klosowski, Carlos Scheidegger, Horace Y. Ip.

Why the strange name?

Nanocubes build on data cube technology. Until recently, data cubes took a very large amount of space. This means they could not be stored in main memory, so their computation and access for large datasets did not mix well with interactive visualization. Our main innovation is an algorithm for hierarchical data cubes that has very modest memory requirements. So it is just like a data cube, but it's tiny! We thought "nanocube" sounded better than "tinycube".

Awards

In the News

Acknowledgments

This project uses a litany of open-source projects and software, for which we are incredibly grateful. In no particular order, we want to acknowledge our use of: Bootstrap, Bootstrap Tour, jQuery, Underscore.js, d3, OpenStreetMap, Leaflet.js, and Lux.

In addition, we wish to acknowledge the comments, suggestions and help of Stephen North, Drew Skau, Hadley Wickham, Luiz Scheidegger, Chris Volinsky, Simon Urbanek, Robert Kosara, John Moeller, David Kormann, T.J. Jankun-Kelly and Steve Haroz.