Cassandra 架构2025年3月17日 | 阅读 3 分钟 Cassandra 的设计目的是在没有单点故障的情况下处理跨多个节点的大数据工作负载。它在其节点之间有一个对等分布式系统,数据分布在集群中的所有节点之间。
Cassandra 中的数据复制在 Cassandra 中,集群中的节点充当给定数据的副本。如果某些节点以过时的值响应,Cassandra 将向客户端返回最新值。在返回最新值后,Cassandra 在后台执行读取修复以更新陈旧值。 请参阅下图以了解 Cassandra 如何使用数据复制在集群中的节点之间确保没有单点故障的示意图。 ![]() Cassandra 的组成部分Cassandra 的主要组成部分是
Cassandra 查询语言Cassandra 查询语言 (CQL) 用于通过其节点访问 Cassandra。CQL 将数据库 (Keyspace) 视为表的容器。程序员使用 cqlsh:一个提示符来使用 CQL 或单独的应用程序语言驱动程序。 客户端可以访问任何节点以进行读写操作。该节点(协调器)充当客户端和保存数据的节点之间的代理。 写操作节点的每个写活动都由写入节点的提交日志捕获。稍后,数据将被捕获并存储在 mem-table 中。每当 mem-table 满时,数据将被写入 SStable 数据文件。所有写入都会自动在整个集群中进行分区和复制。Cassandra 会定期整合 SSTables,丢弃不必要的数据。 ![]() 读操作在读操作中,Cassandra 从 mem-table 获取值,并检查布隆过滤器以找到包含所需数据的适当 SSTable。 协调器向副本发送三种类型的读取请求。
协调器向其中一个副本发送直接请求。之后,协调器将摘要请求发送给一致性级别指定的副本数量,并检查返回的数据是否为更新后的数据。 之后,协调器将摘要请求发送给所有剩余的副本。如果任何节点给出了过时的值,则后台读取修复请求将更新该数据。此过程称为读取修复机制。 ![]() |
我们请求您订阅我们的新闻通讯以获取最新更新。