2008-12-09 87 views
2

我們擁有大約3億條記錄的龐大數據,每3到6個月就會更新一次。我們需要查詢這些數據(持續,實時地)以獲取一些信息。什麼是選項 - 一個RDBMS(mysql),或者像Hadoop這樣的其他選項。哪個更好?大數據 - 存儲和查詢

回答

1

那麼,我有幾個PostgreSQL數據庫的一些表有超過700M記錄,他們一直在更新。

這些表中的查詢工作速度非常快(幾毫秒),沒有任何問題。現在,我的數據非常簡單,並且我在查詢的字段上有索引。所以,我想說,這將取決於你將進行什麼類型的查詢,以及是否有足夠的錢花在快速磁盤上。

+0

這些是一些令人難以置信的數字。我從來沒有像Oracle或MSSQL那樣經歷過類似的事情。你認爲這確實是做大量工作的機器和磁盤嗎? – Kieveli 2008-12-09 14:56:49

0

3億條記錄不會給Oracle,SQL Server,DB2等高端RDBMS帶來問題。我不確定mySQL,但我很確定它現在用於一些非常大的數據庫。

1

正如其他人所說,現代RDBMS可以處理這樣的表,這取決於查詢和模式(必須進行一些優化)。如果你有一個很好的按鍵來分割行(比如日期列),那麼partioniong/sharding技術將幫助你將表分成幾個小表。

您可以在一個問題,我有時問前在這裏閱讀更多關於這些和其他縮放技術 - Scaling solutions for MySQL (Replication, Clustering)

0

300萬元並不能真正算作是巨大的,這些天:-)。

如果你主要查詢,並且你知道或多或少的查詢形式,那麼具有適當索引的MySQL表格將工作得很好。

如果您在運行查詢的同時不斷應用更新,請選擇PostgreSQL,因爲它具有更好的併發處理能力。

如果貴公司願意花錢,MS SQLServer,Sybase,Oracle和DB2將全部輕鬆處理這些卷。

如果另一方面您打算對非結構化數據進行真正的自由格式查詢,那麼Hadoop或類似的將是更好的選擇。

3

300M記錄完全在常規關係數據庫的範圍內,如果正確使用索引,實時查詢應該不成問題。

除非您真的需要高度分佈式和冗餘的數據,否則Hadoop聽起來像是過度殺毒,而且如果您遇到問題或進行優化,它還會使您難以找到支持。