Cassandra系列(1)-Cassandra学习资源汇总

概述

Apache Cassandra 是一个支持高扩展的开源NoSQL数据库。Cassandra非常适合在云、多数据中心存储结构化、非结构化的数据。Cassandra 支持高可用性,线性扩展,支持单点故障。强大的动态数据模型支持为开发提供了灵活性和快速性。

根据本人使用经验,选用Cassandra的作为大规模数据存储理由有4点:

1. 提供了水平扩展的能力,即性能提升可以通过简单的加机器来实现,天生为大规模数据存储服务

2. 自动分片,不需要进行分库分表。数据增长由小到大,无需额外操作

Cassandra 为集群内的节点提供跨节点的自动数据分布。数据在集群各个节点的分布是是透明的,不需要开发者或者DBA做任何事情。

3. 查询模式严格,单表只能应用于某一类查询,在DB这一层就做了,这样即使数据量小的时候,开发也不会写出浪查询,导致后期数据量大了以后,开发层还需要大规模更改查询语句(比如关系型的分库分表,Mongo的sharding模式)

4. 良好的写入性能

应用场景

cassandra 试用的场景主要有5个方面

1.物联网

物联网应用中有大量的传感器和设备,需要采集环境信息,然后发送给上位机。这些信息都是时间顺序排列的,cassandra非常适合用来存储这些信息。

2.个性化

用户画像,使用cassandra接收,分析。可以提供快速,低成本,可扩展的用户体验

3.message

最早facebook就是使用cassandra来存储message(不过后期好像替换掉了)

4.欺骗检测

cassandra可以是欺骗分析模式变得更快速,精确,高效

5.列表

产品目录,电影评分,cassandra可以将用户选中的诸多项目作为一个集合存储起来

目前apple拥有最大的cassandra cluster.超过75,000nodes,存储数据达到10PB.不过apple没有关于他们使用cassandra的用途的相关报告。此外netflix 也有2500 nodes的cassandra cluster,netflix 是一家流媒体公司,使用cassandra来储存用户的访问痕迹,以及log数据,能够处理10M transactions/s的并发量。netflix在cassandra的实践过程中,遇到过很多的坑,也诞生了很多优秀的解决方案,他们都通过blog,code等方式开源了一部分出来。是后续cassandra学习者不可多得的参考资料。

国内cassandra最早的实践者应该是360,用在搜索存储业务上,超过了1000Nodes.然后还有宜搜一家创业公司,做手机端的搜索,规模也有250Nodes.

学习资源

中文

Cassandra3.x 官方文档翻译:

https://www.gitbook.com/book/fs1360472174/cassandra-document/details

Cassandra 博客专栏:http://blog.csdn.net/column/details/cassandra.html

英文

下载: http://cassandra.apache.org/download/

源码: https://github.com/apache/cassandra

JIRA: https://issues.apache.org/jira/browse/CASSANDRA

分享博客: http://www.planetcassandra.org/blog/

会议: http://www.planetcassandra.org/join-your-local-meetup/

客户端Driver: https://github.com/datastax

可视化工具:Dbeaver Enterprise 4.0.5以及之前版本免费

https://dbeaver.jkiss.org/files/4.0.5/

DevCenter:https://academy.datastax.com/quick-downloads#devCenter

使用Cassandra的公司: http://www.planetcassandra.org/companies/

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180201G1GHTM00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券