2013-05-10 50 views
3

最近我注意到Cassandra和DataStax正在推動CQL3更多。一個新的java驅動程序甚至被髮布,這個完全不使用Thrift。 如果您不打算使用「緊湊型存儲」,您將無法在應用程序中使用Thrift。因此,我相信Thrift正在從Cassandra中消失。節儉,CQL3還是什麼?

我的問題是,對於一個新的應用程序,我應該去頭並使用CQL3?然而,我仍然更喜歡節儉,因爲我想知道底下發生了什麼,另一方面,我不想使用那些正在淡出併成爲遺產的東西。你有什麼建議?

回答

3

我的公司最近經歷了同樣的思維過程,最終使用CQL3而不是節儉。

儘管在CQL3中進行額外的抽象層時略有缺乏透明度,但編寫SQL樣式語句的簡易性和熟悉程度使得我的代碼更具可讀性和直觀性。另外,我們發現cqlsh接口比cassandra-cli更方便用戶調試和常規數據庫維護(自動完成是在cqlsh中的fab)。

一旦您瞭解了底層數據結構以及CQL3如何表示數據,那麼額外的抽象層實際上並不重要。

+0

有關CQL3如何真正代表我的數據的更多信息(從節儉的用戶角度)?另外,我還擔心CQL3可能會嘗試生成非常寬的行(限制爲20億),而我甚至不知道?! – Salamander 2013-05-11 22:55:05

+1

我發現這篇文章對於理解CQL3如何表示底層數據結構非常有用:http://www.datastax.com/dev/blog/thrift-to-cql3 – beterthanlife 2013-05-13 08:36:54

1

Datastax正在鼓勵開發人員將cql3用於更新的應用程序。從Thrift to CQL3 Guide

...我們相信,CQL3是卡桑德拉更簡單和更好的總體API比節儉API是。因此,鼓勵新項目/應用程序使用CQL3(儘管請記住,CQL3尚未最終確定,因此此聲明僅在Cassandra 1.2中完全有效)。但是節儉的API不會去任何地方。

節儉將不會得到新功能(除非他們要求很多),所以它是安全地說,CQL3是新的應用程序更好的選擇(當然也有例外......如果你需要低級別的你需要節儉)。我唯一的痛苦就是datastax的驅動程序還不支持SSL,但是它正在發展中,很快就會成爲一個承諾的功能。

+0

你說「如果你需要低層次你需要節儉」你的意思是什麼低層次,對不起,如果它是愚蠢的我對卡桑德拉是新的,並試圖編寫一個mapreduce從卡桑德拉讀取數據。 – Shri 2014-03-25 09:55:16