Cassandra的设计目的是处理跨多个节点的大数据工作负载,而没有任何单点故障
Cassandra中的数据复制:
集群中的一个或多个节点充当给定数据片段的副本。如果检测到一些节点以过期值响应,Cassandra将向客户端返回最近的值。返回最新的值后,Cassandra在后台执行读修复以更新失效值。
Cassandra在后台使用Gossip协议,允许节点相互通信并检测集群中的任何故障节点。
Cassandra的组件
节点 - 它是存储数据的地方。
数据中心 - 它是相关节点的集合。
集群 - 集群是包含一个或多个数据中心的组件。
提交日志 - 提交日志是Cassandra中的崩溃恢复机制。每个写 *** 作都写入提交日志。
Mem-表 - mem-表是存储器驻留的数据结构。提交日志后,数据将被写入mem表。有时,对于单列族,将有多个mem表。
SSTable - 它是一个磁盘文件,当其内容达到阈值时,数据从mem表中刷新。
布隆过滤器 - 这些只是快速,非确定性的算法,用于测试元素是否是集合的成员。它是一种特殊的缓存。 每次查询后访问Bloom过滤器
Cassandra 查询语言
用户可以使用Cassandra查询语言(CQL)通过其节点访问Cassandra。CQL将数据库(Keyspace)视为表的容器
Cassandra 数据模型 集群(Cluster)Cassandra 数据库分布在几个一起 *** 作的机器上。最外层容器被称为群集。对于故障处理,每个节点包含一个副本,如果发生故障,副本将复制。Cassandra 按照环形格式将节点排列在集群中,并为它们分配数据。
键空间 (Keyspace)键空间是 Cassandra 中数据的最外层容器。Cassandra 中的一个键空间的基本属性是 -
复制因子 - 它是集群中将接收相同数据副本的计算机数。
副本放置策略 - 它只是把副本放在介质中的策略。我们有简单策略(机架感知策略),旧网络拓扑策略(机架感知策略)和网络拓扑策略(数据中心共享策略)等策略。
列族 - 键空间是一个或多个列族的列表的容器。列族又是一个行集合的容器。每行包含有序列。列族表示数据的结构。每个键空间至少有一个,通常是许多列族。
CREATE KEYSPACE Keyspace name WITH replication = {'class': 'SimpleStrategy', 'replication_factor' : 3};列族
列族是有序收集行的容器。每一行又是一个有序的列集合。下表列出了区分列系列和关系数据库表的要点。
关系模型中的模式是固定的。 一旦为表定义了某些列,在插入数据时,在每一行中,所有列必须至少填充一个空值。
在 Cassandra 中,虽然定义了列族,但列不是。 您可以随时向任何列族自由添加任何列。
Cassandra 列族具有以下属性 -
keys_cached - 它表示每个 SSTable 保持缓存的位置数。
rows_cached - 它表示其整个内容将在内存中缓存的行数。
preload_row_cache -它指定是否要预先填充行缓存。
列是 Cassandra 的基本数据结构,具有三个值,即键或列名称,值和时间戳。下面给出了列的结构
Cassandra 和 RDBMS 的数据模型
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)