📅  最后修改于: 2023-12-03 14:59:20.133000             🧑  作者: Mango
Apache Cassandra 是一个高度可扩展、高度可用的开源分布式 NoSQL 数据库系统。它最初由 Facebook 开发,现在由 Apache 软件基金会管理。
Cassandra 具有可伸缩性和容错性,其中包含数百或数千节点的分布式架构,数据分片功能和无中心点的架构。此外,Cassandra 支持多个数据中心,有助于提高故障转移和减少延迟。
Cassandra 是一个分布式的数据库系统,所有的数据和查询请求都被分散存储和处理在多个节点上。Cassandra 的架构和设计理念的核心在于节点的概念。
一个 Cassandra 集群由一组互相协作的节点组成。 每个节点都有相同的权利,而且都能响应客户端访问请求。一个 Cassandra 集群通常分为多个数据中心,Cassandra 集群中的每个节点都归属于一个数据中心。
Cassandra 节点可以分为不同类型:
Seed 节点是 Cassandra 群集的一个重要概念。它是数据库集群的起点,并充当在节点通信时用于启动新节点加入的引导程序。它的角色是确定初始的均匀哈希环,并为各个数据中心之间的节点通信提供路由。
Coordinator 节点是 Cassandra 群集中一种特殊类型的节点,该节点的目标是接收客户端的请求,并将请求路由到包含所需数据的其他节点。Coordinator 节点通常是通过解析客户端发起的请求以找到带有所需数据的节点,并负责将请求发送到该节点。
Replica 节点是存储具有相同数据的副本的节点。每次写入或更改数据时,将在一个或多个 Replica 节点上进行操作。因此,Cassandra 能够在各个容错点上存储相同的数据,从而提供更好的容错性和可用性 。
Cassandra 集群中所有的节点彼此平等,各个节点都能够相互通信。Seed 节点是 Cassandra 群集的起点,Coordinator 节点负责接收客户端请求,并将请求路由到 Replica 节点上。 Replica 节点负责存储数据的副本和具有相同数据的节点。这些节点类型的不同,构建了 Cassandra 集群中节点的完整体系结构,从而实现了数据的高可用性和高可扩展性。