Cassandra System.paxos为什么会成长?如何减少它?

Cassandra System.paxos为什么会成长?如何减少它?,cassandra,Cassandra,我是卡桑德拉的新手,我们已经开始使用它了。听起来不错 发现System中的表paxos使用的空间比我们的数据多。我们将把所有数据从SQL传输到Cassandra,这将大约是2 TB 这个表是否会以同样的方式增长?如果是,如何减少它,或者是否可以安全地截断它 System.paxos:::: Table: paxos Space used (live): 2144801786 Space used (total): 214480178

我是卡桑德拉的新手,我们已经开始使用它了。听起来不错

发现
System
中的表
paxos
使用的空间比我们的数据多。我们将把所有数据从SQL传输到Cassandra,这将大约是2 TB

这个表是否会以同样的方式增长?如果是,如何减少它,或者是否可以安全地截断它

System.paxos::::
Table: paxos
                Space used (live): 2144801786
                Space used (total): 2144801786
Exdata.data::::
Table: trnsfr
                Space used (live): 1742847712
                Space used (total): 1742847712

Cassandra使用
system.paxos
表进行轻量级事务(IF子句,即
IF不存在

具有线性一致性的轻量级事务确保事务隔离级别类似于RDBMS提供的可序列化级别。它们也称为比较和设置事务

Cassandra通过扩展基于仲裁算法的Paxos共识协议实现轻量级事务。使用此协议,分布式系统可以在不需要主数据库或两阶段提交的情况下就拟议的数据添加/修改达成一致

<强>如果在CQL语句中使用IF子句,则将INSERT视为轻量级事务。< /强>

例如:

INSERT INTO customer_account (customerID, customer_email) 
VALUES ('LauraS', 'lauras@gmail.com')
IF NOT EXISTS;

//or

UPDATE customer_account
SET    customer_email='laurass@gmail.com'
IF     customerID='LauraS'; 
以上两个语句都是轻量级事务。对于这两种语句,Cassandra使用Paxos共识协议确保线性化一致性。它在内部使用system
system.paxos

注:Paxos以四次往返为代价确保可线性化的一致性。这听起来像是一个高成本,也许太高了,如果你有一个罕见的应用程序,要求每个操作都是线性的。但对于大多数应用程序,只有极少数操作需要线性化,这是一个很好的工具,可以增强它们迄今为止提供的强/最终一致性。

来源:

Ashraful,非常感谢您的完整回答。但有可能截断它吗?关于EVGENY,当没有轻量级事务运行时,可以截断表