赞
踩
Apache Cassandra是一个高度可扩展的高性能分布式数据库,用于处理大量商用服务器上的大量数据,提供高可用性,无单点故障。这是一种NoSQL类型的数据库。无单点故障。
单点故障:是指系统中一点失效,就会让整个系统无法运作的部件,换句话说,单点故障即会整体故障。
NoSQL 数据库:提供一种机制来存储和检索数据,而不是关系数据库中使用的表格关系。这些数据库是无架构的,支持简单的复制,具有简单的API,最终一致,并且可以处理大量的数据。
弹性可扩展性:允许添加更多的硬件以适应更多的客户和更多的数据根据要求。
始终基于架构:没有单点故障,它可以连续用于不能承担故障的关键业务应用程序。
快速线性性能:增加集群中的节点数量增加你的吞吐量。因此,保持一个快速的响应时间。
灵活的数据存储:包括:结构化,半结构化和非结构化。它可以根据您的需要动态地适应变化的数据结构。
便捷的数据分发:通过在多个数据中心之间复制数据,可以灵活地在需要时分发数据。
事务支持:支持属性,如原子性,一致性,隔离和持久性(ACID)。
快速写入
设计目的是处理跨多个节点的大数据工作负载,而没有任何单点故障。Cassandra在其节点之间具有对等分布式系统,并且数据分布在集群中的所有节点之间。
节点:存储数据的地方。
数据中心:相关节点的集合。
集群:包含一个或多个数据中心的组件。
提交日志:崩溃恢复机制。每个写操作都写入提交日志。
Mem-表:是存储器驻留的数据结构。提交日志后,数据将被写入mem表。有时,对于单列族,将有多个mem表。
SSTable:磁盘文件,当其内容达到阈值时,数据从mem表中刷新。
布隆过滤器:这些只是快速,非确定性的算法,用于测试元素是否是集合的成员。它是一种特殊的缓存。 每次查询后访问Bloom过滤器。
节点的每个写入活动都由写在节点中的提交日志捕获。稍后数据将被捕获并存储在存储器表中。每当内存表满时,数据将写入SStable数据文件。所有写入都会在整个集群中自动分区和复制。Cassandra会定期整合SSTables,丢弃不必要的数据。
在读操作,Cassandra 从MEM-表得到的值,并检查过滤器以找到保存所需数据的相应的SSTable。
集群(Cluster):Cassandra 数据库分布在几个一起操作的机器上。最外层容器被称为群集。对于故障处理,每个节点包含一个副本,如果发生故障,副本将复制。Cassandra 按照环形格式将节点排列在集群中,并为它们分配数据。
键空间 (Keyspace):
键空间是 Cassandra 中数据的最外层容器。Cassandra 中的一个键空间的基本属性是:
CREATE KEYSPACE Keyspace name
WITH replication = {'class': 'SimpleStrategy', 'replication_factor' : 3};
列族:
列族是有序收集行的容器。每一行又是一个有序的列集合。
列族具有以下属性:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。