Apache Cassandra 3 存储系统
Apache Cassandra 3 存储系统是一套开源分布式 Key-Value 存储系统。它最初由 Facebook 开发,用于存储特别大的数据。
主要特性
1. 分布式
Cassandra 的主要特点在于它不是一个单一的数据库,而是一组数据库节点共同构成的分布式网络服务。对 Cassandra 的写操作会被复制到其他节点,而读操作则会路由到某个特定节点进行读取。
2. 基于列的结构化
Cassandra 使用基于列的数据模型,类似于 Google 的 BigTable。这种模型允许用户根据需要存储和查询数据,而不必事先定义整个数据结构。
3. 高伸展性
Cassandra 的伸展性很高,可以轻松地添加节点来扩展群集的容量,无需重启任何进程、更改应用程序查询或手动迁移数据。
Cassandra 的特点与其他数据库的比较
Cassandra 是一种混合型的非关系型数据库,与 Google 的 BigTable 类似,其功能比 Dynomite(分布式 Key-Value 存储系统)更加丰富,但支持度却不如文档存储 MongoDB(介于关系型数据库和非关系型数据库之间的开源产品,是非关系型数据库中功能最丰富,最像关系型数据库的。支持的数据结构非常松散,是类似 json 的 bjson 格式,因此可以存储比较复杂的数据类型)。
Cassandra 最初由 Facebook 开发,后来成为开源项目。它非常适合网络社交云计算方面的数据库需求。以 Amazon 专有的完全分布式的 Dynamo 为基础,结合了 Google BigTable 基于列族(Column Family)的数据模型。P2P 去中心化的存储,在很多方面可以称之为 Dynamo 2.0。
与其他数据库相比,Cassandra 有以下几个突出特点:
1. 模式灵活:使用 Cassandra,就像文档存储一样,您不必事先确定记录中的字段。您可以在系统运行时随意添加或删除字段。这在大型部署中是一个极大的效率提升。
2. 真正的可扩展性:Cassandra 是纯粹意义上的水平扩展。要为集群添加更多容量,只需要指向另一台计算机即可。您无需重启任何进程、更改应用程序查询或手动迁移任何数据。
3. 多数据中心识别:您可以调整节点布局以避免某个数据中心出现故障。备用数据中心将至少包含每条记录的完整副本,确保数据安全。
其他功能
除了上述主要特点之外,Cassandra 还提供了一些其他功能:
1. 范围查询:如果您不想执行全部键值查询,则可以设置键的范围来进行查询。
2. 列表数据结构:在混合模式下,可以将超级列添加到五维数据结构中。这对于每个用户的索引来说非常方便。
3. 分布式写操作:Cassandra 允许您在任何地方、任何时间集中读取或写入任何数据,并且不会出现任何单点故障。
总结
Apache Cassandra 3 是一款功能强大的开源分布式 Key-Value 存储系统,它提供了高伸展性、模式灵活性和可靠性,非常适合需要存储和处理大量数据的应用程序。