为什么在大数据处理中Cassandra与Spark如此受欢迎?

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
云数据库 Tair(兼容Redis),内存型 2GB
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
简介: 随着现代云应用对正常运行时间及性能水平的要求逐步提高,已经有越来越多用户开始将注意力集中在Apache Cassandra数据库身上。 那么,为什么要选择Apache Cassandra?这套分布式OLTP数据库能够带来高可用性与线性可扩展能力。

阿里云X-Pack Spark分析引擎,满足批量及流式入库、ETL、归档、复杂分析、机器学习等需求,同时内置数据工作台支持作业管理、调度、交互式查询等。
f020cfd87a14b539ef102f6b0174fe784b91baf6
随着现代云应用对正常运行时间及性能水平的要求逐步提高,已经有越来越多用户开始将注意力集中在Apache Cassandra数据库身上。

那么,为什么要选择Apache Cassandra?这套分布式OLTP数据库能够带来高可用性与线性可扩展能力。在说起Cassandra的用途时,我们可以将其理解为一套理想的客户系统实现方案——其能够保证各类应用始终可用,包括产品目录、物联网、医疗系统以及移动应用。这类项目一旦遭遇停机,企业可能面临严重的营收损失甚至失去忠诚的用户。Netflix公司早在2008年就开始使用这套开源数据库,而其做出的大力推动也真正让Cassandra引起了公众的重视。

Cassandra于2010年成为Apache软件基金会的顶级项目,而且至今仍拥有极高人气。Cassandra专业知识能够帮助我们在人才市场上获得赏识。我们不禁要问——为什么这一开源项目能够大受欢迎?

Cassandra能够利用Amazon发布的Dynamo论文中所提到的独特设计成果,从而保证硬件与网络出现大规模故障时继续保证可用性。利用点对点模型,其消除了单点故障可能性,从而帮助我们在机架故障甚至是网络整体下线的情况下得以幸存。我们能够在无需影响用户体验的情况下,顺利处理整体数据中心故障。只有能够应对故障的分布式系统才是一套拥有出色设计水平的分布式系统,而在Cassandra的帮助下,我们能够承受各类意外状况,并将应对机制纳入数据库架构及功能当中。

但大家可能要问,“不过,我之前只使用过关系型数据库,过渡过程是否非常艰难?”这个问题无法一概而论。Cassandra使用的数据模型对于关系数据库管理员来说并不陌生,我们同样使用表进行数据建模,并通过CQL——Cassandra查询语言——查询数据库。不过与SQL不同,Cassandra支持更为复杂的数据结构,例如嵌套与用户定义类型。例如,相较于为某张图片创建独立的存储表,我们可以直接将该数据存储在集合中以实现更为快速的查询速度。这种作法在CQL当中非常自然,而对应的图片表中则包含其名称、URL以及喜爱该图片的用户信息。

wKiom1c9KCWxpRDhAABGh7VZY9U063

在高性能系统当中,毫秒级别的差异可能决定用户的实际体验与去留。然而,资源成本高昂的JOIN操作限制了我们的向外扩展通彻。通过对数据进行非规范化处理,我们能够尽可能降低请求数量,从而大幅降低磁盘空间成本并实现可预测的高性能应用。

当然,我们能够存储的绝不仅仅是图片数据。Cassandra针对高写入吞吐量进行了优化,这意味着其能够完美地处理大数据应用。时间序列与物联网用例的快速增长要求我们不断寻求新的方法以收集数据并改进数据的应用技术。

这就带来了新的问题:我们已经能够以现代化且具备成本效益的方式存储数据,但如何进一步提升处理能力?换言之,在数据收集完成后,我们该如何加以运用?我们如何有效分析数百TB数据?我们又该如何以秒为单位实时利用信息进行决策?Apache Spark正是问题的答案。

Spark可谓大数据处理的下一场革命。Hadoop与Mapreduce属于第一代革命性项目,它们让我们得以立足于大数据层面实现数据收集。而Spark则能够大幅提高性能并降低代码计算的复杂性,从而实现前所未有的数据分析能力。在Spark的帮助下,我们可以完成大量批处理计算,针对数据流处理结果进行反应并通过机器学习机制做出明智决策,最终利用遍历与递归理解复杂的信息。其目标不光是为客户提供更为快速可靠的应用连接能力(这部分效果由Cassandra负责实现),同时也需要利用信息做出业务决策地更好地满足客户需求。

