2012-02-22 25 views
2

我最近開始熟悉NoSQL(HBase)。我絕對是一個小菜鳥。NoSQL DB上的Java ORM像HBase

我正在研究可以在HBase上使用的ORM和高級客戶端,並且遇到了一些。

像昆德拉這樣的一些ORM庫提供了類似於數據查詢功能的SQL。我覺得這有點直觀。

任何人都可以幫助我理解爲什麼我們會再次需要SQL,比如查詢整個目標是否要離開它?

也可以有人評論你的經驗與HBM的HBM?我從http://wiki.apache.org/hadoop/SupportingProjects看了其中的一些,並開始看着昆德拉。

另一個相關的問題 - 昆德拉的數據查詢是否在內部運行map reduce工作?

回答

4

昆德拉或Spring數據可能會隨着NoSQL數據庫提供用戶友好的ORM層,但潛在的實體模型仍然是NoSQL的友好。這意味着NoSQL用戶不應該盲目地遵循RDBMS建模策略,而是應該以這種方式設計ORM實體,以便可以使用所有的NoSQL功能。 作爲一個縮略規則,kundera ORM實體應該使用查詢優先策略進行設計,首先需要定義查詢以創建主鍵,並確保儘可能少地使用關係模型。應該避免查詢隨機列和完整掃描,因此可能需要在實體之間複製數據以減少多個實體查找。此外,交易管理需要計劃。僅供參考,kundera不支持交易(超出Hbase/Cassandra支持的單行TX以外)。

3

之所以用昆德拉:

1)如果在尋找像支持超過HBase的SQL。由於它基於HBase本地API構建,因此它只是將這些SQL查詢轉換爲相應的GET或PUT方法調用。 2)目前只支持HBase-0.20.6。 Kundera-2.0.6將支持HBase 0-90.x版本。 3)Kundera並沒有做一些開箱即用的工作,以提供像查詢一樣的SQL映射。但是,只有通過支持Hive原生查詢才能在昆德拉2.0.6中提供對此類事件的支持!

它完全符合JPA標準,所以不需要學習新東西。它只是以最小的努力在開發人員層面隱藏複雜性。

SQL查詢是爲了開發簡便,快速開發,減少錯誤和可重用性的課程!

-Vivek

+0

感謝您的回覆。你什麼時候可能發佈2.0.6?我們正在使用HBase 0.9。 – 2012-02-22 07:29:16

+0

我們發佈了2.0.6,可以下載:https://github.com/impetus-opensource/Kundera – 2012-04-26 11:50:24