数据库如何在Kubernetes中的持久卷之间同步数据

数据库如何在Kubernetes中的持久卷之间同步数据,kubernetes,cassandra,Kubernetes,Cassandra,我刚刚阅读了Kubernetes文档中关于部署Cassandra和有状态集的主题。 部署过程: 1.创建StorageClass 2.在我的案例4 PersistentVolume中创建PersistentVolume。在1 storageClassName中创建的集合 3.创建卡桑德拉无头服务 4.使用StatefulSet在StatefulSet yml定义的1 storageClassName中创建Cassandra环设置 因此,共有4个吊舱:Cassandra-0、Cassandra-1

我刚刚阅读了Kubernetes文档中关于部署Cassandra和有状态集的主题。 部署过程: 1.创建StorageClass 2.在我的案例4 PersistentVolume中创建PersistentVolume。在1 storageClassName中创建的集合 3.创建卡桑德拉无头服务 4.使用StatefulSet在StatefulSet yml定义的1 storageClassName中创建Cassandra环设置

因此,共有4个吊舱:Cassandra-0、Cassandra-1、Cassandra-2、Cassandra-4,这些吊舱安装在两个卷pv-0、pv-1、pv-2、pv-3中。 我想知道这些持久卷如何/是否彼此同步数据


例如,如果我添加了一些记录,这些记录将由pod cassandra-0在持久卷pv-0中写入,那么如果稍后要从数据库检索数据的人使用cassandra-1 pod/pv将看到已添加到pv-0的数据。有人能告诉我它到底是如何工作的吗?

如果它部署在kubernetes或裸机实例中,跨集群传播数据的机制是独立的。Cassandra将根据一个名为token的散列值,尝试在节点间随机分布数据,并将使用相同的算法检索信息

还有其他因素需要考虑:复制因素拷贝数量和使用的一致性级别


您可能想看看ApacheCassandra的DS201:DataStax企业基础™ 在中,他们介绍了Cassandra的基本知识。

如果在kubernetes或裸机实例中部署数据,则跨集群传播数据的机制是独立的。Cassandra将根据一个名为token的散列值,尝试在节点间随机分布数据,并将使用相同的算法检索信息

还有其他因素需要考虑:复制因素拷贝数量和使用的一致性级别


您可能想看看ApacheCassandra的DS201:DataStax企业基础™ 在这本书中,他们介绍了卡桑德拉的基础知识。

只是稍微扩展一下卡洛斯的回答,库伯内特斯没有参与其中,书中的内容是完全孤立的。复制和分发工作完全由数据库软件来处理。在K8s看来,它们只是独立的过程和独立的卷。

只是稍微扩展一下Carlos的回答,Kubernetes没有参与,卷是完全隔离的。复制和分发工作完全由数据库软件来处理。在K8s看来,它们只是单独的进程和卷

这与库伯内特斯无关

复制由数据库完成,并且是可配置的

参见卡桑德拉的CAP定理和最终一致性

您可以控制Cassandra中的一致性级别,记录是立即更新还是稍后更新,这取决于您在Cassandra中所做的配置

另请参见:同步复制、异步复制

卡桑德拉一致性:

这与库伯内特斯无关

复制由数据库完成,并且是可配置的

参见卡桑德拉的CAP定理和最终一致性

您可以控制Cassandra中的一致性级别,记录是立即更新还是稍后更新,这取决于您在Cassandra中所做的配置

另请参见:同步复制、异步复制

卡桑德拉一致性:

谢谢大家的评论! 因此,当我的db有3个PV时:

cassandra-pod0  cassandra-pod1 cassandra-pod2
     |                 |             |
cassandra-pv0   cassandra-pv0   cassandra-pv0 
数据分为3个PV。当我杀死cassandra-pod1时,可能会暂时丢失部分数据。我说得对吗?

谢谢大家的评论! 因此,当我的db有3个PV时:

cassandra-pod0  cassandra-pod1 cassandra-pod2
     |                 |             |
cassandra-pv0   cassandra-pv0   cassandra-pv0 

数据分为3个PV。当我杀死cassandra-pod1时,可能会暂时丢失部分数据。我说得对吗?

这将取决于表的复制系数和读写的一致性级别。在所建议的情况下,如果您有3个副本的复制因子和一致性级别的仲裁,则在关闭一个节点的情况下可以完成查询。这将取决于表的复制因子和读写的一致性级别。在所建议的情况下,如果您有3个副本的复制系数和一致性级别的仲裁,则查询将能够在一个节点关闭时完成。