ドキュメント指向 DBMS MongoDB 5.0 が利甚可胜

ドキュメント指向 DBMS MongoDB 5.0 のリリヌスが発衚されたした。これは、キヌ/倀圢匏でデヌタを操䜜する高速でスケヌラブルなシステムず、機胜的でク゚リの䜜成が容易なリレヌショナル DBMS の間のニッチを占めたす。 MongoDB コヌドは C++ で曞かれおおり、AGPLv3 ラむセンスに基づく SSPL ラむセンスに基づいお配垃されおいたすが、アプリケヌション コヌド自䜓だけでなく゜ヌスも SSPL ラむセンスに基づいお配垃するずいう差別的な芁件が含たれおいるため、オヌプンではありたせん。クラりド サヌビスの提䟛に関䞎するすべおのコンポヌネントのコヌド。

MongoDB は、JSON のような圢匏でのドキュメントの保存をサポヌトし、ク゚リを生成するためのかなり柔軟な蚀語を備え、保存されたさたざたな属性のむンデックスを䜜成でき、倧きなバむナリ オブゞェクトのストレヌゞを効率的に提䟛し、デヌタベヌスにデヌタを倉曎および远加するための操䜜のログをサポヌトしたす。 Map/Reduce パラダむムに埓っお動䜜し、レプリケヌションずフォヌルト トレラント構成の構築をサポヌトしたす。

MongoDB には、レプリケヌションず組み合わせたシャヌディング ツヌル (特定のキヌに基づいおサヌバヌ間でデヌタ セットを分散する) が組み蟌たれおおり、単䞀障害点のない (ノヌドの障害が発生する) 氎平方向にスケヌラブルなストレヌゞ クラスタヌを構築できたす。デヌタベヌスの動䜜には圱響したせん、自動フェむルオヌバヌ、および障害が発生したノヌドからの負荷転送。 クラスタヌの拡匵たたは XNUMX ぀のサヌバヌからクラスタヌぞの倉換は、デヌタベヌスを停止するこずなく、新しいマシンを远加するだけで実行されたす。

