Cassandra 和 Spark 数据处理入门

暂无读者喜欢。
Open data brain

Opensource.com

本文由 Jon Haddad 共同撰写。

由于现代云应用对正常运行时间和性能的需求不断增长,人们对 Apache Cassandra 数据库的兴趣激增。

那么,什么是 Apache Cassandra?一个为高可用性和线性可扩展性而构建的分布式 OLTP 数据库。当人们问 Cassandra 用于什么时,想想你希望靠近客户的系统类型。这最终是我们的用户与之交互的系统。必须始终可用的应用程序:产品目录、物联网 (IoT)、医疗系统和移动应用程序。在这些类别中,停机时间可能意味着收入损失,甚至更可怕的后果,具体取决于你的特定用例。Netflix 是该项目最早的采用者之一,该项目于 2008 年开源,他们的贡献以及成功使其受到了大众的关注。

Cassandra 在 2010 年成为 Apache 软件基金会的顶级项目,此后一直乘着流行的浪潮。现在,即使掌握 Cassandra 知识也能在就业市场上获得丰厚的回报。考虑到 NoSQL 和开源技术可以在企业级 SQL 巨头旁边进行这种颠覆,这既疯狂又令人惊叹。这就引出了一个问题,是什么让它如此受欢迎?

Cassandra 具有始终在线的能力,即使在发生大规模硬件和网络故障的情况下也是如此,这得益于最初在 亚马逊的 Dynamo 论文 中广泛讨论的设计。通过使用点对点模型,没有单点故障,我们可以应对机架故障甚至完全的网络分区。我们可以处理整个数据中心故障,而不会影响客户的体验。一个为故障做好计划的分布式系统是一个经过适当计划的分布式系统,因为坦率地说,故障就是会发生。使用 Cassandra,我们接受了这个残酷的现实,并将其融入到数据库的架构和功能中。

我们知道你在想什么,“但是,我来自关系型背景,这难道不是一个令人望而生畏的转变吗?” 答案是 有些是,有些不是。使用 Cassandra 进行数据建模对于来自关系型世界的开发人员来说会感到熟悉。我们使用表来建模数据,并使用 CQL(Cassandra 查询语言)来查询数据库。但是,与 SQL 不同,Cassandra 支持更复杂的数据结构,例如嵌套类型和用户定义类型。例如,与其创建一个专用表来存储猫照片的点赞,不如将该数据存储在包含照片本身的集合中,从而实现更快、更顺序的查找。这在 CQL 中表达得非常自然。在我们的照片表中,我们可能想要跟踪名称、URL 以及喜欢这张照片的人。

Cassandra and Spark table

在一个高性能系统中,毫秒对于用户体验和客户保留都至关重要。昂贵的 JOIN 操作通过增加不可预测的网络调用限制了我们横向扩展的能力。通过对数据进行非规范化,使其可以尽可能少地请求获取,我们从磁盘空间成本降低的趋势中获益,并获得可预测的高性能应用程序作为回报。我们拥抱 Cassandra 的非规范化概念,因为它提供了一个非常有吸引力的权衡。

显然,我们不仅仅限于存储猫照片的点赞。Cassandra 针对高写入吞吐量进行了优化。这使其成为大数据应用的完美解决方案,在这些应用中,我们不断摄取数据。时间序列和物联网 (IoT) 用例在市场需求和出现方面都以稳定的速度增长,并且我们不断寻找利用我们收集的数据来改进我们的技术应用的方法。

这使我们进入下一步,我们已经讨论了以现代、经济高效的方式存储数据,但是我们如何获得更强大的动力呢?意思是,一旦我们收集了所有这些数据,我们该如何处理它呢?我们如何高效地分析数百 TB 的数据?我们如何对实时接收的信息做出反应,在几秒钟而不是几小时内做出决策?这就是 Apache Spark 的用武之地。

Spark 是大数据处理演进的下一步。Hadoop 和 MapReduce 是革命性的项目,为大数据世界提供了处理我们收集的所有数据的机会。Spark 通过大幅提高性能和大幅降低代码复杂性,将我们的大数据分析提升到一个新的水平。通过 Spark,我们可以执行大规模批处理计算,对流处理快速做出反应,通过机器学习做出明智的决策,并通过图遍历理解复杂、递归的关系。这不仅关乎为您的客户提供与其应用程序的快速可靠连接(这是 Cassandra 提供的),还关乎能够利用 Cassandra 存储的数据中的见解来做出更智能的业务决策并更好地满足客户需求。

你可以查看 Spark-Cassandra Connector(开源)并试用一下。 要了解有关这两项技术的更多信息,我们强烈推荐 DataStax Academy 上的免费自学课程。

尽情深入挖掘并学习一些杀手级的新技术吧! 如果你想了解更多信息,请查看我们的 OSCON 教程,其中动手探索 Cassandra 和 Spark 的世界。

我们也很乐意在 Twitter 上回答问题,所以请联系我们,我们会尽力帮助你:Dani 和 Jon

User profile image.
DataStax 技术培训师

贡献者

评论已关闭。

知识共享许可协议本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.