Cassandra 是不是是一个很好的候选数据库,因为它必须每秒支持超过 100 次读/写操作?

Posted

技术标签:

【中文标题】Cassandra 是不是是一个很好的候选数据库,因为它必须每秒支持超过 100 次读/写操作?【英文标题】:Is Cassandra a good candidate database for that must sustain over 100 read/write operations per second?Cassandra 是否是一个很好的候选数据库,因为它必须每秒支持超过 100 次读/写操作? 【发布时间】:2013-05-13 17:45:21 【问题描述】:

目前我们的系统使用 PostgreSQL,但是我们似乎已经突破了它的能力极限。我们的一些表需要每秒处理超过 100 次读/写操作,因此可能是时候在多台机器上水平扩展了。

有很多使用 GAE 的 Big Table 的经验。 Big Table 有丰富的查询选项。例如,可以对列表数据字段进行查询。 Cassandra 应该是基于 Big Table 的,但如果我理解正确的话,对于 Cassandra,我们实际上必须在 Cassandra 之上自定义编码一个使用和维护索引表的层。

如果有一个可用的开源数据库,我们不必为维护索引表、之字形合并连接等构建自己的自定义逻辑,那就太好了...

Cassandra 是这里的好人选吗?或者有没有可能被认为更好的?

【问题讨论】:

【参考方案1】:

除非操作是巨大的连接或返回数十万行,否则您选择的任何数据库都将能够维持 100 ops/s。 Cassandra 在为每个节点提供数千甚至数万次读取和写入时不会有任何问题。

如果不了解您的特定用例的更多信息,就不可能为您提供有意义的建议。 Cassandra 是一个很棒的数据库,但我不知道它是否适合你。我建议在 Stack Overflow 上查看 cassandra 标签,看看人们问什么,它是否看起来像你想要做的,如果答案说 Cassandra 是可能的(我知道我已经回答了很多问题,其中的答案是 Cassandra 不是该特定案例的最佳选择)。

Cassandra 和 GAE Big Table 有很大的相似之处,但也有很大的不同。让 Cassandra 新用户感到困惑的一件事是,实际上没有任何方法可以执行诸如“仅添加此内容,除非存在其他内容”或“添加一个项目并删除除最后 N 个项目之外的所有项目”之类的事情。

【讨论】:

以上是关于Cassandra 是不是是一个很好的候选数据库,因为它必须每秒支持超过 100 次读/写操作?的主要内容,如果未能解决你的问题,请参考以下文章

因一个 Bug,Cassandra 4.0 暂停发布

Solr与Cassandra二级缓存实践

因一个 Bug,Cassandra 4.0 暂停发布

多节点cassandra集群真的很慢

号称十倍性能于Cassandra的ScyllaDB,究竟祭出了哪些技术"利器"?

哪些列通常可以制作好的索引?