首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么System.paxos在成长,如何减少它?

为什么System.paxos在成长,如何减少它?
EN

Stack Overflow用户
提问于 2017-06-17 10:20:42
回答 1查看 801关注 0票数 0

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

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

这个表会以同样的方式增长吗?如果是的话,如何减少它,或者也许截断它是安全的?

代码语言:javascript
复制
System.paxos::::
Table: paxos
                Space used (live): 2144801786
                Space used (total): 2144801786
Exdata.data::::
Table: trnsfr
                Space used (live): 1742847712
                Space used (total): 1742847712
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-17 13:57:22

system.paxos Cassandra使用表来处理轻量级事务(IF子句i.e )

具有线性一致性的轻量级事务确保事务隔离级别类似于RDBMS提供的可序列化级别。 Cassandra通过扩展基于仲裁算法的Paxos协商一致协议来实现轻量级事务。使用该协议,分布式系统可以在不需要主数据库或两阶段提交的情况下就提议的数据添加/修改达成一致。

如果在CQL语句(如INSERT )中使用IF子句,则将视为轻量级事务.。

例如:

代码语言:javascript
复制
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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44603407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档