Cassandra、DataStax与文档数据库特性解析
1. Cassandra与DataStax概述
Cassandra是领先的NoSQL Bigtable克隆数据库,其受欢迎的原因在于速度快,拥有类似SQL的查询语言,还融合了Dynamo和Bigtable论文中的先进技术。DataStax是为Cassandra开源Bigtable克隆数据库提供支持和企业扩展的主要商业公司,是全球最大的NoSQL公司之一,在2014年9月获得超过1.06亿美元的投资者资金,2013年年中获得8400万美元。
2. Cassandra的设计与特性
2.1 现代Bigtable设计
Cassandra设计团队借鉴了亚马逊Dynamo论文中键值存储设计和谷歌Bigtable论文中宽列存储(也称为可扩展记录存储)设计的优点。因此,Cassandra提供了高速的数据键访问,同时具备灵活的列、无模式和无连接的宽列存储。熟悉关系数据库管理系统中结构化查询语言(SQL)的开发者会对Cassandra查询语言(CQL)感到熟悉。
2.2 集群特性
Cassandra的一个独特特性是,单个Cassandra服务器环(集群)可以分布在不同的服务器、服务器机架和地理上分散的数据中心。Cassandra会自动跨这些边界管理最终一致的异步数据副本。不同的数据中心甚至可以为每个数据集设置不同数量的副本,这对于不同规模的站点很有用。不过,将集群扩展三分之一的容量需要考虑其在环中的位置以及添加容量对自动管理副本的影响。可以使用Gossiping Property File Snitch来配置Cassandra的物理架构,这是一个定义服务器所在机架和数据中