次の新機能をご覧ください。
5.5.1の新機能
5.5.1 ドライバー パッチ リリースには次の変更が含まれています。
トランザクションで実行される操作を含む、セッションで実行される操作によってトリガーされると、OIDC 再認証が失敗する問題を修正します。
5.5 の新機能
重要
MongoDB Server 4.0 のサポートの削除
Kotlin Syncドライバー v5.5 はMongoDB Server4.0 のサポートを削除します。サーバーの互換性のあるバージョンの詳細については、「 互換性 」を参照してください。
5.5 ドライバー リリースには、次の変更、修正、機能が含まれています。
ドライバー パフォーマンス ベンチマークに反映されるパフォーマンスの向上を導入します。パフォーマンス ベンチマーク テストの結果を表示するには、次のパフォーマンスの改善セクションを参照してください。
パフォーマンスの向上
このセクションの表は、同期Javaドライバーのパフォーマンス テストの結果を示しています。テストは、次の構成のMongoDB Server 8.0 配置で実行されました。
localhostで実行中のネットワークレイテンシは無視できます。高レイテンシの環境では、パフォーマンスの大きな改善は見られない可能性があります。認証が無効になっています。
TLS が無効になっています。
すべてのMongoDB Javaドライバーでも、改善された driver-core APIを共有しているため、同様のパフォーマンス向上が予想されます。
標準トランスポート設定
次の表は、標準のトランスポート設定で構成されたドライバーの v5.5 のパフォーマンス テストの結果を示しています。各行には、テストされた機能、パフォーマンスの割合の改善、およびz スコアが含まれます。
機能 | 改善率 | Z スコア |
|---|---|---|
BSON深度デコード | 19.44% | 5.4 |
ディープBSONエンコーディング | 102% | 22.8 |
多数を検索し、カーソルを空にする | 25.08% | 13.72 |
IDで 1 つを検索 | 2.7% | 3.16 |
平面BSONデコード | 31.2% | 9.38 |
平面BSONエンコーディング | 199.5% | 12.34 |
BSON の完全なデコード | 16.5% | 7.23 |
BSONでの完全なエンコーディング | 147.3% | 10.39 |
JSON- LD マルチファイルのインポート | 21.8% | 8.21 |
大規模なドキュメントを含むクライアント一括挿入 | 91.3% | 24.44 |
大規模なドキュメントを含むコレクションの一括挿入 | 96.5% | 8.79 |
大きなドキュメントの一括挿入 | 93.3% | 8.11 |
小さなドキュメントの一括挿入 | 39.3% | 5.72 |
大きなドキュメントを持つ 1 つを挿入 | 82.4% | 7.28 |
小さなドキュメントを含むクライアント一括挿入 | 49.5% | 17.99 |
小さなドキュメントを含むコレクションの一括挿入 | 47.8% | 6.44 |
Netty Transport Settings
次の表は、Netty トランスポート設定で構成されたドライバーの v5.5 に対するパフォーマンス テストの結果を示しています。各行には、テストされた機能、パフォーマンスの割合の改善、およびz スコアが含まれます。
機能 | 改善率 | Z スコア |
|---|---|---|
多数を検索し、カーソルを空にする | 40.3% | 14.81 |
IDで 1 つを検索 | 4.4% | 4.12 |
JSON- LD マルチファイルのインポート | 16.9% | 3.77 |
大規模なドキュメントを含むクライアント一括挿入 | 54.8% | 14.49 |
大規模なドキュメントを含むコレクションの一括挿入 | 104.9% | 38.72 |
大きなドキュメントの一括挿入 | 74.6% | 65.55 |
大きなドキュメントを持つ 1 つを挿入 | 66.6% | 58.65 |
小さなドキュメントを含むクライアント一括挿入 | 36.1% | 15.41 |
小さなドキュメントを含むコレクションの一括挿入 | 39.3% | 37.38 |
小さなドキュメントの一括挿入 | 35.1% | 41.51 |
Tip
ドライバー パフォーマンス ベンチマーク テストの方法の詳細については、 パフォーマンス ベンチマークの仕様 を参照してください。
5.4 の新機能
5.4 ドライバー リリースには、次の変更、修正、機能が含まれています。
BsonConfigurationbson-kotlinx直列化中のスニペットケース変換のために に のサポートを追加します。詳しくは、 直列化ガイドの スニペットの命名戦略の実装 セクションを参照してください。
CSFLE と QE の
$lookup操作をサポートします。詳細については、サーバー マニュアルの次の参照を参照してください。アプリケーションで使用する可能性のあるMongoDB JVMアーティファクトのバージョンを管理するための アイテムの請求書(BOM) を導入します。アプリケーションに BOM を追加する手順については、「 ダウンロードとインストール 」チュートリアルの「 ドキュメントのドライバー請求の追加 」ステップを参照してください。
MONGODB-AWS認証メカニズムをテストするために、 Amazon Web Services SDK の依存関係を 2.30.31 と 1.12.782 に更新します。ClientUpdateOneOptionsクラスとClientReplaceOneOptionsクラスに並べ替えオプションを追加します。この変更により、クライアントの一括書き込みで更新操作と置換操作のソート順序を設定できるようになります。詳細については、 一括書込み操作ガイドの「更新操作」および「置換操作」のセクションを参照してください。OIDC認証のKubernetesサポートを追加します。詳細については、 エンタープライズ認証メカニズムガイドの「MONGODB-OIDC: Kubernetes」セクションを参照してください。
次のMongoDB Search クエリ演算子のファーストクラスのサポートを追加します。
phraseregexqueryStringequalsmoreLikeThisinwildcard
close()を呼び出すと、操作タイムアウトに影響せずにtimeoutMS設定を更新するようにカーソルを更新します。hintオプションを指定して、distinct()メソッドを呼び出すときにインデックスを使用できるようにします。
このリリースの変更の完全なリストを表示するには、 Githubの v5.4 リリースノートを参照してください。
5.3 の新機能
5.3ドライバー リリースには、次の新機能、改善点、修正が含まれています。
重要: 次のマイナー リリースでは、 MongoDB Serverバージョン4.0 のサポートが終了し、サポートされる最小バージョンが4.2 に引き上げられます。重大な変更に対応するために、アプリケーションに変更を加えることをお勧めします。 アップグレードの詳細については、サーバー マニュアルの「 リリースノート 」セクションを参照してください。
ベクトルのストレージと検索用のBSONバイナリ サブタイプ 9 を実装するために
BinaryVectorクラスを追加します。 このクラスは、Doubleインスタンスのリストと比較して、値のより効率的なストレージを提供します。 ベクトルに含まれる要素の型に基づいて、次のベクトル型を作成できます。Int8BinaryVector: 8 ビット符号付き整数のベクトルFloat32BinaryVector: 浮動小数点数のベクトルPackedBitBinaryVector: バイナリ量子化ベクトル(ベータで、一般利用可能になるまでに変更される可能性があります)
この機能の詳細については、Atlas ドキュメントのベクトル量化を参照してください。このタイプの詳細については、 BinaryVector APIドキュメントを参照してください。
接続プールの実装から明示的な均等性を削除します。 この変更により、多くのアプリケーションスレッドで
MongoClientインスタンスを使用すると、スループットが向上する可能性があります。 ただし、この変更により 追尾レイテンシが増加する可能性があります。updateOne()メソッドとreplaceOne()メソッドに並べ替えオプションを追加します。 この変更により、ReplaceOneModelインスタンスとUpdateOneModelインスタンスの作成時にオプションとして並べ替えを設定することもできます。 詳しくは、「 ドキュメントの更新 」、「 ドキュメントの置換 」、および「 一括書込み操作 」のガイドを参照してください。
ビルダクラスメソッドをデータクラスプロパティで直接使用するためのサポート。詳しくは、「データ クラスでビルダを使用する」ガイドを参照してください。この機能は、このリリースで公開されたKotlin Syncドライバー拡張機能パッケージによってサポートされています。
クライアント一括書き込みAPI を実装し、同じ呼び出しで複数のデータベースとコレクションに対して書き込み操作を実行できます。この機能の詳細については、 一括書込み操作ガイドの「 クライアント一括書込み 」セクションを参照してください。
5.2 の新機能
重要
MongoDB Server 3.6 のサポートの削除
Kotlin Syncドライバー v5.2 はMongoDB Server3.6 のサポートを削除します。サーバーの互換性のあるバージョンの詳細については、「 互換性 」を参照してください。
5.2ドライバー リリースには、次の新機能、改善点、修正が含まれています。
クライアント側操作タイムアウト(COT)の設定を有効にします。この機能を使用すると、
MongoClientインスタンスに単一のタイムアウトを設定して、そのクライアントで実行されるすべての操作に適用できます。詳細については、 「サーバー実行時間の制限」 のガイドを参照してください。重要
非推奨のタイムアウト オプション
次のタイムアウト オプションは非推奨です。
waitQueueTimeoutMSsocketTimeoutMSwTimeoutMSmaxTimeMSmaxCommitTimeMS
これらのオプションの機能を置き換えるには、CSO 機能を使用します。
SearchIndexTypeインスタンス の構築時に渡すことができるSearchIndexModelクラスを追加します。この変更により、 Atlas Search またはベクトル検索インデックス の作成時にインデックスタイプを指定できるようになります。詳細については、「 MongoDB Search とベクトル検索インデックスのガイド 」を参照してください。SCRAM-SHA-1とSCRAM-SHA-256認証メカニズムを実装するアルゴリズムの実装を、構成された JCA プロバイダーに委任します。 この変更により、アプリケーションは構成された FIPS 準拠の JCA プロバイダーを使用して、より高いレベルのセキュリティを提供できるようになります。JVMドライバーのバージョン管理と一致するように mongodb-crypt 依存関係のバージョン管理を改訂します。
mongodb-cryptの将来のバージョンはドライバーと一緒にリリースされ、同じバージョン番号を共有します。mongodb-cryptの依存関係を v5.2.0 にアップグレードする必要がありますこのリリースのドライバーをアップグレードする際。詳細については、 「使用中の暗号化」ガイドを参照してください。サポートされているすべてのプラットフォームにネイティブ暗号化を実装ことにより、パフォーマンスが向上しました。 次のリストでは、オペレーティング システムに応じて、この改善を実装するために必要なアクションについて説明します。
Windows :
mongodb-cryptのバージョンを v 5.2.0にアップグレードします。Mac :
mongodb-cryptのバージョンを v 5.2.0にアップグレードします。Linux :
mongodb-cryptJARファイルにバンドルされているファイルを使用する代わりに、ファイルシステムにlibmongocrypt.soを直接インストールします。libmongocryptをインストールするためのLinux手順については、サーバー マニュアルを参照してください。 パッケージマネージャーを使用してlibmongocryptをインストールすると、 Java Native Access(JLA)は、追加の構成なしでそれを見つけます。 あるいは、LD_LIBRARY_PATH環境変数をlibmongocryptパッケージのファイルパスに設定することで検索パスを指定できます。OpenSSL バイナリの互換性がない可能性があるため、バンドルされている共有ライブラリは OpenSSL にリンクされていないため、直接インストールすることをお勧めします。
共有ライブラリのロードは JANA によって処理されます。ライブラリ検索パス順序のロードルールについては、Nativeライブラリクラスのドキュメント を参照してください。
状況によっては
InsertOneResult.getInsertedId()メソッドとInsertManyResult.getInsertedIds()メソッドが誤ったドキュメント ID を返す問題を修正します。 この変更は、 Kotlin Sync ドライバー v 5.1.4と v 4.11.4にバックポートされます。シャーディングされたクラスター操作が成功しない場合、ドライバーは他の
mongosサーバーが使用可能な場合、操作の再試行に同じmongosサーバーを選択しないようにします。アプリケーションがGraalVM Native イメージを使用するときに必要なアクセス可能性メタデータを追加します。このメタデータは、ドライバー ライブラリを使用するときに到達可能性メタデータを収集する必要があることを置き換えます。詳細については、 GraalVM ドキュメントのアクセス可能性メタデータを参照してください。
この変更では、
libjnidispatchとlibmongocryptのリソースエントリは追加されません。サポートされているすべてのプラットフォーム(ターゲット)のエントリを追加すると、 GraalVM ネイティブ イメージを使用してビルドされたネイティブ実行可能ファイルのサイズに大きく影響するためです。このサンプルresource-config.jsonファイルをドライバーGithubリポジトリで表示して、アプリケーションがorg.mongodb:mongodb-cryptライブラリに依存している場合にこれらのエントリを明示的に指定する方法を確認します。VectorSearchOptionsAPI を拡張して次の特定のオプション サブタイプを導入することで、正確なベクトル検索を有効にします。ExactVectorSearchOptions: このオプション タイプを使用して完全一致を有効にし、結果が特定のクエリ ベクトルに最も近いベクトルになるようにします。ApproximateVectorSearchOptions: このオプション タイプを使用すると、正確な最も近いベクトルが返されない可能性がある検索を有効にできます。 このタイプをインスタンス化するときにnumCandidatesパラメータを渡して、考慮する最近傍の数を指定できます。
MongoDB ベクトル検索機能の使用の詳細については、 MongoDB ベクトル検索クイック スタート Kotlin (Sync)を参照し、言語ドロップダウンから を選択してください。
Kotlin の日付と時刻型を string ではなく、期待される型として BSON にマッピングできる
kotlinx-datetimeライブラリのシリアライザーのサポートを追加します。 詳細については、 Kotlin 直列化 ガイドの「日付と時刻を直列化する 」セクションを参照してください。JsonElement 値の直列化をサポートします。
JsonElementタイプを扱うには、アプリケーションにkotlinx-serialization-jsonライブラリを依存関係として追加する必要があります。
5.1.3の新機能
5.1.3 ドライバー パッチ リリースには次の変更が含まれています。
Cursor型の使用時にアサーション エラーが発生する可能性がある問題を修正しました。
5.1.2の新機能
5.1.2 ドライバー パッチ リリースには次の変更が含まれています。
null 可能なジェネリック パラメータ型で Kotlin データ クラスをエンコードするためのサポート。 たとえば、次のコードで
Containerクラスをエンコードできます。data class Box<T>( val boxed: T ) data class Container( val box: Box<String?> )
5.1.1の新機能
5.1.1 ドライバー パッチ リリースには次の変更が含まれています。
MONGODB-OIDC認証メカニズムを使用する場合、authMechanismProperties接続文字列値にカンマ文字を含めることはできません。 この動作の詳細については、MONGODB-OIDCガイドを参照してください。
5.1 の新機能
警告
このリリースの廃止
ドライバーの将来のメジャー リリースで重大な変更を避けるため、非推奨のプログラム要素に依存するアプリケーション コードをすべて置き換えます。
このセクションには、次の情報が含まれています。
5.1での非推奨
MongoDB Server v 3.6のサポートは非推奨であり、次のドライバー バージョンのリリースで削除される予定です。 MongoDB Server 配置をアップグレードする方法については、MongoDB Server マニュアルのリリースノートを参照してください。
5.1での改善
GraalVM ネイティブ イメージ テクノロジーの内部テスト。 これらのテストには、 GraalVM ネイティブ イメージ ツールを使用してネイティブ アプリケーションをビルドすることが含まれます。
MONGODB-OIDC認証メカニズムのサポートを強化します。OIDC の詳細については、MONGODB-OIDCガイド を参照してください。多形の
MongoCollectionインスタンスの使用時に操作で誤ったコーデックが使用される問題を修正しました。 これにより、bson-kotlinxを使用するときに弁別子情報が失われることがなくなります。多形の
MongoCollectionインスタンスを使用する際に、クラス弁別子がデコード中の最初のフィールドであり、フィールド型エラーが発生する問題を修正します。
5.1の新機能
多態的な 直列化 のサポート。 詳細については、 Kotlin 直列化 ガイドの「多形直列化」セクションを参照してください。
serverMonitoringMode接続 URI オプションを導入します。 詳細については、「接続オプションの指定 」ガイドを参照してください。
5.0 の新機能
5.0 ドライバー リリースの新機能は次のとおりです。
KotlinSerializerCodecProviderコンストラクターがserializersModulebsonConfigurationオブジェクトと オブジェクトを受け入れるようになりました。KotlinSerializerCodec.create(clazz.kotlin, serializersModule=serializersModule, bsonConfiguration=bsonConfiguration) これにより、構成をカスタマイズしやすくなります。
コンテナ タイプの消去につながる Kotlin 反映バグを修正します。