本文已迁移到我的新博客地址:blog.favorstack.io 欢迎访问~
本文主要翻译自Datastax公司的在线文档,Cassandra版本为2.1。由于水平有限,翻译不当之处还请大家指正。
Apache Cassandra™是一个大规模可扩展的开源NoSQL数据库。Cassandra非常适合管理跨多个数据中心和云存储的大量结构化、半结构化和非结构化的数据。Cassandra在多个商用服务器之间提供持续可用,线性扩展,操作简单,并且无单节点故障。同时提供了一个强大的动态数据模型,设计用于最大灵活性和快速响应时间。
Cassandra是如何工作的
Cassandra的可扩展架构意味着它能处理PB级的信息和每秒数以千计的并发用户/操作。
Cassandra是基于行分区存储的数据库 |
Cassandra的架构允许任何授权的用户连接到任意数据中心的任意节点,并可以使用CQL来访问数据。简单起见,CQL使用类SQL语法。与Cassandra交互最基本的方式是使用CQL shell,cqlsh。通过cqlsh,你可以创建keyspace和表(列族),往表中插入或查询数据等等。如果你更倾向于使用图形化的工具,可以使用DataStax DevCenter。对于产品,DataStax提供了大量的驱动,以便CQL语句能在客户端和集群之间传送。其他管理任务可以通过OpsCenter来完成。 |
数据自动分发 |
Cassandra提供节点间数据自动分发的功能,这些节点可以在一个环上,或者一个数据中心中。开发者或管理员不需要为分发数据编写任何代码。因为数据在节点间的分发是透明的。 |
内建副本并可自定义 |
Cassandra还提供了内建副本并可自定义,即在Cassandra环中的节点间存储数据的冗余拷贝。这意味着,如果集群中任意节点宕掉,该节点上的数据的一份或多份拷贝在集群中其他节点上还是可用的。副本可配置工作于一个数据中心中,或多个数据中心,甚至多个云存储区域。 |
Cassandra提供线性扩展
扫描二维码关注公众号,回复:
5565137 查看本文章
|
Cassandra支持线性扩展,这意味着只需通过简单添加新的节点就可以轻松地扩展容量。比如,如果2个节点每秒能处理100000个事务,4个节点就能处理200000个事务/每秒,8个节点就能处理400000个事务/每秒。 (该图片引自DataStax Cassandra2.1文档) |
CQL
Cassandra Query Language(CQL)是Cassandra数据库默认的也是主要的接口。使用CQL和使用SQL是类似的。对于由列和行构成的表,CQL和SQL使用相同的概念,主要的不同是,Cassandra不支持连接查询和子查询。Cassandra强调通过CQL特性反范式化,像schema级别的集合和聚集。
CQL是访问Cassandra推荐的方式。性能和阅读与使用CQL的简单性是新的Cassandra相较于老的Cassandra API的优势。
CQL文档中包含了数据模型章节,示例,和参考命令等,还包含了在命令行使用CQL进行交互的cqlsh小工具。
原文地址:http://docs.datastax.com/en/cassandra/2.1/cassandra/gettingStartedCassandraIntro.html