2015-08-16 28 views
1

我們將用php或java在cassandra上創建一個新項目。用於cassandra寬行的節儉還是CQL3?

正如我們估計的那樣,cassandra集羣將有20K req/sec。

特別寬的列功能對於這個項目很重要,但我不能說清楚:我應該更喜歡thrift API還是CQL3庫,比如php-driver等?

link有一篇文章說'Thrift API不會獲得新功能'。所以我不確定節儉。

如果我決定使用cql3,我必須改變表格以確保在所有插入查詢之前存在列,這在here處討論。我認爲這對我來說會是一個性能問題。

那麼他們哪一個最適合我的情況呢?

回答

0

Thrift是Cassandra中的傳統接口。所有新開發應該使用本地CQL接口。

我不清楚爲什麼你認爲你需要經常做一個改變表。通常你會定義一個模式,很少使用alter table。

+0

http://www.datastax.com/dev/blog/does-cql-support-dynamic-columns-wide-rows,在此頁面datastax顯示了有關如何使用寬行的示例。他們說如果你想添加新列名的數據,你應該首先將該列添加到表結構 – mst

+0

該博客文章看起來過時了。在CQL中,您通常會在創建表時定義所需的列,並且不會重命名它們。 –

+0

我這麼認爲,但是當試圖用新列名添加新行時,cassandra拋出一個異常「未知標識符k1」,其中「k1」是新列名。 – mst