999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

MongoDB數據庫中自動分片技術應用研究

2016-07-09 08:06:51牛倩
數字技術與應用 2016年6期

牛倩

摘要:MongoDB為了提高處理大數據量時的性能,提供了自動分片的技術。MongoDB的分片是集合級別的,根據基于分區的片鍵可以將數據集合均勻的分布在各片上。文中在研究MongoDB特點的基礎上,著重分析自動分片技術的應用。對比普通和分片情況下的MongoDB性能,提出使用基于分區的MongoDB自動分片技術可以提高數據量較大時的性能,使MongoDB更穩定。對比片索引和普通索引的性能,提出對于使用非常頻繁的查詢或寫操作,應使用基于片鍵的索引,可以大幅度提高MongoDB的性能。

關鍵詞:MongoDB 自動分片 性能測試 非關系型數據庫

中圖分類號:TP311.13 文獻識別碼:A 文章編號:1007-9416(2016)06-0000-00

1 MongoDB介紹

MongoDB是一種強大、靈活、可擴展的數據存儲方式。它擴展了關系型數據庫的眾多有用功能,如輔助索引、范圍查詢和排序。MongoDB的功能非常豐富,比如內置的對MapReduce式聚合的支持,以及對地理空間索引的支持。MongoDB既有優點也有缺點,但是總體來說還是相當不錯的,它是NoSQL數據庫中最接近SQL數據的一種基于文檔的數據庫產品,主要為網頁應用提供可擴展的高性能數據存儲解決方案,并且已經應用在一些世界頂級的互聯網公司的產品中。

2 MongoDB的自動分片技術介紹

使用自動分片技術的MongoDB集群包括以下三個組件:分片服務器、路由服務器配置服務器。

分片服務器負責存儲數據。為了提供高可用性和數據一致性,在生產環境中,分片服務器集群中,每一個片都是一個副本集。如果是開發環境或者測試環境中,可以不采用副本集機制。本文主要研究MongoDB的自動分片技術,為了更好的觀察MongoDB的自動分片技術本文中的每一個片都是一個單獨的Mongod服務,并沒有采用副本集技術。

路由服務器,也可稱為查詢路由服務器,它是mongos實例程序,接收客戶端的請求,把請求直接分發給適當的一個或幾個分片服務器,收集分片服務器的操作結果匯總成最終結果,然后將最終結果返回給客戶端。一個MongoDB集群可以有多個路由服務器。

配置服務器存儲MongoDB集群的元數據。包括數據的分片策略。路由服務器根據這些元數據把請求分發到特殊的分片服務器。并且在3.2版本以后,配置服務器可以應用副本集機制。

3 性能測試

此次測試共涉及5臺服務器:3臺MongoDB服務器。機器配置:CPU 為 Intel(R) Core (TM) i7-5500U CPU @ 2.40GHz、內存為16G、硬盤1T、操作系統為Linux。分別在3臺機器運行一個mongod實例和一個mongos進程。在Scala程序設計語言下,使用MongoDB官方提供的casbah工具包編寫程序對MongoDB進行操作。

(1)對三個數據集分別插入1億條數據,要求數據的L1字段取值均勻的分布在長整型取值空間上;

在插入的數據每條為1kB的情況下,普通插入的方式在數據量小于1000萬條時,三個數據集性能都是是比較高效的,但之后每秒插入數據量驟降。原因是MongoDB的普通插入只是把數據寫入內存就結束了,所以在內存有空閑時,普通插入速度是非常高效的,但是隨著寫入數據量的增加,內存逐漸被占用,此事再寫入數據需要在磁盤和內存間進行大量的數據交換,因此性能下降較快。

雖然隨著寫入數據量的增加,寫入性能明顯下降,但是分片數據集下降率比未分片的數據集低。在數據量大于2000萬后的寫入數據性能,分片數據集比未分片數據集要好。

比較collection1和collection2發現,在數據量大于4000萬后,collection1的寫入性能更好,原因是在數據量達到4000萬時,collection2數據集第一個塊寫滿,數據均衡的操作,數據在不同的shard間移動,導入寫入速度下降。而collection1進行了分塊操作,在數據寫入之前,已經將數據均勻的分布在了三個shard上,所以collection1隨著數據量的上升寫入性能下降較為緩慢,寫入操作的壓力被均勻的分布在了三個片上。

