我是卡桑德拉的新手,我们已经开始使用它了。听起来不错。
发现System中的表System比我们的数据占用更多的空间。我们将把我们所有的数据从SQL传输到Cassandra,这将是大约2TB。
这个表会以同样的方式增长吗?如果是的话,如何减少它,或者也许截断它是安全的?
System.paxos::::
Table: paxos
Space used (live): 2144801786
Space used (total): 2144801786
Exdata.data::::
Table: trnsfr
Space used (live): 1742847712
Space used (total): 1742847712发布于 2017-06-17 13:57:22
system.paxos Cassandra使用表来处理轻量级事务(IF子句i.e )
具有线性一致性的轻量级事务确保事务隔离级别类似于RDBMS提供的可序列化级别。 Cassandra通过扩展基于仲裁算法的Paxos协商一致协议来实现轻量级事务。使用该协议,分布式系统可以在不需要主数据库或两阶段提交的情况下就提议的数据添加/修改达成一致。
如果在CQL语句(如INSERT )中使用IF子句,则将视为轻量级事务.。
例如:
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.paxos表。
注:Paxos确保线性一致性,以四次往返为代价。这听起来像一个高成本--也许太高了,如果你有一个应用程序的罕见情况,要求每一个操作都是线性化的。但是对于大多数应用程序来说,只有极少数的操作需要线性化,这是一个很好的工具,可以增加它们迄今提供的强大的/最终的一致性。
资料来源:
https://www.datastax.com/dev/blog/lightweight-transactions-in-cassandra-2-0 c.html
https://stackoverflow.com/questions/44603407
复制相似问题