MongoDB 1.0的发布历史及MongoDB 3.6新功能介绍
MongoDB发布历史
这是2017年MongoDB座谈会的演讲资料。
让我们回顾一下MongoDB的发布历史,并介绍从1.0版本到即将发布的3.6版本。
启动规则
-
- x.x.x: メジャー.マイナー.リビジョン
- マイナーが偶数だと安定版、奇数だと開発版
例子
-
- 2.0.0 : Stable release. 安定版リリース。
-
- 2.0.1 : Revision. リビジョン。
-
- 2.1.0 : Development release for testing only. 開発版リリース。
- 2.2.0 : Stable release. 安定版リリース。2.1.xで開発での開発の成果物。
发布历史
v1.22009/12/10Indexの改善, JSON PrettyPrinter, Map/Reduce, fsync リリースノート
v1.42010/03/25シャーディング alpha 3, クエリ言語追加( $elemMatch, $unset 他 ), GeoIndex登場, リリースノートNoSQLがバズワード化v1.62010/08/25シャーディング登場, レプリカセット登場, GridFS, リリースノートMongoDB JP立ち上がるv1.82011/03/16ジャーナリングのサポート, レプリカセットの強化, GeoIndexが球体対応, Indexに Sparse, Covered 追加, リリースノート
v2.02011/09/12並列処理性の改善, レプリカセット・シャーディングの改善、シャーディングでの認証機能, タグレプリカ機能, Data-Center Awareness, リリースノートデータセンター型へ, MMSリリース, CAのMongoDB記事v2.22012/08/29DB Level Lock, Aggregation Framework, タグシャーディング, TTL Collections, リリースノート丸の内MongoDB勉強会始まる, gihyo.jpで「MongoDBでゆるふわDB体験」連載開始, MongoDB Casual Talks, MongoDB + fluentdv2.42013/03/19全文検索, ロール, JavaScript EngineがV8に, GeoJSON, ハッシュドシャードキー, リリースノート2013/08/27 10genがMongoDB, Inc. に社名変更, 10月に$150Mの資金調達v2.62014/04/08Aggregation Pipelineの強化, 書き込み処理APIを根本変更, カスタムロール, セキュリティ機能, リリースノートエンタープライズユースへ, fluentd + MongoDB + Elasticsearch + Kibana でログの可視化, 2014/06/24 MongoDB World 2014 (初のMongoDB World)v3.02015/03/03Pluggable Strage Engine ( WiredTiger, MMAPv1 ), Collection Level Lock, Document Level Lock ( Only WiredTiger ), リリースノートMMS強化, 2015年1月に$80Mを調達v3.22015/12/08Document Validation, Partial Index, $lookup ( Aggregationでjoin ), ストレージエンジンの追加, JavaScript EngineがSpidermonkeyに, 全文検索にアラビア語、中国語、ペルシャ語、ウルドゥー語が追加, CRUD API追加, リリースノートBI Connector, Ops Manager (旧MMS)v3.42016/11/29Aggregation ( $graphLookup, $facet ) , View, Sort by collation, Apache Spark Connector, リリースノートAtlas, Compass, Multi-Datacenter Deploymentv3.6 upcoming2017/xx/xxAggregationの改善, 配列を扱いやすくする機能改善 リリースノート
MongoDB 3.0 三点零版本
MongoDB 3.0 发布公告 | MongoDB 博客 | MongoDB

可插拔式存储引擎
- MMAPv1とWiredTigerをリリース
锁的级别
-
- MMAPv1はCollection Level Lock
- WiredTigerはDocument Level Lock
MongoDB 3.2 => MongoDB 三点二版
MongoDB 3.2 公告 | MongoDB 博客 | MongoDB

文件验证
db.createCollection( "contacts",
{ validator: { $or:
[
{ phone: { $type: "string" } },
{ email: { $regex: /@mongodb\.com$/ } },
{ status: { $in: [ "Unknown", "Incomplete" ] } }
]
}
} )
局部索引
只能对通过partialFilter筛选的文档进行索引。
查找
在Aggregation中可以实现类似join的功能。
新的CRUD API
在 `xxxOne()` 和 `xxxMany()` 中的数量增加了。例如 `deleteMany()` 和 `deleteOne()`。
MongoDB 3.4:
MongoDB 3.4:

图计算
$graphLookup:对集合进行递归搜索。
分面导航
$facet:用于子查询管道的操作符。对输入的文档执行多个管道处理,并输出包含这些管道结果的文档。发音为”Facet”。
数据库视图
只能进行读取的所谓“视图”。
十进制数据类型
支持decimal128格式。支持34位数以及指数范围从-6143到+6144。
MongoDB Atlas 是一个托管的云上数据库服务。
MongoDB作为一项云服务提供。

MongoDB Compass 是一个MongoDB数据库的可视化工具。
MongoDB的图形用户界面工具。可以通过图形界面进行CRUD操作。

MongoDB 3.6 (即将推出)

