1. 程式人生 > >新年新技術:MongoDB 3.0

新年新技術:MongoDB 3.0

前一篇介紹了HTTP/2,這一篇簡單介紹下3月3號釋出的MongoDB 3.0。

What’s new in MongoDB 3.0?

新的儲存引擎WiredTiger

MongoDB 3.0的儲存引擎是外掛式的,預設為新增的WiredTiger。WiredTiger相比原來的MMAPv1引擎的優點:

  • 文件級別的鎖

這個改進真是盼望已久啊,一直以來MongoDB的鎖粒度都被人詬病,根據我們實際的經驗MongoDB在高併發的讀寫混合場景下效能很差。

  • 更高的壓縮比

新的MongoDB使用了字首壓縮 (Prefix Compression),大大提高了索引資料的壓縮比。從我們運維同事的簡單的測試結果來看很客觀:

mongodb3.0-compress.png

  • 寫效能提高

官方的說是提高了7-10倍,從我們簡單的測試結果看雖然沒有那麼誇張但確實有不小提升:

mongodb3.0-write.png

我們2.x版本測試結果大概2w不到。

注意:WiredTiger只能用於64位的機器。

MMAPv1引擎的改進

雖然新增了WiredTiger,但是對原來的MMAPv1引擎也做了改進。

  • 新的記錄分配策略

原來的分配策略在文件變大超過初始分配的大小的時候,MongoDB要分配一個新的記錄,並要移動資料和更新索引,導致儲存碎片。 power of 2 allocation的策略是分配的記錄的大小都是2的次方(32, 64, 128, 256, 512 … 2MB),每個記錄包括文件本身和額外的空間——padding,這個機制減少了文件增長的時候記錄重新分配和資料移動的操作。

顯然新的策略在處理大文件和文件增長頻繁的場景下效率更高,但如果只有插入操縱和所謂的in-place更新操作(不會增長文件大小)那麼使用這種策略會很浪費空間,因此MongoDB 3.0允許你關閉這種策略。

  • 集合級別的鎖

雖然沒有WiredTiger的鎖粒度小,但是相比之前MMAPv1還是挺重要的一個改進。

Explain

新增Explain,類似MySQL的查詢計劃,做效能調優的時候很有用處。

查詢API的改進

  • aggregate()新增$dateToString 操作符,支援將日誌轉換為指定的格式

  • 查詢新增 $eq 操作符支援相等判斷

索引

  • 後臺建立索引時不會被dropDatabase,drop和dropIndexes操作中斷。

工具

主要是mongodump和mongorestore功能的改進。

新的Java驅動

簡單的看了下原始碼,原來的API仍然相容,但重寫了很多主要類(MongoCollection,MongoDatabase),新的MongoIterable介面風格很像Java8的Stream,而且都是泛型的。 提供了非同步的MongoClient,新的編碼框架,提高了效能。

官方文件

相關推薦

新年技術:MongoDB 3.0

前一篇介紹了HTTP/2,這一篇簡單介紹下3月3號釋出的MongoDB 3.0。 What’s new in MongoDB 3.0? 新的儲存引擎WiredTiger MongoDB 3.0的儲存引擎是外掛式的,預設為新增的WiredTiger。WiredTiger相比原來的MMAPv1引擎的優點

MongoDB 3.0副本集搭建

mongodb replication 副本集 集群 主從 環境配置MongoDB安裝下載yum源配置wget https://repo.mongodb.org/yum/redhat/mongodb-org-3.0.repo mv mongodb-org-3.0.repo /etc/y

[轉]MongoDB 3.0新增特性一覽

引言在歷經版本號修改(2.8版本直接跳到3.0版本)和11個rc版本之後,MongoDB3.0於2015年3月3日正式釋出。可以毫不誇張的說,該版本的新增特性標誌著MongoDB這款典型的NoSQL資料庫已經進入了一個全新的發展階段。本文以下內容會逐個盤點3.0版本的新增特性。外掛式儲存引擎APIMongoD

Mongodb 3.0+操作手冊 純手打

許可權控制 使用者概念 Mongodb的使用者是由 使用者名稱+所屬庫名組成 例如: 登入mongo testdb1 ,建立使用者testuser 登入mongo testdb2

Linux下MongoDB(3.0)的安裝和配置使用者

1.下載MongoDB安裝包 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1404-3.2.7.tgz 2.解壓MongoDB安裝包 tar -zxvf mongo

MongoDB 3.0+ 安全許可權訪問控制

