为何选择Cassandra

cassandra概况

为何选择Cassandra?cassandra到底有那些使人印象深入的特色呢?不防咱们先来看下cassandra目前的大致概况。sql

理论扎实,师出名门


cassandra不只吸取了dynamo论文中的如何作分布式,如何作副本复制,故障容错等方面成功的经验,又吸收了google bigtable中的LSM单机引擎层面精华。理论扎实,工程实现靠谱,因此面世以来,不断受到人们的追捧。数据库

DB-EnginesRanking排名一骑绝尘


宽表领域第一,所有数据排名第十,能够看出广受用户承认,流行度颇高。apache

Nosql主流产品性能对比


从benchmark能够看到cassandra性能是摇摇领先的,受用户承认也是有缘由的,毕竟能打,有实力。后端

为何选择cassandra

了解了cassandra概况,表现抢眼,再让咱们深刻看看,什么缘由让咱们选择cassandra
我大体总结了以下十点:网络

1.线性扩展,轻松应对速度,多样性和复杂性问题

与下一代云应用相关的许多挑战都集中在数据量和数据处理速度上。Cassandra可否有能力应对这种具备多样性的数据流量?答案是确定的,Cassandra是线性扩展,能够根据前台数据流量轻松肯定集群规模,处理能力不够?加一台节点试试。架构

2.能够处理大量数据集

Netflix,Hulu,Instagram,eBay,Apple和Spotify都在大规模使用Cassandra,做为他们产品后端的一部分。facebook的instangram一天用cassandra处理上亿图片,这足够说明了cassandra能够自如的处理大量数据集。运维

3. 一致化软硬件环境,易于大规模部署

不像有些分布式系统,cassandra不依赖外部组件,全部必须的操做都集成在cassandra内部了,由于是p2p对等架构,无主,环上的节点都是对等的,因此实际部署时,只须要一种机型,一个进程,极度简化部署及后续运维工做,适合大规模部署。分布式

4. 高度容错

Cassandra采用了许多容错机制。因为C* 是无主的,因此没有单点故障。能够作到不停服滚动升级。这是由于Cassandra能够支持多个节点的临时失效(取决于群集大小),对群集的总体性能影响能够忽略不计。性能

Cassandra提供多地域容灾。Cassandra容许您将数据复制到其余数据中心,并在多个地域保留多副本。除了做为强大的灾难恢复和业务连续性保障以外,这有助于知足许多监管,离线分析等要求。

图示:多DC可用于多地容灾,或者离线分析用。大数据

5. 被证实过,已经在企业应用程序和许多用例中取得成功

已经有许多Cassandra被有效使用的例子。银行和其余金融机构正在使用C*存储大量金融数据。分析公司正在使用Cassandra来存储网络分析数据。医疗公司正在使用Cassandra来存储传感器数据和其余时序数据。还有许多公司利用Cassandra存储物联网数据。因此说cassandra是被证实过的。

6.易于管理

Cassandra简化了系统管理。因为Cassandra是一个无主系统,环中的全部节点都是相同的; 一个同质的系统。它具备容错能力,能够支持节点临时失效,同时对性能的影响最小。这意味着节点易于更换,而且也不要求即刻替换宕机节点。

7.自主优化

有大量的,不一样的参数让你根据自身场景不断的调优,举个例子,若是你是一个重写,读不多的场景,能够修改配置参数成重写系统。参数设置不只仅是集群级别的,也能够是dc级别的,甚至客户端单个请求级别的,好比单次请求设置一致性级别,已达到更低的延时。

图示:调节一致性级别,达到更低延时目标

8.易于集成其余开源组件

Cassandra能够很容易的跟其余开源组件作集成。据我所知,cassandra已经成功跟kafka,spark,solr作集成,打通了大数据生态上下游,成为大数据处理里面重要的一环

9.出色的监控选项

cassandra提供了不少的监控指标,这些监控项这能够经过Cassandra利用Java MBeans并将它们暴露给不一样外部监控系统,好比Datastax的监控系统Opscenter,阿里云的天象监控系统。您可使用这些指标监控cassandra运行情况,再出现异常指标作出相应的决策。

10. 开源可控&活跃的社区

目前apache cassandra有5.4K Star,而且是开源可控,不须要昂贵的licence费用。stackoverflow上有数万个打了cassandra tag的问题,这些足以说明cassandra足够活跃。

一个开源软件要得到真正意义上的成功,就须要有一个围绕它发展的生态系统。对于像Cassandra这样的数据库,就必须有围绕它的咨询,监控和故障排查系统,插件,仪表系统和备份系统, 使得您的组织不须要重复开发上述一切能力,能够基于社区已有的内容。甚至不少云厂商提供Cassandra托管服务,让您只关注应用程序的开发。

总结

cassandra功能强大,更像一个真正的数据库,如下图总结来结束本文

Cassandra是您理想的数据库缘由有不少。了解您的系统要求,工做负载和将来业务增加状况将有助于您作出正确的选择。如你所见,选择Cassandra是一个十分明智的选择。


原文连接 本文为云栖社区原创内容,未经容许不得转载。