cassandra概况

为什么选择Cassandra?cassandra到底有那些令人印象深刻的特点呢?不防我们先来看下cassandra目前的大体概况。

理论扎实,师出名门

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

DB-EnginesRanking排名一骑绝尘

宽表领域第一,全部数据排名第十,可以看出广受用户认可,流行度颇高。

Nosql主流产品性能对比

从benchmark可以看到cassandra性能是摇摇领先的,受用户认可也是有原因的,毕竟能打,有实力。

摘自:https://www.datastax.com/nosql-databases/benchmarks-cassandra-vs-mongodb-vs-hbase

为什么选择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是一个十分明智的选择。

作者:陈江@阿里

cassandra hbase_为什么选择Cassandra相关推荐

  1. 为什么选择Cassandra

    cassandra概况 为什么选择Cassandra?cassandra到底有那些令人印象深刻的特点呢?不防我们先来看下cassandra目前的大体概况. 理论扎实,师出名门 cassandra不仅吸 ...

  2. Cassandra Dev 1: Cassandra 入门

    2019独角兽企业重金招聘Python工程师标准>>> 本文转自我的javaEye博客,链接http://kylinsoong.javaeye.com/blog/731208 最近, ...

  3. Cassandra使用简介 - Cassandra Knowledge Base

    1. Cassandra简介 Cassandra是一种非关系型(NoSQL)开源大规模分布式数据库,具有水平可扩展性.分布式架构及表结构灵活定义等突出特性. 具体而言,其特性表现在以下几方面: 弹性可 ...

  4. cassandra hbase_弥补MySQL和Redis短板:看HBase怎么确保高可用

    HBase是一个基于Hadoop面向列的非关系型分布式数据库(NoSQL),设计概念来源于谷歌的BigTable模型,面向实时读写.随机访问大规模数据集的场景,是一个高可靠性.高性能.高伸缩的分布式存 ...

  5. 数据备份_「Cassandra实战」Cassandra数据备份

    尽管Cassandra号称可以做到宕机时间为零,但为了谨慎起见,还是需要对数据进行备份. Cassandra提供了几种备份的方法 将数据导出成为json格式 利用copy将数据导出为csv格式 直接复 ...

  6. cassandra mongodb选择——cassandra:分布式扩展好,写性能强,以及可以预料的查询;mongodb:非事务,支持复杂查询,但是不适合报表...

    Of course, like any technology MongoDB has its strengths and weaknesses. MongoDB is designed for OLT ...

  7. Cassandra key说明——Cassandra 整体数据可以理解成一个巨大的嵌套的Map MapRowKey, SortedMapColumnKey, ColumnValue...

    Cassandra之中一共包含下面5种Key: Primary Key Partition Key Composite Key Compound Key Clustering Key 首先,Prima ...

  8. cassandra 入门_Apache Cassandra和Java入门(第一部分)

    cassandra 入门 在此页面上,您将学到足够的知识以开始使用NoSQL Apache Cassandra和Java,包括如何安装,尝试一些基本命令以及下一步要做什么. 要求 要遵循本教程,您应该 ...

  9. cassandra 入门_Apache Cassandra和Java入门(第二部分)

    cassandra 入门 要求 要遵循本教程,您应该已经有一个正在运行的Cassandra实例( 一个小型集群会很好 ,但不是必需的),已安装Datastax Java驱动程序( 请参阅第I部分 ), ...

最新文章

  1. MySQL中varchar类型在5.0.3后的变化
  2. flash mini播放器
  3. Linux内核的各个组成部分,Linux 内核的组成部分
  4. 生成docker镜像
  5. 不用回调方法捕获数据包
  6. 加计18-3李元龙第一次作业
  7. 读取 wps_软件前世今生篇之WPS(求伯君1988年先于OFFICE研发出WPS)
  8. MVVM模式于MVP模式
  9. [react] 使用React的memo和forwardRef包装的组件为什么提示children类型不对?
  10. 采用存储复制方式同步数据,实现数据库安全升级
  11. golang uint 减法问题
  12. ethtool -g rx_魔兽怀旧服:黑G团避坑指南
  13. 亚马逊E2主机的参数配置流程
  14. [转载] python numpy 笔记(一)
  15. 【BABY夜谈大数据】基于内容的推荐
  16. 菜鸟的数学建模之路(五):Logistic模型
  17. Mac Finder显示/隐藏文件
  18. 在vue2、vue3中基于Three.js使用多张全方位照片拼接全景vr效果
  19. 【信号重构】经傅里叶逆变换(IFFT)后得到实数序列-含Matlab程序
  20. OLTP与OLAP简介

热门文章

  1. GitHub被“中介”攻击了?啥是中间人攻击?
  2. JedisPool资源池优化
  3. Linux pg数据库导出数据,linux下 postgres实现导出和导入
  4. segformer 使用笔记
  5. python库下载安装网址
  6. Python PIP Install throws TypeError: unsupported operand type(s) for -=: 'Retry' and 'int'
  7. windows 安装PyTorch0.4.0
  8. minist读取一张图片
  9. caffe依赖项安装
  10. 基于标记的AR的OpenCV实现