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で開発での開発の成果物。

发布历史

VersionRelease DateTopics世界の動向first commit2007/10/202000行のコードがコミットされる初代iPhoneが発表されるv1.02009/08/27レプリケーション, Capped Collection
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

mongodb_30

可插拔式存储引擎

    MMAPv1とWiredTigerをリリース

锁的级别

    • MMAPv1はCollection Level Lock

 

    WiredTigerはDocument Level Lock

MongoDB 3.2 => MongoDB 三点二版

MongoDB 3.2 公告 | MongoDB 博客 | MongoDB

mongodb_32.png

文件验证

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:

mongodb_34.jpg

图计算

$graphLookup:对集合进行递归搜索。

分面导航

$facet:用于子查询管道的操作符。对输入的文档执行多个管道处理,并输出包含这些管道结果的文档。发音为”Facet”。

数据库视图

只能进行读取的所谓“视图”。

十进制数据类型

支持decimal128格式。支持34位数以及指数范围从-6143到+6144。

MongoDB Atlas 是一个托管的云上数据库服务。

MongoDB作为一项云服务提供。

mongodb_atlas.png

MongoDB Compass 是一个MongoDB数据库的可视化工具。

MongoDB的图形用户界面工具。可以通过图形界面进行CRUD操作。

mongodb_compass.png

MongoDB 3.6 (即将推出)

mongodb_36.gif

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_jira.png

指数的发展

mongodb_indexes.png

索引 – MongoDB 手册 3.4

IndexesVersion概要Multikey Indexv1.0複合インデックスGeospatial Indexv1.4地理空間インデックスSparse Indexesv1.8インデックス対象のfieldがない場合、インデックスしないCovered Queriesv1.8インデックス対象fieldのみのクエリーの場合に、Collectionを探索せずにダイレクトに結果を返すTTL Indexesv2.2Time-To-Live. 期間を指定して作成することで、期間を過ぎると自動的にデータを削除するText Indexesv2.4全文検索。v3.4の時点では日本語未対応。Index Intersectionv2.61つのクエリーで2つのインデックスをMongoDB側でうまく組み合わせて使ってくれるPartial Indexesv3.2条件を設定することで、インデックスの作成対象をコレクション内の全ドキュメントではなく、一部のドキュメントに限定する

存储引擎

从MongoDB 3.0起可供选择。

存储引擎是数据库的一个组件,负责管理数据的存储方式,包括内存和磁盘。MongoDB支持多个存储引擎,因为不同的引擎对特定的工作负载表现更好。选择适合你使用情况的存储引擎可以显著影响应用程序的性能。

Storage Engine概要WiredTigerv3.2からデフォルトに。Enterprise版ではEncryptionをサポート。MMAPv1v3.0までデフォルトで使われていたEngine。In-MemoryEnterprise版で使える。

锁定级别的变化

Lock LevelVersionStorage EngineGlobal~ v2.0-DBv2.2-Collectionv3.0MMAPv1Documentv3.0WiredTiger

MongoDB公司的資金募集歷史

DateAmount / RoundLead InvestorJul, 2008$1.5M / Series AUnion Square VenturesNov, 2009$3.4M / Series BFlybridge Capital PartnersDec, 2010$6.5M / Series CSequoia CapitalSep, 2011$20M / Series DSequoia CapitalMay, 2012$42M / Series ENew Enterprise AssociatesOct, 2013$150M / Series ET. Rowe PriceJan, 2015$80M / Series F-Aug, 2017IPO?-

MongoDB 在 crunchbase 上的资料

最近的趋势

2017年的MongoDB全球大会

2017年6月20日举办。

mongodb_world2017.jpg

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

mongodb_world2017_keynote.png

MongoDB 图表(即将推出)

MongoDB Charts是一個集成於MongoDB的工具,用於創建非常簡單、以文件為中心且美觀的圖表。該工具可以將存儲在MongoDB中的任何統計數據視覺化。

据说MongoDB 3.6将与其一同发布。

mongodb_chart_01.gif
mongodb_chart_02.gif

发布说明翻译

    • 第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
广告
将在 10 秒后关闭
bannerAds