3

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

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

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

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

4

1 回答 1

5

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

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

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

于 2013-05-13T18:49:27.917 回答