新年新技術: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),大大提高了索引資料的壓縮比。從我們運維同事的簡單的測試結果來看很客觀:
- 寫效能提高
官方的說是提高了7-10倍,從我們簡單的測試結果看雖然沒有那麼誇張但確實有不小提升:
我們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技術架構落地
名稱