MongoDB3.0+的許可權,網上搜出來的解決方法都是3.0以下的版本的,所以不適合3.0+以上的版本,由於這版本改變的有些大,解決了很久,終於解決,下面把解決的步驟以及思路分享給大家。 一,不使用 --auth 1.首先,不使用--auth引數啟動MongoDB: ./

MongoDB 3.0 使用者建立

> use admin switched to db admin > db.auth('dba','dba') 1 > db.system.users.find().pretty() { "_id" : "admin.dba", "user" : "dba",

新年技術:HTTP/2

新的一年,專案也要帶著發展的眼光往前走,得跟上潮流,當然前提是自己真的用的上。 用的上用不上都得先簡單瞭解下。 2月下旬Google釋出了首個基於HTTP/2的RPC框架GRPC,它是基於HTTP/2的,所以先了解下它,後續等深入研究了再回頭說說GRPC。 What’s new in HTTP/2?

mongodb 3.0.2與wiredTiger儲存引擎安裝測試

[[email protected] local]# [[email protected] local]# rm -fR /data/mongodb30/ [[email protected] local]# mkdir -p /data/mongodb30/{db,logs}

mongodb 3.0 索引和集合日常操作

-----1.新建索引 db.tblorders.dropIndexes(); db.tblorders.createIndex( { "OrderNo" : 1 },{background:true, name:"index_OrderNo"} ); db.hiso

國內各大互聯網公司相關技術博客3.0版 (集合騰訊、阿裏、百度、搜狐、浪、網易、360等共29個)

hive 時間 視覺 阿裏媽媽 數據可視化 發的 電商 領域 事業 在2013-07-15 整理了一份國內各大互聯網公司相關技術站點2.0版 (集合騰訊、阿裏、百度、搜狐、新浪、360等共49個) 近日重新整理了一番,希望能對大家有所幫助 2013年 騰訊系列(13) 阿

技術大牛論道HBase 3.0 可能的特性

去除 進一步 調整 還需 備份和恢復 blog 部署 filter 技術分享 摘要: 經過了四年的發展歷程,HBase 2.0終於發布上線,其增加了很多的新特性,能夠更好地適應更多的場景,但是也有一些原本計劃的特性並沒有隨之上線。在未來的HBase 3.0版本中,又有哪些特

國內各大網際網路公司相關技術部落格3.0版 (集合騰訊、阿里、百度、搜狐、浪、網易、360等共29個)

近日重新整理了一番,希望能對大家有所幫助 2013年 騰訊系列(13)  阿里系列(18)  百度系列(3)  搜狐系列(3)  新浪系列(2)  360系列(2)   其他(9) 2016年 騰訊系列(9)  阿里系列(5)  百度系列(6)  搜狐系列(1)

[Cocos2d-x v3.x]Mac OX 創建的Cocos2d-x 3.0 項目

tor cor code none cocos 分享 oid folder left 文章內容來自於: http://cocos2d-x.org/wiki/How_to_Start_A_New_Cocos2D-X_Game Mac OS X 10.9 So

Apache Flink 1.3.0正式發布及其功能介紹

space str either update sse ant 新功能 sid ask 下面文檔是今天早上翻譯的,因為要上班,時間比較倉促,有些部分沒有翻譯,請見諒。 2017年06月01日兒童節 Apache Flink 社區正式發布了 1.3.0 版本。此版本經歷了四個

Servlet 2.0 && Servlet 3.0 特性

ack amp 特性 call all callback 如何 nbsp let 概念:透傳。 Callback 在異步線程中是如何使用的。?? Servlet 2.0 && Servlet 3.0 新特性 Servlet 2.0 &a

COCOS2D-X 3.0在MAC下創建IOS項目:

col size clas ios 版本號 ons -m 創建 版本 首先進入:CocoStudio\Source\3.0\cocos2d-x\tools\cocos2d-console\bin 運行 ./cocos new -p com.aaaa -l cpp

Android Studio 3.0 下載 使用功能介紹

card offline sta 主目錄 index 執行 sources message tree 谷歌2017發布會更新了挺多內容的,而且也發布了AndroidStudio3.0預覽版,一些功能先睹為快。(英語一般,有些翻譯不太好) 下載地址 https://dev

linux安裝 redis(redis-3.0.2.tar.gz) 和 mongodb(mongodb-linux-x86_64-rhel62-4.0.0)

壓縮包 data 配置 查看 serve etc all linux sta 1:首先 要下載 這兩個 壓縮包 註意:liunx是否已經安裝過 gcc沒安裝的話 先安裝:yum install gcc-c++ 2:安裝 redis:redis-3.0.2.tar.gz   

3.0技術架構落地

            名稱