2010-03-11 49 views
5

我需要存儲大量的小數據對象(每月數百萬行)。一旦他們得救,他們就不會改變。我需要:免費數據倉庫 - Infobright,Hadoop/Hive還是什麼?

  • 將它們存儲安全
  • 用它們來分析(主要是面向時間)
  • 檢索某些原始數據偶爾
  • 這將是很好,如果可以用的JasperReports或BIRT使用

我的第一個鏡頭是Infobright的社區 - 只是一個立柱導向,只讀存儲機制對MySQL

另一方面,人們說NoSQL方法可能會更好。 Hadoop + Hive看上去很不錯,但文檔看起來很差,版本號小於1.0。

我聽說Hypertable的,Pentaho的,MongoDB的....

你有什麼建議?

(是的,我在這裏找到了一些話題,但它是一年或兩年以前)

編輯: 其他解決方案:MonetDB,InfiniDB,LucidDB - 你有什麼感想?

+0

版本號並不重要。 HDFS/Hadoop工作得很好 - 但如果您有多個節點進行數據和分析,它們只會很有趣。 – Leonidas 2010-03-11 09:11:02

+0

如果你想快速入門,我建議使用pentaho和數據庫pentaho支持。我認爲下面的答案更側重於數據訪問,但在數據倉庫開發中,工具也很重要。 – elprup 2012-08-15 06:57:37

+0

@Piotr:這是一個兩歲的問題,沒有答案。我需要一個與您的規格幾乎相同的解決方案。最後你決定使用什麼? – 2013-02-19 10:09:30

回答

0

如果您正在尋找與報告工具的兼容性,基於MySQL的東西可能是您的最佳選擇。至於什麼會爲你工作,Infobright可能會工作。還有其他幾種解決方案,但是您也可能需要查看普通的MySQL和Archive表。每條記錄都經過壓縮和存儲,IIRC專爲您的工作負載類型設計,但我認爲Infobright應該可以獲得更好的壓縮效果。我還沒有真正使用過,所以我不確定哪個最適合你。

至於鍵值存儲(例如NoSQL),是的,它們也可以工作,並且有很多替代方案。我知道CouchDB有「意見」,但我沒有機會使用任何工具,所以我不知道他們的工作有多好。

我只關心你的數據集,因爲你提到的時間,你可能想要確保你使用的任何解決方案將允許你存檔數據超過一定的時間。這是一種常見的數據倉庫實踐,僅保留N個月的數據在線並歸檔。這是在RDBMS中實施的分區,非常有用。

2

你也可以考慮GridSQL。即使對於單個服務器,也可以創建多個邏輯「節點」以在處理查詢時使用多個核心。

GridSQL使用PostgreSQL,所以你也可以利用分區表的子表來更快地評估查詢。你提到的數據是面向時間的,所以這將是創建子表的好選擇。

+0

只需添加,是的,我爲EnterpriseDB工作,誰贊助GridSQL。 – Mason 2010-03-17 22:53:14

+0

最近GridSQL死亡,開發人員轉移到Stado。 – 2011-10-25 06:09:26

3

這裏有同樣的問題並做了研究; BI的兩種類型的存儲:

  • 列爲導向。免費而聞名:monetDB,LucidDb,Infobright。InfiniDB
  • 分佈式:hTable,卡桑德拉(也列在理論上爲導向)
  • 面向文檔/的MongoDB,CouchDB的

答案取決於你真正需要的:

http://www.mysqlperformanceblog.com/2010/01/07/star-schema-bechmark-infobright-infinidb-and-luciddb/

  • 如果行實時加入..然後面向列DB是壞的。你可以選擇兩個有兩個獨立的數據庫(這是我的選擇:一個用於實際提供統計信息的noSQL和實時統計數據,另一個用於BI的數據庫列)。或者轉向混合列導向(出局請求)和分發(寫入)/像卡桑德拉的東西。

面向文檔的DB不適合BI,他們是你需要一個特定的行

作爲一個類別裏面的確切選擇頻繁訪問CRM/CMS問題更加有用,我仍然猶豫不決。分佈式的Cassandra和CODB的Monet或InfiniDB是領導者。據報道,Monet在加載非常大的表格時遇到問題,因爲它在內存中運行索引。