0

當我閱讀Cassandra和Data Modeling時,它說Cassandra具有基於查詢的數據建模。所以我從中明白的是,在數據庫中,我需要爲每個要執行的選擇查詢都有一個單獨的CF。這是真的? 使用Cassandra創建一個數據庫的信息需求沒有明確定義(即將來可能引入新的查詢)是否正確?Cassandra用於更改信息需求

回答

1

簡短的回答是肯定的,長的答案是,這取決於你的用例。

Cassandra的最佳實踐旨在幫助用戶實現亞毫秒級的延遲和非常高的交易量(百萬分之一秒)。爲了實現這些結果,您需要非常慎重地考慮您的數據模型。這就是說,如果你的工作量和SLA比我描述的要靈活一些,你會有一些迴旋空間。一些datastax企業集成(如搜索和分析)也將爲您提供臨時查詢的靈活性。

您可能會設計支持多個查詢的表格。但是,不要害怕數據重複,這通常是性能和c *最佳實踐的良好折衷。

您也可以使用ALTER TABLE語法修改現有的表: http://www.datastax.com/documentation/cql/3.0/cql/cql_reference/alter_table_r.html

+0

我正在開發一種語言語料庫。那麼,如果將來有可能引入一些不同的查詢呢?卡桑德拉能提供這些功能嗎?我需要爲這些人創建新表嗎? – 2014-11-06 17:01:13

+1

不知道我按照你的問題。如果您的應用程序中有新的查詢,1)您可以查看您的現有表是否可以支持新查詢,或者如果可以在不破壞現有功能的情況下進行更改,則可以適當更改它們。2)如果您使用DSE搜索或分析,可以嘗試使用DSE搜索或分析你在DSE上。 http://www.datastax.com/documentation/datastax_enterprise/4.0/datastax_enterprise/srch/srchIntro.html – phact 2014-11-06 17:19:23