Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cassandra 卡桑德拉宽行的节约还是CQL3?_Cassandra_Thrift_Cql_Cql3 - Fatal编程技术网

Cassandra 卡桑德拉宽行的节约还是CQL3?

Cassandra 卡桑德拉宽行的节约还是CQL3?,cassandra,thrift,cql,cql3,Cassandra,Thrift,Cql,Cql3,我们将使用php或java在cassandra上创建一个新项目 正如我们估计的,cassandra集群将有20K请求/秒 特别宽的列特性对于这个项目很重要,但我不能说清楚:我应该更喜欢thrift API还是像php驱动程序之类的CQL3库 有一篇帖子说“Thrift API在这方面不会有新功能”。所以我对节俭没有把握 若我决定使用cql3,我必须修改表,以确保在所有像这样的插入查询之前存在列,这将在中讨论。我认为这对我来说将是一个性能问题 那么,哪一个最适合我的情况呢?节俭是卡桑德拉的传统界面

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

正如我们估计的,cassandra集群将有20K请求/秒

特别宽的列特性对于这个项目很重要,但我不能说清楚:我应该更喜欢thrift API还是像php驱动程序之类的CQL3库

有一篇帖子说“Thrift API在这方面不会有新功能”。所以我对节俭没有把握

若我决定使用cql3,我必须修改表,以确保在所有像这样的插入查询之前存在列,这将在中讨论。我认为这对我来说将是一个性能问题


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

节俭是卡桑德拉的传统界面。所有新开发都应该使用本机CQL接口


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

Thrift是Cassandra中的遗留接口。所有新开发都应该使用本机CQL接口


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

,在本页,datastax展示了一个关于如何使用宽行的示例。他们说,如果你想用新的列名添加数据,你应该先将这个列添加到表结构中,因为博客文章看起来过时了。在CQL中,您通常会在创建表时定义所需的列,并且不会重命名它们。我认为是这样,但当尝试使用新列名添加新行时,cassandra抛出一个异常“未知标识符k1”,其中“k1”是新列名。cassandra不会以这种方式动态添加列。您应该使用create table语句中定义的列名插入行。在此页面上,datastax显示了一个关于如何使用宽行的示例。他们说,如果你想用新的列名添加数据,你应该先将这个列添加到表结构中,因为博客文章看起来过时了。在CQL中,您通常会在创建表时定义所需的列,并且不会重命名它们。我认为是这样,但当尝试使用新列名添加新行时,cassandra抛出一个异常“未知标识符k1”,其中“k1”是新列名。cassandra不会以这种方式动态添加列。应该使用CREATETABLE语句中定义的列名插入行。