【问题标题】:thrift or CQL3 for cassandra wide rows?cassandra 宽行的节俭或 CQL3?
【发布时间】:2015-11-09 02:34:06
【问题描述】:

我们将在 cassandra 上使用 php 或 java 创建一个新项目。

据我们估计,cassandra 集群将有 20K 请求/秒。

特别宽的列功能对于这个项目很重要,但我不能说清楚:我应该更喜欢 thrift API 还是像 php-driver 等 CQL3 库?

link 中有一篇帖子说“Thrift API 不会获得新功能”。所以我不确定节俭。

如果我决定使用 cql3,我必须在所有类似这样的插入查询之前更改表以确保列存在,这在 here 进行了讨论。我认为这对我来说将是一个性能问题。

那么哪一个最适合我的情况?

【问题讨论】:

    标签: cassandra thrift cql cql3


    【解决方案1】:

    Thrift 是 Cassandra 中的旧版界面。所有新开发都应使用本机 CQL 接口。

    我不清楚你为什么认为你需要经常做一个改变表。通常,您会定义一次模式,并且很少使用 alter table。

    【讨论】:

    • datastax.com/dev/blog/…,在这个页面 datastax 展示了一个关于如何使用宽行的例子。他们说如果你想添加具有新列名的数据,你应该先将此列添加到表结构中
    • 那篇博客文章看起来已经过时了。在 CQL 中,您通常会在创建表时定义所需的列,而不会重命名它们。
    • 我认为是这样,但是当尝试使用新列名添加新行时,cassandra 抛出异常“未知标识符 k1”,其中“k1”是新列名。
    • Cassandra 不会以这种方式动态添加列。您应该使用您在 create table 语句中定义的列名插入行。
    猜你喜欢
    • 2013-08-25
    • 2015-10-21
    • 2013-07-13
    • 2015-10-18
    • 1970-01-01
    • 2012-12-12
    • 1970-01-01
    • 2020-05-04
    • 2016-03-09
    相关资源
    最近更新 更多