2011-06-13 62 views
0

我們目前有一個正在運行的項目使用RDBMS數據庫(有大量的表和存儲過程來操作數據)。目前的流程如下:數據訪問層將調用存儲過程,這會從RDBMS插入/刪除/更新或獲取數據(請注意,這些存儲過程沒有執行任何批量處理)。當前的數據結構包含很多主鍵,外鍵關係,並且對現有數據庫表有很多更新。我只想知道我們是否可以使用HBase作爲我們的目的?那麼我們如何使用HBase替代RDBMS來使用Hadoop?如何設計HBase Schema

+0

我已將您的兩個帳戶合併在一起。 [請閱讀關於基於Cookie的帳戶的這個Faq條目。](http://meta.stackexchange.com/questions/44557/why-should-i-register-my-account/1228)另外,StackOverflow不是論壇;如果您有新問題,請提出一個新問題。如果你想在你的問題中包含更多信息,請[編輯](http://stackoverflow.com/posts/6329366/edit)。如果你想與已經回答的人交流,你可以留下他們的評論,而不是回答。 – Will 2011-06-30 14:29:01

回答

0

你需要問自己,什麼是RDBMS不爲你做什麼,你希望通過遷移到Hadoop/HBase實現什麼?

本文可能有所幫助。還有更多。 http://it.toolbox.com/blogs/madgreek/nosql-vs-rdbms-apples-and-oranges-37713

如果目的是嘗試新技術,我建議嘗試他們的教程/入門。

如果這是一個明確的問題,你試圖解決,那麼你可能想清楚地說明問題。

祝你好運!

+0

@charbelcurrent系統存在性能問題是第一點。我們還希望將當前系統轉換爲高可用性,容錯性和性能改進系統的分佈式KVS(同時我們正在評估KVS參數臨時)。因此iam在將當前關係數據/模式(具有複雜的數據結構)遷移到非結構化或半結構化數據時感到困惑。當使用hbase(作爲其存儲鍵值存儲)時,我們正面臨缺乏連接表(如RBDMS中)來獲取數據的問題。有沒有什麼方法可以使用HBase以有效的方式在列族中搜索數據? – prasadak 2011-06-14 10:23:13

+1

我認爲@Charbel所說的是你必須完全重新設計你的模式以及你如何使用系統。正如你指出的那樣,沒有任何連接的概念。這意味着你應該使你的設計非規範化,並重新思考你如何整合你的應用程序和你的數據存儲 – David 2011-06-14 15:09:53

+0

@ Carbel,謝謝你的回覆。其實考慮一個簡單的用例。假設我在RDBMS中有兩個關係表employee和dept。在RDBMS中,我可以通過使用sql查詢連接這些表來檢索數據,因爲它們具有主 - 外鍵關係。但我如何設計hbase中的相​​同表?或者我如何使用hbase保持相同的關係?我需要這些表中的數據(加入後)..我怎麼能在Hbase中使用它? – prasadak 2011-06-30 04:05:24

0

由於您已經花費了大量開發人員的努力,我不願意建議替換您當前的rdbms。考慮你的組織可能沒有僱員提供所需的hbase經驗。隨着數據轉換和應用程序重寫轉移到hbase將非常昂貴和風險。