中年engineerの独り言 - crumbjp

LinuxとApacheの憂鬱

MongoDB2.6リリースノート斜め読み!

ご存知の通りMongoDB2.6がリリースされました!

相変わらず乱文で解説!!

Aggregation Enhancements

Aggregationが強化された。

db.collection.aggregate() がカーソルを返却するようになった
今まで最終結果には64MBの制約があったが、解消されたようだ。

というかそれが普通。。。

パイプラインがexplainをサポート
今までは感覚で是非を判断していたので嬉しい改善!
ディスクソートが効率的になった
$out オペレータで指定のコレクションに結果出力が可能
今までは結果をforで回して入れなおしてたのでこれも便利。
$redact でパイプライン中にデータの微修正ができる
あんまり使う機会が思い当たらない。。
多分この様な用途でMongoDBを使うこと自体が詰んでる。
新しいoperator
  • $let, $map
  • $literal, $size
  • $cond

この辺りはまたいずれ。。
本当に大規模のデータを扱ったときにAggregationは非力なので、ちょっと便利に使いたい人向けの機能と思ってよい。

Text Search Integration

大丈夫。使い物にならない。

Insert and Update Improvements

consistency に関わる改善がある。

MongoDBはドキュメントの"フィールド"の順番を保つルールがある
  • _id は常に先頭
  • フィールド値の更新やリネームは順番が変わる場合がある
UPDATE系の新オペレータ
  • $bit xor
  • $min/$max update if max or min
  • $push capped-array系(昔ここで解説した)に$position が追加
  • $currentDate (説明不要)
  • $mul multiplicative increments マニアック。。。

また少し便利になった!

New Write Operation Protocol

write concernの辺りのアップデート。結構重要

Ordered Operations
処理順を保障し、失敗があった時点で以降の処理を中止する。
Write operation: A => B => C => D
Bが失敗した場合、C , Dはキャンセル
結果、Aだけが反映。
Unordered Operations
順序性は無い。失敗があったオペレーションだけが影響を受ける
Write operation: A => B => C => D
Bが失敗した場合、Bだけが影響を受ける
結果、A,C,Dが反映。

MSI Package for MongoDB Available for Windows

どうでもいい

Security Improvements

SSLが使えるようになった。
以上。

が、、多くのDBと同じく、DBはDMZ以降にあるべきで、SSL化してスループットが落ちるのは許容できん。