自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MongoDB vs. Cassandra角逐時間序列數(shù)據(jù)處理

云計算 MongoDB
MongoDB是最具人氣的文檔數(shù)據(jù)庫,而Cassandra是最具人氣的列存儲數(shù)據(jù)庫,然而這兩個在適用場景上似乎有著明顯區(qū)別的解決方案近日卻擦出了火花。

MongoDB與Cassandra是兩個***人氣的NoSQL數(shù)據(jù)庫,MongoDB更是NoSQL領域當之無愧的人氣王,而Cassandra則常年霸占著列存儲領域的***,相比之下備受關注的HBase卻因眾多原因一直屈居次席。近日MyDrive Soulutions運營和架構總監(jiān)分享了這兩個人氣NoSQL數(shù)據(jù)庫在其公司的實踐,并給出了相關對比,以下為譯文:

 

 

使用Cassandra替換MongoDB來管理時間序列后的飛躍

使用場景

MyDrive擁有一個基于AWS托管的數(shù)據(jù)處理平臺,由Resque工作者負責。作為一個遠程信息處理公司,我們需要處理非常多的時間序列數(shù)據(jù),初始我們采用了MongoDB。作為初期方案,MongoDB最初定義就是臨時性的選擇。

MongoDB表現(xiàn)的也是相當不錯,然而不同大小負載處理時間的不可預測性帶來了很多困擾,同時也讓數(shù)據(jù)處理管道的優(yōu)化變得非常困難?;贛ongoDB的設計(大部分的關系型數(shù)據(jù)庫同樣如此),返回30個文檔與返回300個文檔的作業(yè)將觸發(fā)不同的I/O負載,而返回30個文檔的作業(yè)肯定要比300個的快。當然不管是30還300,處理的速度都不是很快,即使使用了非常好的索引及非常合適的實例。

此后,我們不得不對MongoDB實例進行一定的縱向擴展;當然如果長期如此,將帶來非常多的額外開銷。

解決方案

從開始,目標就被鎖定在Cassandra上,因為AboutUs 5.0之后的版本都使用了Cassandra。它已經(jīng)向我們證明了強大的可靠性、可見性以及彈性。這些特色在整合了橫向擴展之后,讓Cassandra成為一個當之無愧的殺手級數(shù)據(jù)存儲。

一般情況的數(shù)據(jù)流為寫入數(shù)據(jù)>>讀回>>修改>>寫入>>再讀取,這些操作被不同用戶執(zhí)行。雖然這不是Cassandra的設計理念,但是Cassandra卻非常適合我們的查詢方式。

Cassandra確實非常適合時間序列數(shù)據(jù),因為可以周期性的將時間序列數(shù)據(jù)寫入1列,然后通過部分字符串對比來查詢一定時間范圍內(nèi)的數(shù)據(jù)。這樣的話使用列就比使用行更加的高效,而加載單行可以讓你獲得巨大的I/O性能。然后Cassandra必須至少讀取一個數(shù)據(jù),而隨著數(shù)據(jù)持久化到磁盤的進行,所有剩余的數(shù)據(jù)都將被讀取。

我們使用時間戳作為ID的前半部分,這樣的話就可以做任何時間段的范圍查詢——每行都體現(xiàn)出了一條數(shù)據(jù),而列則體現(xiàn)了時間序列數(shù)據(jù)的一個周期。這樣所有數(shù)據(jù)都可以通過鍵及起止時間查詢。

鑒于我們工作負載的類型,使用MongoDB時,寫操作的數(shù)量會嚴重影響到讀的性能,而使用Cassandra就不會有這種情況發(fā)生。

前后對比

上面的突變顯示大半年的性能,藍線表示的是受數(shù)據(jù)存儲性能影響的部分。很明顯在做MongoDB優(yōu)化及橫向擴展硬件時性能的落差很大,然而這些對Cassandra毫無影響。

我們階段化的關閉了MongoDB,開始是停止了對其寫入,***停止了在MongoDB上的讀操作(在圖片上使用了紅色箭頭標注),不過圖片上沒有顯示的是在過渡到Cassandra后加入了大量的批處理作業(yè)。

責任編輯:王程程 來源: 博客 CSDN
相關推薦

2024-05-08 14:05:03

時間序列數(shù)據(jù)

2019-06-12 16:21:52

時間序列PythonPandas

2011-08-02 16:08:52

NoSQLMongoDBCassandra

2025-02-08 10:58:07

2021-01-13 16:04:07

網(wǎng)絡On-Prem托管

2021-07-08 09:51:18

MaxCompute SQL數(shù)據(jù)處理

2020-09-29 08:35:08

MongoDBPython數(shù)據(jù)

2016-05-19 10:31:35

數(shù)據(jù)處理CassandraSpark

2014-09-28 10:29:43

喬布斯施密特Android

2021-12-23 15:36:21

NASSANDAS

2017-11-02 13:20:08

數(shù)據(jù)處理PythonNumpy

2020-08-25 09:14:17

對象存儲文件存儲塊存儲

2023-05-22 19:49:30

命令Linux

2024-09-12 22:45:47

2025-02-18 16:00:00

代碼Python架構

2019-04-02 15:07:51

API NginxZuul

2018-08-16 17:18:49

數(shù)據(jù)處理

2022-05-12 11:12:46

MongoDB索引元數(shù)據(jù)

2011-07-29 11:10:44

ChromeIE9Firefox

2020-11-24 13:25:20

數(shù)據(jù)保護存儲
點贊
收藏

51CTO技術棧公眾號