MongoDB 3.6发布说明(开发系列3.5.x)— MongoDB 手册3.6.
安全性提升
- MongoDB 3.6からバイナリ配布のMongoDBのmongodとmongosは、デフォルトではlocalhostをbindするようになりました。localhost以外からアクセスする場合は、 –bind_ip で指定してください。
汇总
-
- New Aggregation Operators
$arrayToObject : 配列をいい感じにObjectにしてくれる。
$objectToArray
$mergeObjects
New Aggregation Variable
REMOVE という条件に合うfieldを結果に含めなくする変数が使えるようになった。
New hint Option
hint() で使うindexを指定できる。
Support for Time Zones
$dateToString で %z, %Z を使ってoffsetでtimezoneを指定できるようになった。
数组更新运算符增强
findAndModify や update , その他いくつかのMethods ( update(), bulkWrite() など ) で、arrayFilters が使えるようになりました。
Multi-Element Array Updates: 配列の全ての要素を指す $ [ ] と arrayFilters で使える $[ ] をサポート。
https://docs.mongodb.com/master/reference/operator/update/positional-all/#up._S_[]
https://docs.mongodb.com/master/reference/operator/update/positional-filtered/#positional-update-arrayfilters
Negative Array Index Position for push
$position modifier でマイナスのindexが使えるようになりました。マイナスの場合は配列の最後から数えた要素を指します。
整体改进
ShardingTaskExecutorPoolMaxConnecting が追加された。
opensslCipherConfig が追加された。
zlib が —networkMessageCompressors でサポートされた。
nested document を含む fields へのクエリーへのIndexがサポートされた。
Diagnostics Capture (also known as FTDC) が mongos でサポートされた。以前はmongodのみだった。参考: Diagnostic Parameters
MongoDB 开发里程碑
JIRA不再明确注明发布日期了吗?

指数的发展

索引 – MongoDB 手册 3.4
存储引擎
从MongoDB 3.0起可供选择。
存储引擎是数据库的一个组件,负责管理数据的存储方式,包括内存和磁盘。MongoDB支持多个存储引擎,因为不同的引擎对特定的工作负载表现更好。选择适合你使用情况的存储引擎可以显著影响应用程序的性能。
锁定级别的变化
MongoDB公司的資金募集歷史
MongoDB 在 crunchbase 上的资料
最近的趋势
2017年的MongoDB全球大会
2017年6月20日举办。

凯莉·麦克冈尼格尔的双胞胎妹妹简·麦克冈尼格尔也在台上发言。

MongoDB 图表(即将推出)
MongoDB Charts是一個集成於MongoDB的工具,用於創建非常簡單、以文件為中心且美觀的圖表。該工具可以將存儲在MongoDB中的任何統計數據視覺化。
据说MongoDB 3.6将与其一同发布。


发布说明翻译
-
- 第2回 MongoDB 2.2の新機能:MongoDBでゆるふわDB体験|gihyo.jp … 技術評論社
-
- 第8回 リリース間近! MongoDB 2.4の新機能:MongoDBでゆるふわDB体験|gihyo.jp … 技術評論社
-
- まとめ!MongoDB 2.6のリリースノート翻訳と所感 – Qiita
-
- MongoDB 3.0 ( 2.8rc ) リリースノート翻訳 – Qiita
-
- MongoDB 3.2の新機能を先取りチェック – Shoken Startup Blog
-
- MongoDB 3.2 新機能アナウンスの説明 – Qiita
-
- MongoDB 3.4 New Features
- MongoDB 3.4 Release Notes 翻訳 – Qiita
参考资料
-
- MongoDB の歴史(MongoDB 2.0 まで) #mongodbjp – 今日も適当ダイアリー
-
- MongoDBでゆるふわDB体験:連載|gihyo.jp … 技術評論社
-
- MongoDB 3.2 で追加された $lookup ステージを使ってみる – Qiita
-
- (レポート) MongoDB勉強会:MongoDB v3.4新機能と遅いときの切り分け方法 | Developers.IO
MongoDB最新動向 – 日々の記録 別館 MongoDB 3.2 の話
MongoDBのGUI CRUDツール:MongoDB Compassを使ってみた | Developers.IO
MongoDB の Partial Indexes を試してみた | Developers.IO
B TreeとB+ Treeの違い – Carpe Diem
MongoDBのインデックス2 – Carpe Diem
MongoDB 下载链接
JIRA – JIRA工具
- JIRA: System Dashboard – MongoDB
使用手册文件
-
- The MongoDB 3.4 Manual — MongoDB Manual 3.4
-
- Indexes — MongoDB Manual 3.4
-
- Storage Engines — MongoDB Manual 3.4
- The MongoDB 3.6 Dev Series Manual — MongoDB Manual 3.6
下载
-
- https://www.mongodb.com/download-center#community
-
- https://www.mongodb.org/dl/osx
- https://www.mongodb.org/dl/linux