您的位置:首页 > 运维架构 > Apache

Apache Spark在SnappyData支持即时SQL分析

2016-05-03 19:58 513 查看
Pivotal’s GemFire的基于内存数据存储团队最近发布了一种新的数据库解决方案,叫做SnappyData,基于GemFire 和 Apache Spark。

SnappyData是最近又出现的一个使用Spark作为组件的数据库解决方案。这种使用Spark的方案中,有一些使用了Apache Hadoop的技术。SnappyData的查询可以使用传统的SQL语句,或者使用Spark的查询,这样原来的工作可以兼容SnappyData,也可以使用两种方式同时工作。

Snap和Spark

SnappyData是这个新数据库的名字,同时也是这个组织的名字,跨越了两个领域。它使用了Apache Spark的内存数据分析引擎,所以可以在静态数据和流数据中实时分析SQL。

在存储和取回数据方面,SnappyData使用了一个分布式的数据存储,叫做Snappy-Store,起源于GemFire的技术。它要么使用自己的数据存储,要么使用一种异步的回写式高速缓冲存储器连接另一个数据库,比如Hadoop或者HDFS。这意味着,原来的数据可以直接使用SnappyData,而不需要一些正式的数据迁移操作。

SnappyData也尝试对流数据的问题提供一些新奇的解决方案。比如,如果有个查询返回的结果太多,可能导致不能及时地反回结果。SnappyData使用近似查询结果(approximate query processing,AQP)或者从结果中抽样的方式来生成结果。

这种方式返回的结果,相比与在所有数据上操作并不准确,而且AQP并不能适用于所有查询。但是,AQP查询对CPU和内存的要求更低,速度更快。

这并不是Spark第一次在数据分析方面同时覆盖OLTP和OLAP了。基于内存的数据库系统Splice Machine使用了Hadoop的组件,就同时支持OLTP和OLAP。2.0版本加入了Spark作为一个OLAP的处理引擎。

SnappyData和Splice Machine背道而驰的地方,就是使用Spark的不同。SnappyData称,他们在很多方式对Spark的流进行的扩展,比如允许流可以像表一样被查询和操作,包括连接这样的操作。

SnappyData的环境也比较适合尝试使用Apache Spark新特性。比如Spark 2.0将在今年发布,届时将重构内存管理和流系统,拉取流数据将更加简单。

原文:
Apache Spark powers live SQL analytics in SnappyData
翻译:赖信涛
责编:孙思
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: