在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Cassandra的设计目的是处理跨多个节点的大数据工作负载,而没有任何单点故障。Cassandra在其节点之间具有对等分布式系统,并且数据分布在集群中的所有节点之间。
Cassandra中的数据复制在Cassandra中,集群中的一个或多个节点充当给定数据片段的副本。如果检测到一些节点以过期值响应,Cassandra将向客户端返回最近的值。返回最新的值后,Cassandra在后台执行读修复以更新失效值。 下图显示了Cassandra如何在集群中的节点之间使用数据复制,以确保没有单点故障的示意图。 注 - Cassandra在后台使用Gossip协议,允许节点相互通信并检测集群中的任何故障节点。 Cassandra的组件Cassandra的关键组件如下:
Cassandra 查询语言用户可以使用Cassandra查询语言(CQL)通过其节点访问Cassandra。CQL将数据库(Keyspace)视为表的容器。 程序员使用cqlsh:提示以使用CQL或单独的应用程序语言驱动程序。 客户端针对其读写操作访问任何节点。该节点(协调器)在客户端和保存数据的节点之间播放代理。 写操作节点的每个写入活动都由写在节点中的提交日志捕获。稍后数据将被捕获并存储在存储器表中。每当内存表满时,数据将写入SStable数据文件。所有写入都会在整个集群中自动分区和复制。Cassandra会定期整合SSTables,丢弃不必要的数据。读操作在读操作,Cassandra 从MEM-表得到的值,并检查过滤器以找到保存所需数据的相应的SSTable。 |
请发表评论