Cassandra Memtable在卡桑德拉的什么地方?

Cassandra Memtable在卡桑德拉的什么地方?,cassandra,nosql,cassandra-3.0,Cassandra,Nosql,Cassandra 3.0,DataStax中提到Cassandra中每个列族有一个memtable 假设我有一个2节点的Cassandra集群,RF=2。现在,如果一个节点出现故障,那么另一个节点就在那里,我们可以从中检索数据。但有可能的情况是,在我的集群中,节点1失败,然后节点2处理数据请求,在一段时间后,节点1启动,节点2失败,然后是节点1处理请求 那么memtable在集群中的位置是什么呢?如果在节点中,则每个列族只有一个memtable的说法是不正确的。memtable是内存中的数据结构,可以为每个节点上的每个表

DataStax中提到Cassandra中每个列族有一个memtable

假设我有一个2节点的Cassandra集群,RF=2。现在,如果一个节点出现故障,那么另一个节点就在那里,我们可以从中检索数据。但有可能的情况是,在我的集群中,节点1失败,然后节点2处理数据请求,在一段时间后,节点1启动,节点2失败,然后是节点1处理请求


那么memtable在集群中的位置是什么呢?如果在节点中,则每个列族只有一个memtable的说法是不正确的。

memtable是内存中的数据结构,可以为每个节点上的每个表保留堆上或堆下

memtables定期刷新到新的sstables,这些sstables与memtable合并以进行读取。commitlog为memtable提供了耐久性,直到其刷新为止


在读操作中,根据请求的一致性级别,协调人可以执行合并来自不同副本的数据的任务。如果您的CL同时覆盖节点1和节点2,协调器将解决丢失的数据。当node1或node2发生故障或它们的突变被丢弃时,协调器将把突变存储在一个提示中,当它返回时将被传递。如果所有这些都失败,反熵修复将修复运行时的任何不一致。

memtable是内存中的数据结构,可以为每个节点上的每个表保留堆上或堆下

memtables定期刷新到新的sstables,这些sstables与memtable合并以进行读取。commitlog为memtable提供了耐久性,直到其刷新为止


在读操作中,根据请求的一致性级别,协调人可以执行合并来自不同副本的数据的任务。如果您的CL同时覆盖节点1和节点2,协调器将解决丢失的数据。当node1或node2发生故障或它们的突变被丢弃时,协调器将把突变存储在一个提示中,当它返回时将被传递。如果所有这些都失败,反熵修复将修复运行时的任何不一致。

您应该查看Cassandra写入路径以了解更多详细信息。memtable是基于单个CF的内存结构。当数据写入Cassandra时,它首先写入commitLog,然后写入memtable,然后刷新到磁盘(sstable)


阅读更多

您应该查看Cassandra写入路径以了解更多详细信息。memtable是基于单个CF的内存结构。当数据写入Cassandra时,它首先写入commitLog,然后写入memtable,然后刷新到磁盘(sstable)


阅读更多内容

因此,我从您的回答中了解到,一个列族的memtable数等于RF。是这样吗?不是。RF决定了有多少副本获得数据。memtable只在内存中存储每个副本的数据,直到被表刷新为止。出于命名目的,Table=ColumnFamily。“memtable只在内存中存储每个副本的数据,直到被表刷新为止。”这个内存位于哪里?如果它在内存中,那么多个节点(RF>1)肯定必须将memtable存储在-memroy中。此外,我所了解的是,只有一个memtable,它在副本之间共享。“这个内存位于哪里”-在JVM中,在内存堆中。“我所理解的是,只有一个memtable,它在副本之间共享。”-这是错误的。每个副本都有自己的memtable。实际上(在高层次上)唯一共享的东西是确定所有权和模式的环。因此,我从您的回答中了解到,一个列族的memtable数量等于RF。是这样吗?不是。RF决定了有多少副本获得数据。memtable只在内存中存储每个副本的数据,直到被表刷新为止。出于命名目的,Table=ColumnFamily。“memtable只在内存中存储每个副本的数据,直到被表刷新为止。”这个内存位于哪里?如果它在内存中,那么多个节点(RF>1)肯定必须将memtable存储在-memroy中。此外,我所了解的是,只有一个memtable,它在副本之间共享。“这个内存位于哪里”-在JVM中,在内存堆中。“我所理解的是,只有一个memtable,它在副本之间共享。”-这是错误的。每个副本都有自己的memtable。实际上(在高层次上)唯一共享的东西是确定所有权和模式的环。