Datastax文档Apache Cassandra v2.1 第一部分 关于Apache Cassandra和CQL

本文已迁移到我的新博客地址: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提供线性扩展

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

本文已迁移到我的新博客地址:blog.favorstack.io 欢迎访问~

猜你喜欢

转载自blog.csdn.net/pzoozq/article/details/48654515