2011-04-21 101 views
4

場景:假設你在200張表中有90TB的文本。這是結構化的相關數據。可比較dbpedia只有更多的數據。任何真正的關係數據庫和分佈式數據庫都可以完成這項工作。不要期望像社交網絡那麼多的更新,但是大約500read查詢/ s20updates/s但是除了那些需要的主要功能是對數據庫進行高速運行的大分析,因爲數據將通過像apache mahout這樣的機器學習被重新修改和改進不斷。哪些用於大型結構化數據的數據庫技術?

現在的第一個問題是,哪些數據庫技術首先(或等待它們繼續前進)首先使用相對低數量的Web瀏覽器來維護所有數據,但對分析/機器學習的高需求運行很快?其次,哪些其他數據庫需要跟蹤可能出現的特殊目的,哪些數據庫需要應用,哪些數據庫應該適用。

Cloudera/Brisk (Cassandra,Hive) 
mysql(cluster), mariadb 
Berkeley DB 
drizzle, nimbusdb, 
scidb (http://www.theregister.co.uk/2010/09/13/michael_stonebraker_interview/) 
mongodb 
datadraw 
neo4j 
+0

90 TB?你的手指一定會因爲輸入所有文字而受到傷害;-) – Johan 2011-04-21 08:20:50

+1

你會在它上面運行什麼類型的查詢?請開始你的問題。 – 2011-04-21 09:23:08

+0

您可能想在[DBA](http://dba.stackexchange.com/)站點上提出此問題。 – 2011-04-21 11:23:50

回答

2

但是,除了那些需要的主要特點是運行在數據庫上大分析了最大速度

所以現在所有你需要的是90TB +的RAM,你就定了。 「最大」速度是一個非常相對的概念。

我在約200張表中獲得了約90TB的文本。這是結構化的相關數據。任何真正的關係型分佈式和共振式數據庫都可以完成這項工作。

什麼是「真正的關係分佈式數據庫」

讓我們翻轉一下。假設您有90臺服務器,每臺服務器都擁有1TB的數據。你計劃在200臺和90臺服務器之間執行連接的計劃是什麼?

一般來說,跨服務器連接不能很好地擴展。試圖在90臺服務器上運行連接可能會更少。對200個表進行分區是很多工作。

與其他數據庫來跟蹤通常在這種情況下,哪些富豪跌出榜單

OK,所以這裏有很多的後續問題:

  • 什麼你現在在跑嗎?
  • 你的痛點是什麼?
  • 你真的打算放棄一個新系統嗎?
  • 是否有較小的子系統可以先測試?
  • 如果你有200個表,你運行了多少個不同的查詢?成千上萬的?
  • 你打算如何測試查詢的行爲是否正確?
+0

你不需要* 90TB的內存,除非所有的90TB都被認爲是熱門的,但這不太可能大多數場景。 – 2011-04-22 01:23:20

+0

好吧,我會去那!但它的「唯一」0.3TB和足夠的薩塔... – Jonas 2011-04-22 02:42:16

2

聽起來很適合Cassandra + Hadoop。今天可以稍作努力, DataStax(我工作的地方)推出輕靈(也是開源的),使其更容易:http://www.datastax.com/products/brisk

+0

我以前在你的網站上,對不起,我沒有提到它,隨時指出cloudera在應用cassandra + hadoop時的優勢 – Jonas 2011-04-22 02:54:52