Cassandra1.2文档学习(1)——Cassandra基本说明

时间:2022-06-29 04:49:27

参考文档:http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/architecture/architectureIntro_c.html

  Cassandra是一个Nosql数据库,是用来通过多节点来处理大数据的,并且没有单点故障。也就说,即使一个节点坏了整个系统仍然能够正常运行。Cassandra架构的前提或者说在设计架构的时候就考虑到系统故障和者硬件故障是可能发生的。为了处理这个问题,Cassandra使用了一个点对点的分布式系统,每个节点都是一样的,数据分布在集群各个节点中,具体数据备份在几个节点中,这跟hdfs一样,跟设置有关。

  Cassandra是一个面向行的数据库。允许认证过的用户连接到任意节点,同时使用CQL语言获取数据。如果我没有记错的话,CQL语言是在Cassandra1.0之后才出现的,之前采用的是给定的一套api。从本质上讲,因为Cassandra是非结构化数据库,因此CQL只是模仿了SQL的语法。开发者可以通过cqlsh(cql语言终端,类似于mysql的客户端)或者各种驱动(已经有好多语言了,java/c#/node.js/go/python等等)连接到数据库并进行数据查询。

  客户端可以连接任意节点进行数据的读取,当连接到某一节点时,那个节点就作为协调者(协调者的工作是充当客户端应用和存储实际请求数据的节点之间的代理)。根据集群的设置,这个协调者就会决定在环上哪个节点应该获得数据请求。