基于ActivePivot的内存分析技术
大数据时代来临
数据分析如今已经成为企业议事日程中的首选项之一。“大数据” – 在这个被过度宣传的标语面前,管理者们正在竭尽全力的去抓住其中蕴含的无可限量的竞争优势,他们都绞尽脑汁的从运营数据中获取洞察力。 大数据所带来的变革性的影响正在挑战着传统的技术架构,这些结构已经被大部分公司使用了十多年。具体点讲,这种影响正在使得事务技术(Transactional)和分析技术(Analytical)之间的边界变得模糊,这就使得刻意的区分OLTP和OLAP系统显得不合适,尤其是在面对大型实时动态数据分析的时候。
对速度的追逐
如今,数据分析几乎不可避免的以速度为导向。这种对速度的需求可以细分为两种互相联系的要素:数据搜索速度和数据更新速度。要解决这两个要素中的任意一个,都不是一件简单的事情。 最终,这种需求将会孕育出一种混合型的数据管理系统,这种系统将同时满足快速的分析以及快速的更新这两方面需要。
近些年,一些在OLAP基础上进行的优化架构的探索已经被证明是徒劳的。 OLAP的设计初心是为用户最大限度的提供有用信息,然后,传统的OLAP往往不能适应用户多样性的需求,更无法满足“计算完成以后的变动”这个常见而具挑战的需求。现在的用户往往希望能以”探索”的形式与系统交互,而不是系统给出一些预先计算的结果。这种更直观的使用数据的方式大大增加了数据的运算量,事实上,由于分析维度的不断增加,数据量以及数据运算量将以几何级数的方式增加。这个结果,也就是所谓的“维度诅咒”,它将大幅度的降低系统效率。直观的看,似乎数据的搜索便利要建立在牺牲系统性能的基础上,或者反过来,系统的性能提升只能建立在牺牲数据搜索的便利性之上。
ROLAP和MOLAP是近些年来试图绕开”维度诅咒”的两个典型例子。其中MOLAP,即多维OLAP,主要原理是将数据存放到一个多维超立方体数据模型里并计算所有可能的不同维度之间的组合结果,这样MOLAP满足了数据搜索方面的速度要求,但是它完全无法满足数据更新速度的要求,因为它基于延时非常高的批量数据处理。另一方面,ROLAP,即关系型OLAP,是建立在传统关系型数据库上,这种情况下数据更新速度能够被满足,因为用户的每次查询都会让系统重新计算结果。然后数据的搜索速度将会大打折扣,尤其是当运算相当复杂的时候,搜索速度难以让人忍受。
内存计算的崛起
新兴的内存计算试图同时解决数据处理速度,和动态的提升搜索性能。与以往的技术不同,我们可以将以TB为单位的数据直接存如计算机的内存,这样就可以很快速的处理大量的数据。 这种新型的运算方式有几个好处:
- 首先,目前内存的成本已经非常低廉。我们给系统配置的内存越多,系统的整体性能就越高。
- 其次,由于多核处理器的普及,实现基于内存的并行计算,数据压缩,索引优化都成为了可行的方案,这些方案都会大大提数据分析的效率。
内存计算逐渐让人们看到打破“维度诅咒”的曙光。事实上,新兴的内存可视化解决方案已经声称确保在可接受的速度下提供无限的数据量搜索能力。然而,数据更新速度这一点还是没有得到妥善的解决,人们需要的是随时随地更新数据。其中最主要的原因是内存可视化技术不支持不同数据模型的混合运算。混合运算要求系统能够同时支持简短的事务性查询以及复杂数据量大的分析型查询。混合运算型数据库的一个显著优势就是它巧妙的抹去了数据从创造数据的事务环境转移到探索数据的分析环境之间的鸿沟。这样,用户终于可以实时的搜索随时随地更新的数据。
ActivePivot
ActivePivot由QuartetFS公司开发,这是一个混合性数据系统,它能够处理多维模型的搜索,同时支持实时数据更新,这就是一个奔着去解决两个速度要素的解决方案。目前,欧洲一些大型金融机构,例如花旗银行,法国新业银行,德国商业银行,瑞日信贷等,已经采用了这项技术作为它们新一代的数据分析工具。支持ActivePivot能够满足这么多用户需求的是几项核心设计:
- 基于JAVA的内存管理系统
- 数据与计算在同一介质上,大大提升了运算速度
- 基于多核处理器的设计:充分利用硬件资源
- 列式存储机制:有效提升查询的性能
- 数据压缩技术节省了空间
- Bitmap索引:同时具备节约空间和提升性能的优点
- 纵向与横向的可伸缩性
- 支持标准的多维查询语言MDX
- 完整数据可视化解决方案
如果感兴趣,这里可以找到相关的应用场景,其中包含技术文档的链接