2014Spark峰会在美国旧金山举行,与会数据库平台供应商DataStax宣布,与Spark供应商Databricks合作,在它的旗舰产品 DataStax Enterprise 4.5 (DSE)中,将Cassandra NoSQL数据库与Apache Spark开源引擎相结合,为用户提供基于内存处理的实时分析。
Databricks是一家由Apache Spark创始人成立的公司。谈到这次合作,DataStax副总裁John Glendenning表示:“将Spark与Cassandra集成,这还是数据库行业内的第一次合作。”
Cassandra是一个分布式、高可扩展的数据库,用户可以创建线上应用程序,实时处理大量数据。
Apache Spark是应用于hadoop集群的处理引擎,在内存条件下可以为Hadoop加速100倍,在磁盘上运行时也能实现十倍的加速。Spark还提供SQL、流数据处理、机器学习和图型计算等功能。
Cassandra与Spark的结合,让端到端的分析工作流的实现更为容易。另外,交易型数据库的分析性能也能得到很大的提升,企业可以更快地响应客户需求。
对于需要向客户提供实时推荐和个性化的在线体验的公司,Cassandra与Spark的结合堪称福音。
视频分析公司的Cassandra/Spark应用先例
Cassandra+Spark架构的使用早有先例,Ooyala就是其中之一。Ooyala是一家视频分析供应商。Ooyala每天要处理20亿个视频事件,在大约220个节点上有约28TB的数据要处理。但是Ooyala的技术团队负责人 Harry Robertson还是能够自信地说:“我们不是仅仅告诉客户,你的视频几天播放了100遍,我们会提供更详细的信息,比如有80次播放来自于北京,20次来自于Yahoo.com。”而支撑这一切的正是Cassandra集群。
但是,只拥有大数据的处理能力还不够,Ooyala需要将“堆积如山”的原始事件转变成小的、可操作的事件。公司之前考虑过Hadoop,但Hadoop扩展性有余,实时性不足。也考虑过Storm这样的实时流处理框架,但它只有处理固定的流程时才具有优势,弹性查询能力欠佳。最终,Ooyala选择了内存分布式计算框架Spark。
现在Ooyala正在运行的就是Spark/Cassandra架构。