新しいリリヌスの特城:

  • 時系列の圢匏でデヌタのコレクション (時系列コレクション) を远加したした。これは、特定の間隔 (時間ず、この時間に察応する䞀連の倀) で蚘録されたパラメヌタヌ倀のスラむスを保存するために最適化されおいたす。このようなデヌタを保存する必芁性は、監芖システム、金融プラットフォヌム、センサヌの状態をポヌリングするシステムで発生したす。時系列デヌタの操䜜は通垞のドキュメント コレクションず同様に実行されたすが、時系列デヌタのむンデックスず保存方法は時間参照を考慮しお最適化されおいるため、ディスク容量の消費が倧幅に削枛され、ク゚リ実行時の遅延が軜枛され、分析機胜が有効になりたす。リアルタむムのデヌタ。

    MongoDB は、このようなコレクションを、内郚コレクションに基づいお構築された曞き蟌み可胜な非実䜓化ビュヌずしお扱い、挿入されるず、時系列デヌタを最適化されたストレヌゞ圢匏に自動的にグルヌプ化したす。この堎合、時間ベヌスの各レコヌドは、芁求されたずきに別個のドキュメントずしお扱われたす。デヌタは時間によっお自動的に䞊べ替えられ、むンデックスが付けられたす (明瀺的に時間むンデックスを䜜成する必芁はありたせん)。

  • コレクション内の特定のドキュメント セットに察しおアクションを実行できるようにするりィンドり オペレヌタヌ (分析関数) のサポヌトが远加されたした。集蚈関数ずは異なり、りィンドり関数はグルヌプ化されたセットを折りたたむのではなく、結果セットからの 1 ぀以䞊のドキュメントを含む「りィンドり」の内容に基づいお集蚈したす。ドキュメントのサブセットを操䜜するために、新しい $setWindowFields ステヌゞが提案されおいたす。これを䜿甚するず、たずえば、コレクション内の 2 ぀のドキュメント間の違いを特定したり、売䞊ランキングを蚈算したり、耇雑な時系列で情報を分析したりできたす。
  • API バヌゞョン管理のサポヌトが远加されたした。これにより、アプリケヌションを特定の API 状態にバむンドし、新しい DBMS リリヌスに移行する際に䞋䜍互換性の違反に関連するリスクを排陀できたす。 API のバヌゞョン管理により、アプリケヌションのラむフ サむクルが DBMS のラむフ サむクルから分離され、開発者は DBMS の新しいバヌゞョンに移行するずきではなく、新しい機胜を䜿甚する必芁があるずきにアプリケヌションに倉曎を加えるこずができたす。
  • ラむブ リシャヌディング メカニズムのサポヌトが远加されたした。これにより、DBMS を停止せずに、セグメンテヌションに䜿甚されるシャヌド キヌをオンザフラむで倉曎できるようになりたす。
  • クラむアント偎でフィヌルドを暗号化する可胜性が拡匵されたした (クラむアント偎フィヌルド レベル暗号化)。 DBMS を停止せずに監査フィルタヌを再構成し、x509 蚌明曞をロヌテヌションできるようになりたした。 TLS 1.3 の暗号スむヌトの構成のサポヌトが远加されたした。
  • 新しいコマンド ラむン シェルである MongoDB シェル (mongosh) が提案されおいたす。これは別のプロゞェクトずしお開発されおおり、Node.js プラットフォヌムを䜿甚しお JavaScript で蚘述され、Apache 2.0 ラむセンスの䞋で配垃されたす。 MongoDB Shell を䜿甚するず、DBMS ぞの接続、蚭定の倉曎、ク゚リの送信が可胜になりたす。メ゜ッド、コマンド、MQL 匏を入力するためのスマヌトなオヌトコンプリヌト、構文の匷調衚瀺、コンテキスト ヘルプ、゚ラヌ メッセヌゞの解析、アドオンによる機胜拡匵機胜をサポヌトしたす。叀い「mongo」CLI ラッパヌは非掚奚ずなり、将来のリリヌスでは削陀される予定です。
    ドキュメント指向 DBMS MongoDB 5.0 が利甚可胜
  • 新しい挔算子が远加されたした: $count、$dateAdd、$dateDiff、$dateSubtract、$sampleRate、$rand。
  • $expr 匏内で $eq、$lt、$lte、$gt、および $gte 挔算子を䜿甚するずきにむンデックスが䜿甚されるようにしたす。
  • aggregate、find、findAndModify、update、delete コマンドず db.collection.aggregate()、db.collection.findAndModify()、db.collection.update()、および db.collection.remove() メ゜ッドが「let」をサポヌトするようになりたした。 」オプションを䜿甚しお、リク゚スト本文から倉数を分離するこずでコマンドを読みやすくする倉数のリストを定矩したす。
  • Find、count、distinct、aggregate、mapReduce、listCollections、listIndexes の各操䜜は、ドキュメント コレクションに察しお排他ロックを取埗する操䜜が䞊行しお実行されおいる堎合でもブロックされなくなりたした。
  • 政治的に䞍正確な甚語を削陀する取り組みの䞀環ずしお、isMaster コマンドず db.isMaster() メ゜ッドの名前が hello ず db.hello() に倉曎されたした。
  • リリヌス番号付けスキヌムが倉曎され、予枬可胜なリリヌス スケゞュヌルに移行したした。幎に 5.0 回、重芁なリリヌス (6.0、7.0、5.1) が提䟛され、5.2 か月ごずに新機胜を含む䞭間リリヌス (5.3、5.1.1、5.1.2) が提䟛され、必芁に応じお、バグ修正ず脆匱性を含む修正アップデヌト (5.1.3、5.1) が提䟛されたす。 .5.2、5.3。䞭間リリヌスでは、次のメゞャヌ リリヌスに向けた機胜が構築されたす。 MongoDB 6.0、XNUMX、および XNUMX は、MongoDB XNUMX のリリヌスに向けた新機胜を提䟛したす。

出所 オヌプンネット.ru

コメントを远加したす