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.

主站蜘蛛池模板: 乱人伦99久久| 婷婷99视频精品全部在线观看| 在线观看亚洲成人| 中文字幕1区2区| 国产成人精品在线| 91福利免费| 亚洲一级毛片在线观| 午夜毛片免费观看视频 | 成人综合久久综合| 国产精品伦视频观看免费| 国产精品999在线| 国产香蕉在线视频| 在线不卡免费视频| 真人高潮娇喘嗯啊在线观看| 欧美日韩亚洲国产主播第一区| 欧美一区中文字幕| 日本91视频| 亚洲第一网站男人都懂| 中文无码伦av中文字幕| 最新国语自产精品视频在| 一本大道香蕉久中文在线播放| 亚洲欧美在线综合一区二区三区| 在线va视频| 丁香六月激情婷婷| 亚洲三级片在线看| 成人免费午间影院在线观看| 欧美精品在线免费| 久久综合结合久久狠狠狠97色 | 91日本在线观看亚洲精品| 91精品国产丝袜| 亚洲精品综合一二三区在线| 女人18毛片水真多国产| 国产99久久亚洲综合精品西瓜tv| www.日韩三级| 亚洲一区二区三区香蕉| 色国产视频| 亚洲国产日韩一区| 国产你懂得| 国产一区二区精品福利| 亚洲成AV人手机在线观看网站| 99热这里只有免费国产精品 | 在线免费观看AV| 日韩毛片免费| 五月天综合婷婷| 久久永久免费人妻精品| 四虎国产精品永久在线网址| 亚洲国产日韩欧美在线| 啊嗯不日本网站| 国产日产欧美精品| 无码在线激情片| 久久国产热| 国产一级视频久久| 欧美19综合中文字幕| 国产精品女同一区三区五区| 91精品aⅴ无码中文字字幕蜜桃| 国产主播在线一区| 色综合天天操| 国产人前露出系列视频| 一区二区三区四区精品视频 | 成人中文在线| 欧美日一级片| 欧美精品导航| 免费A级毛片无码免费视频| 国产AV无码专区亚洲A∨毛片| 99视频有精品视频免费观看| 午夜日本永久乱码免费播放片| 浮力影院国产第一页| 亚洲成人在线免费| 91精品国产91久久久久久三级| 欧美有码在线观看| 极品国产一区二区三区| 久久成人国产精品免费软件| 免费女人18毛片a级毛片视频| 在线日本国产成人免费的| 99精品免费欧美成人小视频| 国产一级毛片yw| 这里只有精品在线播放| 欧美国产日本高清不卡| 天天爽免费视频| 欧美黑人欧美精品刺激| 18禁黄无遮挡免费动漫网站| 日韩免费毛片|