從百萬級別資料的分析角度,Mysql,Mongodb,Hbase如何選擇?

時間 2021-05-07 03:03:51

1樓:向上的蝸牛

從數量級來看:

一億資料,小於500G 優先考慮mysql .考慮50%冗餘從用途來看:

mongodb ,Hbase, 都是nosql . HBase方便擴張列,列儲存。 用來儲存時間序列的統計,網頁索引。對列內容不會,進一步處理。

MongoDB 是文件伺服器。用來存josn物件方便。集群比較容易出問題。

從樓主的要求來看,建議用 mysql,或者用檔案儲存在乙個HDFS集群,未來用hive來分析。

2樓:Thomas Lau

百萬而已,很自然建議是mysql了,但前提是你每行資料本身大小,資料型別,索引等都能正確的處理。

答案不一定對,因你的描述不足以給結論。最好找文章看看各自安裝使用安全功能的優缺點。

3樓:李同學

mysql妥妥的,

500w而已傳統資料庫更成熟,

mongo適合寫入讀取頻繁的系統,但是很依賴記憶體,很依賴記憶體,很依賴記憶體

mysql 足夠了

看你的資料要求貌似是只增不改?那還可以考慮歸檔。

總之mysql妥妥的。

4樓:

這個量級的資料,直接mysql就行了,連集群都不需要,我們生產環境裡處理過的資料單錶1.6億條,12核 32G記憶體,一般的分析沒啥問題

5樓:aaronshan

個人覺得mysql足矣,按照每天5萬的量計算,兩年也不算很大,mysql還可以支援,而從成本來看,集群搭建至少超過5臺機器(好寒酸 ),集群太小也沒有意義。此外,hbase對key-value型別的場景支援較好,其他的效果沒這麼顯著。有道是強扭的瓜不甜,適合的才是最好的

6樓:

對,我們有一張表,11億的資料,260G,嘿嘿,在mysql裡面,沒有複雜的sql,跑的挺好的,當然我們是FusionIO的盤

7樓:pipi shaou

如果是金融類資料,推薦MongoDB之類的No SQL資料庫,因為金融計算不需要複雜的關聯關係,都是簡單的讀寫操作。MySQL因為是二維表結構,所以一旦遇到稍微複雜的模型,就要用多張表,緊接著就會帶來指數增長的複雜性,你還要各種調優,浪費生命啊。用MongoDB,JSON資料型別可以讓你很靈活的構建自己的資料模型。

8樓:晨先生

500W級別,用infobright最合適,列式儲存,如果列中重複資料多,壓縮比還可以最高可以到10倍。

另外,你的mysql同步的資料可以這麼搞, 搞乙個備庫同步檔案使用ROW的方式binlog_format="ROW"

的方式,就是每一條記錄對應著一行, 然後實時解析下,接入你的infobright. 當然如果資料量大,可以寫個mapreduce將這部分增量資料與全量資料merge下形成快照。

另外500W的資料,單條算1K,才5G,直接單機用python都可以搞定。如果需求簡單,甚至可以用grep -F -mmap 來搞定

9樓:汪周洋

hbase,兩點理由,500萬資料了,以後資料量每天還要增長,另外還要對資料進行統計分析運算之類的,hbase是專門用來搭建集群處理大資料的,mysql用作資料儲存讀寫查詢還湊合,出了這個圈還是考慮用別的吧,另外我從樓主的問題裡面已經看到了樓主的答案

10樓:

是簡單的資料統計查詢,還是說複雜的資料分析要先區分清楚。

如果僅僅是簡單的資料統計查詢,mysql庫的分庫方案基本完全可以滿足要求,每個節點都配置為dual master架構。不建議才有cluster方案,這個本身擴充套件後效能下降很厲害。

如果是複雜資料分析,那麼又是把OLTP和OLAP混在一起的,即這種場景下需要分開考慮兩種模式。對於業務操作還是用mysql方案。對於後續的複雜資料分析用類似HIVE的方案來解決。

不過你現在的資料量和規模基本mysql完全能解決問題。

11樓:超大杯摩卡星冰樂

明顯是hbase

2014/11/9更新

主要對比mysql和hbase,mongodb沒用過。mysql在小型資料上還是表現的不錯的,但是當資料一大,mysql擴充套件能力和之後的運維都是將面對的問題。目前500w左右資料,每天增量5w,一年就是1850w,當然短期內,比如兩三年幾千萬資料,是可以用mysql來處理的。

但是之後資料累積到一定量後,mysql避免不了分表分庫,一次多表聯合查詢的效率是非常低的。如果mysql無法擴充套件後需要遷移資料,也要耗費大量開銷,人,物,時間。

而hbase是面向列的儲存,所有檔案以hdfs作為儲存空間,讀寫檔案在磁碟上是連續的,這樣可以充分發揮io吞吐能力,因此在讀寫方面hbase是非常快的。使用hdfs為儲存空間的乙個好處是,可以通過增加廉價伺服器來提高hbase的容量和計算能力。

還有一點,題主有大資料分析的需求,難道用幾百台mysql就可以進行大資料分析?那,還用hadoop幹啥?

hbase周邊產品也不斷發展和完善中,比如hive on hbase,phoenix on hbase等可以直接寫sql語句來操作hbase,大大降低了hbase的學習成本。

最後,推薦題主去google下,hbase replace mysql

從哲學的角度怎麼分析《海賊王》?

同上乙個答案,推薦閱讀 海賊王的哲學課 在敦南誠品 台北 看到的 然後一口氣讀完了 深入淺出很棒的一本書 附上書內目錄 海賊王最高 找到兩篇 新的附會或者接近真相 尾田如何創造尼采 也談D的意志http 超凡入世的賊 海賊王 中精神的倫理 五星出東方 剛好最近海賊發展到魚人島的種族仇恨故事,像霍地那...

從數學的角度分析,鬥地主是否公平?

TAB66 先說結果,農民勝率基本和地主一樣,對半開。非常公平 農民是2個人 假如三位玩家的所以因素都是相等的,那麼直觀的分析,每個人的勝率都是1 3,那麼做農民的勝率就是2 3,地主的勝率真是1 3。假設地主取勝的概率為p,那麼農民取勝的概率就為1 p 根據全概率公式 每個人獲勝的概率Q 1 3 ...

如何從心理學的角度分析社會時事

白音 個人認為哈,在沒對科學理論知識有把握,對實踐沒有經歷的情況下,建議別瞎分析。總有這麼一批人,自認為學習了一點心理學學習了一點社會學的理論,學習一點 XX理論 就開始了,今天這個 效應 明天這個 理論 都是混弄不懂的人的,這個所謂的專業名詞一出現,不懂的人先查一查這個詞什麼意思,說的什麼事。查著...