Cassandr 3.x官方文档_关于Apache Cassandra

 2016 811


关于Apache Cassandra

关于这个文档

欢迎来到由DataStax提供的cassandra文档。为了保证你在使用这份文档时获得最好的体验,先花一些时间看一看DataStax文档的使用建议。

 

登录页面提供了一些支持的平台,产品兼容性,规划和测试集群部署,推荐的生产配置,故障排除,第三方软件,额外的信息资源,管理员和开发人员的话题,和之前文档的信息。

 

ApacheCassandra概述

Apache Cassandra一个大规模可扩展的开源NoSQL数据库。Cassandra在跨多数据中心和云计算的时候,管理大量的关系型,半关系型,和非关系型数据是完美的。Cassandra在很多商业服务器之间传递持续可用性,线性扩展,和操作简易性,没有单点故障,同时为了最大的灵活性和最快的响应时间的设计,它有一个强大的动态的数据模型。

 

DataStax Distribution of Apache Cassandra3.x最新的版本是3.6

 

Cassandra如何工作的?

Cassandra的一切为了可扩展的架构意味着,它能够胜任管理PB级别的数据和每秒上千的并发用户/事务的操作。

 

Cassandra是一个分区的行存储数据库

Cassandra的架构允许任何授权的用户使用CQL语言连接数据中心的任何节点来登陆数据库。为了易用性,CQL使用了跟SQL相似的语法规则。和Cassandra交互的最基本的方法是使用CQL shell cqlsh命令。使用cqlsh,你可以创建keyspacestables,向table里插入和查询以及更多操作。这个Cassandra的发行版适用于Cassandra 2.2CQL和后来的版本。如果你想使用图形界面工具,你可以使用DataStax DevCenter.

为了生产使用,DataStax提供了一系列的驱动,使CQL表达式可以从客户端传输到集群然后返回。

数据自动分区

Cassandra提供了在所有节点之间的数据自动分区方法,然后数据加入到一个环或者数据集群里。开发者或者管理员不需要写代码来把数据分布到集群中去,因为数据是透明分区在集群的所有节点中的。

内置的和可定制的复制策略

Cassandra也提供了内置的和可定制的复制策略,在多个节点上保存着冗余的备份,并且加入到Cassandra环中。这意味着如果集群中的任何节点挂掉,在集群中的其他机器上还有一份或者多份节点的可用数据备份。备份策略可以配置成一个数据中心,多个数据中心,和多个云可用区域。

Cassandra可线性扩展

Cassandra提供了线性可扩展,意味着存储空间可以简单的通过在线添加新节点来增加容量。举个例子,如果2个节点可以处理每秒100,000个事务,那么4个节点可以支持每秒200,000个事务,8个节点可以解决每秒400,000个事务。

 

 



Cassandra与关系型数据库有什么不同?

Cassandra从根本上就被设计成一个点对点通信的分布式数据库。As a bestpractice, queries should be one per table数据规范化使这个成为了可能。由于这个原因,表之间的joins这个概念不存在,虽然如此,客户端的joins仍然可以在应用中使用。

 

NoSQL是什么?

最普遍的翻译是“不仅仅是SQL”,意思是,这种数据库使用一种和关系型数据库不同的存储方式。

有很多种不同类型的NoSQL数据库,因此即使是最常用的类型的直接比较都是没有用的。今天的数据库管理员必须要polyglot-friendly,意思是说,他们必须要懂得如何使用多种不同类型的关系型数据管理系统和NoSQL数据库。

 

什么是CQL?

Cassandra 查询语言(CQL)是进入Cassandra数据库管理系统的主要接口。使用CQL跟使用SQL(结构化查询语言)很类似。CQLSQL共享相同的抽象概念表,都是由列和行组成的。和SQL最主要的不同点是,Cassandra不支持joins操作和子查询。相反的,通过在schema级别的CQL的特性例如集合和集群可以看出,Cassandra强调的是反范式。

 

推荐使用CQLCassandra进行交互。更好的性能,阅读的简单,和使用CQL是现代的Cassandrad相对于旧版的Cassandra API的优势。

 

CQL文档包含一个数据建模的题目,例子,和命令参考。

 

我该如何和Cassandra交互?

最基本的和Cassandra交互的方法就是使用CQL shellcqlsh命令。使用cqlsh,你可以创建keyspacetablestable里插入和查询以及更多操作。如果你想使用图形界面工具,你可以使用DataStax DevCenter为了生产使用,DataStax提供了一系列的驱动,使CQL表达式可以从客户端传输到集群然后返回。

 

我该如何把数据从Cassandra移入/移出?

数据使用CQL INSERT命令插入,CQL COPY命令和CSV文件,或者sstableloader但是实际上,首先你必须考虑到你的客户端程序将会如何查询表,然后再做数据建模。在关系型和非关系型数据库之间的模式的不同,导致直接把数据从关系型数据库转移到Cassandra会注定失败。

 

Cassandra还有哪些其他的工具?

Cassandra自动安装了nodetool,一个很有用的Cassandra命令行管理工具。同时也默认安装了压力负载和基准测试的工具,cassandra-stress

 

运行Cassandra我需要什么样的硬件/云环境?

Cassandra被设计成可以在普通规格的商品硬件上面运行。在云端,Cassandra能够适应大多数普通的环境。


译者注:本篇文章来源于datastax cassandra的官方文档的第一章,由于最近在学习cassandra数据库,而且公司也刚刚使用cassandra数据库,所以有很多东西还不太了解,有的地方翻译的比较生硬。本人还保留了好几本关于cassandra的英文书籍,由于平时比较懒,不太愿意看英文原版的书籍,因此借这个机会,强迫自己把它们读完,后面会陆陆续续,尽自己最大能力把它们翻译出来,也算是给自己一个交代。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值