imMens: 大规模数据的实时可视查询(imMens: Real-time Visual Querying of Big Data )

这是一篇2013年EuroVis的文章[1],文中介绍了一种针对大规模数据的快速聚集查询方法,针对数百万的数据规模,该方法在浏览器客户端可以达到每秒50帧的查询渲染速度,他们设计的数据降维方法也很有启发。

在本文中,作者对于数据可视化提出了一个一般性准则:可视化系统的感知扩展性和交互扩展性应该只依赖于可视化的精度, 而不依赖于数据的规模。感知扩展性的问题需要使用过滤、抽样和聚集的方法来降低数据规模,交互扩展性则需要可视化系统能够对用户的操作进行实时的数据查询。

本文通过对高维数据建立bin聚集来降低数据规模,但是如果数据维度很高,即使使用bin数据量依然会很大。假设一个含有月、日、时、经度和纬度的五维数据,每个维度的数据划分成50个bin,那么总数量依然有50^5=312.5M,对于查询和渲染仍是很大的挑战。作者针对可视化的特点,给出了一种降维分块的数据存储方案。

对于bin数据,常用的可视化方法主要是柱状图、散点图、热度图等,用户的交互主要是移动缩放和圈选操作。用户的交互一般要在两个不同的子图之间建立关联(Linked-View),对于这样一对子图,用到的数据维度最多有四个,因此对于它们之间的关联只需要原始数据在这几个维度上的一个投影就行了。比如月份和地理热度图的linked-view,只需要3个维度,数据量只有50^3=0.5M,这大大降低了数据的存储和处理规模。这样子,针对上图所示的可视化系统,我们只需要如下的子维度投影:月-日-时,月-经度-纬度,日-经度-纬度,时-经度-纬度,如下图所示。

本文用到的另一项技术就是数据分块了(Data Tiles),这在地图中常常用到。对于一个很大范围的数据,我们把它切分成很多的小块,在进行一个范围查询时,只需要用划分的小块对这个范围进行拼接就可以了,不需要对整个数据空间进行搜索,而且可以实现查询的并行化操作。作者使用这种方法把降维的数据进一步切分,并且映射为一个png图像交给浏览器端进行处理。

这篇文章给出了针对大规模数据的一种bin聚集快速可视查询方法,并通过实验验证了方法的实时处理效果。他们的方法没有讲到bin尺寸的选择问题,以及针对查询如何实现streaming的方法,这些都是可以往后扩展的工作。

 

[1] Zhicheng Liu, Biye Jiang, Jeffrey Heer. imMens: Real-time Visual Querying of Big Data. Computer Graphics Forum (Proc. EuroVis), 32(3), 2013

评论关闭。