大家可以点击此处查阅Spark-Cassandra Connector方案说明(开源),我们也强烈建议各位在DataStax Academy上查找免费的自学教程。

希望大家能够享受这段技术学习之旅!如果大家希望了解更多,也可参阅我们的OSCON教程,其中包含大量与Cassandra与Spark相关的内容。

原文标题:An introduction to data processing with Cassandra and Spark

微信公众号和钉钉群交流

为了营造一个开放的 Cassandra 技术交流,我们建立了微信公众号和钉钉群,为广大用户提供专业的技术分享及问答,定期在国内开展线下技术沙龙,专家技术直播,欢迎大家加入。

微信公众号:

Cassandra技术社区

钉钉群

lALPDgQ9ql0mM3XMp8yo_168_167_png_620x10000q90g

钉钉群入群链接:https://c.tb.cn/F3.ZRTY0o

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
29天前
|
分布式计算 大数据 Apache
ClickHouse与大数据生态集成:Spark & Flink 实战
【10月更文挑战第26天】在当今这个数据爆炸的时代,能够高效地处理和分析海量数据成为了企业和组织提升竞争力的关键。作为一款高性能的列式数据库系统,ClickHouse 在大数据分析领域展现出了卓越的能力。然而,为了充分利用ClickHouse的优势,将其与现有的大数据处理框架(如Apache Spark和Apache Flink)进行集成变得尤为重要。本文将从我个人的角度出发,探讨如何通过这些技术的结合,实现对大规模数据的实时处理和分析。
85 2
ClickHouse与大数据生态集成:Spark & Flink 实战
|
1月前
|
SQL 机器学习/深度学习 分布式计算
Spark快速上手:揭秘大数据处理的高效秘密,让你轻松应对海量数据
【10月更文挑战第25天】本文全面介绍了大数据处理框架 Spark,涵盖其基本概念、安装配置、编程模型及实际应用。Spark 是一个高效的分布式计算平台,支持批处理、实时流处理、SQL 查询和机器学习等任务。通过详细的技术综述和示例代码,帮助读者快速掌握 Spark 的核心技能。
53 6
|
29天前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
89 2
|
29天前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第26天】本文详细探讨了Hadoop与Spark在大数据处理中的协同作用,通过具体案例展示了两者的最佳实践。Hadoop的HDFS和MapReduce负责数据存储和预处理,确保高可靠性和容错性;Spark则凭借其高性能和丰富的API,进行深度分析和机器学习,实现高效的批处理和实时处理。
65 1
|
29天前
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
|
1月前
|
分布式计算 大数据 OLAP
AnalyticDB与大数据生态集成:Spark & Flink
【10月更文挑战第25天】在大数据时代,实时数据处理和分析变得越来越重要。AnalyticDB(ADB)是阿里云推出的一款完全托管的实时数据仓库服务,支持PB级数据的实时分析。为了充分发挥AnalyticDB的潜力,将其与大数据处理工具如Apache Spark和Apache Flink集成是非常必要的。本文将从我个人的角度出发,分享如何将AnalyticDB与Spark和Flink集成,构建端到端的大数据处理流水线,实现数据的实时分析和处理。
54 1
|
2月前
|
分布式计算 大数据 Apache
利用.NET进行大数据处理:Apache Spark与.NET for Apache Spark
【10月更文挑战第15天】随着大数据成为企业决策和技术创新的关键驱动力,Apache Spark作为高效的大数据处理引擎,广受青睐。然而,.NET开发者面临使用Spark的门槛。本文介绍.NET for Apache Spark,展示如何通过C#和F#等.NET语言,结合Spark的强大功能进行大数据处理,简化开发流程并提升效率。示例代码演示了读取CSV文件及统计分析的基本操作,突显了.NET for Apache Spark的易用性和强大功能。
41 1