(2)分別根據普通索引、分片索引查詢1000條數據測試結果如圖1所示,對未分片的數據集進行查詢3,查詢性能非常不穩定,但是對分片的collection1進行的1和2查詢相對比較穩定。查詢1使用的是分片索引,查詢2使用的是普通索引,觀察可以發現,使用分片索引的查詢效率高于普通索引。原因是根據分片索引,mongos可以把查詢操作有選擇的分發到相關的一部分mongod服務器上,而根據普通索引的查詢,mongos必須把查詢操作分發給每一個mongod服務器。

4 結語

經過測試分析得知,使用MongoDB自動分片技術可以提高數據量較大時的性能,并且時MongoDB更穩定。并且,在使用自動分片技術時,應設置塊的劃分,一方面可以使數據均勻的分布在每一個片上,而且可以減少數據平衡時的數據移動。在查詢操作時,使用片索引效率比普通索引效率高。對于使用非常頻繁的查詢,應該考慮使用這個索引的關鍵詞來進行分片。在未來的研究工作中,將對MongoDB集群不僅使用自動分片技術,而且加入副本集技術,并觀測在有Mongod故障情況下,MongoDB集群的性能以及故障服務的恢復方法等。

參考文獻

[1] 程顯峰.MongoDB權威指南[M].北京人民郵電出版社,2011.

[2] 黎瑞瑜.分布式實時分發微博系統[D].華南理工大學,2011.

主站蜘蛛池模板: 亚洲区第一页| 亚洲视频a| 国产亚洲视频免费播放| 97影院午夜在线观看视频| 一级毛片在线播放| 国产精品粉嫩| 亚洲香蕉久久| 国产精女同一区二区三区久| 免费欧美一级| 亚洲综合经典在线一区二区| 国产成人综合久久| 亚洲高清国产拍精品26u| 久久精品这里只有精99品| 国产在线观看成人91| 尤物视频一区| 日本一本正道综合久久dvd| 99草精品视频| 91久久国产热精品免费| 中文字幕亚洲综久久2021| 国产精品自在在线午夜区app| 亚洲精品视频免费观看| 欧美自拍另类欧美综合图区| 手机看片1024久久精品你懂的| 国产精品网址你懂的| 高h视频在线| 亚洲视频无码| 欧美精品啪啪| av在线人妻熟妇| 亚洲中文无码av永久伊人| 国产麻豆aⅴ精品无码| 一边摸一边做爽的视频17国产| 亚洲高清无码久久久| 精品免费在线视频| 一级不卡毛片| 无码专区在线观看| 国产三级成人| 国产一级毛片yw| 国产偷国产偷在线高清| 国产欧美日韩精品第二区| 久久无码免费束人妻| 亚洲伊人电影| 欧类av怡春院| 国产av色站网站| 亚洲一级毛片免费观看| 91年精品国产福利线观看久久| 国产精品女主播| 久久精品这里只有精99品| 女人av社区男人的天堂| 欧美综合成人| 亚洲第一综合天堂另类专| 91丝袜在线观看| 国产另类乱子伦精品免费女| 国产区免费| 国产成人亚洲毛片| 国产xx在线观看| 片在线无码观看| 国产亚洲精品自在久久不卡| 久久精品只有这里有| 国产成人一区免费观看| 欧美成人亚洲综合精品欧美激情| 都市激情亚洲综合久久| 精品精品国产高清A毛片| 国产剧情一区二区| 四虎影视库国产精品一区| 免费在线a视频| 无码AV日韩一二三区| 欧美日韩另类在线| 婷婷午夜天| 不卡无码h在线观看| 精品免费在线视频| 日韩在线播放中文字幕| 亚洲三级影院| 日韩在线视频网| 亚洲AV无码久久精品色欲| 一级爱做片免费观看久久| 亚洲男人的天堂视频| 欧美啪啪网| 国产免费人成视频网| 综合亚洲网| 欧美精品二区| 国产福利小视频高清在线观看| 在线看片免费人成视久网下载|