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

简介:

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

说起Cassandra的用途时,我们可以将其理解为一套理想的客户系统实现方案——其能够保证各类应用始终可用,包括产品目录、物联网、医疗系统以及移动应用。Cassandra于2010年成为Apache软件基金会的顶级项目,而且至今仍拥有极高人气。Cassandra专业知识能够帮助我们在人才市场上获得赏识。我们不禁要问——为什么这一开源项目能够大受欢迎?

随着现代云应用对正常运行时间及性能水平的要求逐步提高,已经有越来越多用户开始将注意力集中在Apache Cassandra数据库身上。

大数据

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

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

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

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

20160519021236863.jpg

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

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

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

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

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

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


本文转自d1net(转载)

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
3月前
|
机器学习/深度学习 SQL 分布式计算
Apache Spark 的基本概念和在大数据分析中的应用
介绍 Apache Spark 的基本概念和在大数据分析中的应用
157 0
|
4天前
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。
|
3月前
|
机器学习/深度学习 SQL 分布式计算
介绍 Apache Spark 的基本概念和在大数据分析中的应用。
介绍 Apache Spark 的基本概念和在大数据分析中的应用。
|
2月前
|
分布式计算 大数据 Java
Spark 大数据实战:基于 RDD 的大数据处理分析
Spark 大数据实战:基于 RDD 的大数据处理分析
120 0
|
3月前
|
存储 分布式计算 NoSQL
Spark与Cassandra的集成与数据存储
Spark与Cassandra的集成与数据存储
|
3月前
|
分布式计算 监控 大数据
Spark RDD分区和数据分布:优化大数据处理
Spark RDD分区和数据分布:优化大数据处理
|
4月前
|
分布式计算 大数据 Linux
Python大数据之PySpark(三)使用Python语言开发Spark程序代码
Python大数据之PySpark(三)使用Python语言开发Spark程序代码
96 0
|
4月前
|
SQL 分布式计算 大数据
Hudi数据湖技术引领大数据新风口(三)解决spark模块依赖冲突
Hudi数据湖技术引领大数据新风口(三)解决spark模块依赖冲突
100 0
|
4月前
|
分布式计算 资源调度 大数据
大数据开发岗面试复习30天冲刺 - 日积月累,每日五题【Day30】——Spark数据调优(文末附完整文档)
大数据开发岗面试复习30天冲刺 - 日积月累,每日五题【Day30】——Spark数据调优(文末附完整文档)
62 0