2021.08.11

Couchbase

Couchbase Server 7.0.0 GA版(リリース日:2021年7月)

以前のリリースからの動作の主な変更

● スコープとコレクションの導入により、Couchbase Serverはドキュメントをコレクションに格納します。コレクションは、バケット内にあるスコープに含まれています。デフォルトのスコープとデフォルトのコレクションは、名前付きのスコープとコレクションが使用できない場合、または、まだ作成されていない場合に使用されます。以前のバージョンからバージョン7.0にアップグレードすると、ドキュメントとインデックスはデフォルトのスコープとデフォルトのコレクションで使用できるようになります。移行ガイドには、名前付きスコープとコレクションを利用するために、以前のバージョンのCouchbaseからデータを移行する方法に関する情報が記載されています。

  ・コレクションごとにグローバルセカンダリインデックスを作成する必要があります。

● データサービスでの操作のアウトオブオーダー実行のサポートが追加されました。

 データサービスリクエストをすぐに完了できない場合、この拡張機能を使用して、接続のキューを先読みし、次のリクエストの作業を開始できます。アウトオブオーダー実行動作はデフォルトで有効になっており、無効にすることを選択できます。詳細については、Java SDKのドキュメントを参照してください。

● グローバルセカンダリインデックスは、インデックスの同時作成をサポートするようになりました。

● インターネットエンジニアリングタスクフォース(IETF)は、より新しく、より安全な標準を使用するという幅広い業界の動きに従い、TLS 1.0プロトコルと1.1プロトコルの両方を正式に非推奨にしました。これらの変更に合わせて、TLS暗号化を使用するクライアントはTLS 1.2以降を使用することを強くお勧めし、全てのCouchbase Server 7.0クラスタのデフォルトの最小TLSバージョンをTLS1.2に更新しました。現在サポートされているSDKは既にTLS 1.2標準をサポートしているため、ほとんどの場合、アプリケーションを変更する必要はありません。

 最小TLSをより低いバージョンに設定する必要がある場合(非推奨)、https://docs.couchbase.com/server/current/manage/manage-security/manage-tls.html#set-the-minimum-tls-versionに記載されている手順に従ってください。

● Community Editionの更新されたライセンス

 Couchbase Serverには、Enterprise EditionとCommunity Editionの2つのエディションがあります。2つの違いとライセンス情報の詳細については、Couchbase Server Editionsページをご覧ください。

  ・Enterprise Edition - Enterprise Editionのライセンスは、Couchbase Enterprise Editionの
   開発とテストについては無料で提供します。実稼働のデプロイには有料サブスクリプションが必要です。
   CouchbaseのEnterprise Editionの詳細については、価格ページを参照してください。

  ・Community Edition - Community Editionライセンスは、最大5つのノードクラスタの部門規模の
   デプロイのためにCouchbase Community Editionの無料デプロイを提供します。最近、XDCRの使用を
   禁止するように変更されました。XDCRは、現在Enterprise Editionの排他的な機能です。

新しいサポートプラットフォーム

このリリースでは、次のプラットフォームのサポートが追加されています。
● 開発専用のmacOS Big Sur

非推奨の機能とプラットフォーム

<非推奨および削除されたプラットフォーム>
次のプラットフォームは非推奨であり、今後のリリースで削除される予定です。
● CentOS 8
● macOS 10.14 (Mojave)
● Microsoft Windows Server 2016

次のプラットフォームは削除され、使用できなくなりました。
● Ubuntu 16.04 LTS

<非推奨および削除された機能>
● サンプルデータセットのロードに使用される'cbdocloader'ツールは、このリリースでは非推奨になりました。'cbimport'ツールは同等の機能セットを提供し、コレクションに対応しているため、'--format sample'フラグを指定して'cbimport'ツールを使用できます。

● 全文検索サービスで使用可能なMOSSインデックスタイプは、このリリースでは非推奨になりました。

● パスワードなしのバケット(通常は以前にアップグレードされたクラスタ(5.xより前)からのバケット)のサポートは非推奨になりました。

● 古いバケットsasl_passwordはこのリリースで非推奨になりました。

● search_query()関数は非推奨になりました。代わりにSearch()関数を使用して、N1QLクエリ内で全文検索クエリを直接実行することをお勧めします。Search()関数を活用するための構文の変更については、https://blog.couchbase.com/n1ql-and-search-how-to-leverage-fts-index-in-n1ql-query/を参照してください。

● N1QLのビューインデックスはこのリリースで削除されました。

● データサービスヒストグラム'batch_read'は削除されました。代わりに、既存の'bg_load'ヒストグラムを使用して、バックグラウンドフェッチ期間を監視します。

既知の問題

このセクションでは、本リリースにある主な既知の問題を取り上げます。

<分析サービス>
● MB-46646
概要:リモートクラスタでのクォーラムフェールオーバーには、手動による介入が必要です。これらの手動の手順を実行しないと、分析サービスが通信しているノード、およびそれらのノードの状態に基づいて結果が異なります。

回避策:リモートクラスタでクォーラムフェールオーバーに続いて、次の手動手順を実行します。

 1. リモートリンクがまだ接続されている場合は、DISCONNECT LINKを実行します。
 2. ALTER LINKを実行して、存続するノードを指すようにリンクを更新します。
  この手順は、メタデータに保持されているトポロジをリセットするため、
  以前に指定したホストがまだクラスタ内にある場合でも必要です。
 3. CONNECT LINKを実行して、リンクを再接続します。

● MB-45996
概要:最小サイズの分析メモリクォータで最大サイズのドキュメント(20MB)を取り込むと、リンクが切断されるまで取り込み中に消費されるメモリの一部が解放されないため、分析サービスのヒープ領域が不足する場合があります。

回避策:この問題を回避するためには、クエリを実行する前に、小さいドキュメントを使用するか、分析サービスのメモリクォータを増やすか、リンクを切断します。

● MB-44849
概要:アクセス許可が失われたために切断されたリモートコレクションは、アクセス許可が再確立された場合、再接続されません。

回避策:CONNECT LINKを手動で実行して、接続を再確立します。

<データサービス>
● MB-47267
概要:大容量の永続バケットが多数あるクラスタでは、他のバケットのウォームアップの初期タスクの前に大容量の永続バケットのウォームアップタスクがスケジュールされているため、デルタノードのリカバリがタイムアウトする場合があります。

回避策:リーダースレッドの数を増やして、小さなバケットのウォームアップタスクの実行が遅れる可能性を減らします。

● MB-38978
概要:cbcollect_infoの実行などの特定の状況下では、リクエストに通常よりも時間がかかる場合があります。システムのワークロードとサイズによっては、これが数秒になることもあり、SDKからデフォルトのタイムアウト値がトリガーされる可能性があります。

回避策:ワークロードが高い間は、これらの統計情報またはcbcollect_infoを収集しないことをお勧めします。

<Eventingサービス>
● MB-45973
概要:単一のデータノードを持つクラスタをバージョン6.6から7.0にアップグレードした後、スワップがバージョン7.0にリバランスされた後、Eventingタイマーが期待どおりにトリガーされません。これは、2つ以上のデータノードがあるクラスタ、またはデプロイされたまたは一時停止されたタイマー付きのEventing関数がない場合には影響しないことに注意してください。

回避策:バージョン7.0にアップグレードする前に、タイマーを使用する全てのイベント関数をアンデプロイするか、2番目のデータノードを追加します(アップグレードの完了後に削除できます)。

● MB-45785
概要:Feed Boundary(フィード境界)が"From now"に設定されたEventing機能がそれがチェックポイントであることを無視し、Everythingからの処理を再開するという競合状態が存在します。この問題はUIにのみ影響し、ユーザーが一時停止、編集、または再開を連続してすばやく呼び出した場合に発生する可能性があります。

回避策:この問題は、REST APIを使用し、本番環境でEventing機能を一時停止および再開することで回避できます。

<インデックスサービス>
● MB-46725
概要:クラスタから1つ以上のインデックスノードを削除する安全でないフェイルオーバーの場合、残りのインデックスノードにレプリカがないために一部のインデックスまたはインデックスパーティションが使用できない場合でも、UIのRebalanceボタンが有効にならない場合があります。

回避策:CLIを介してリバランスコマンドを発行します。
couchbase-cli rebalance -c 127.0.0.1:8091 -u Administrator -p xxxxxx

<クエリサービス>
● MB-46876
概要:scan_vectorsを使用する場合、AT_PLUSクエリはコレクションでは機能しません。

<ビュー>
● MB-47094
概要:Couchbaseクラスタでリクエスト監査が有効になっている場合、ビューのクエリワークロードが非常に高いと、ビューエンジンの監査メッセージキューが無制限に大きくなり、ビューエンジンがクラッシュする可能性があります。

回避策:ビューがクラスタに存在する場合、監査を無効にします。

Couchbase Server 7.0.0 リリースノート(Couchbase社ウェブサイト):
https://docs.couchbase.com/server/7.0/release-notes/relnotes.html

Couchbaseサブスクリプション

CouchbaseCouchbaseサブスクリプションは、データベースSEによる日本語でのテクニカルサポートを付属した、公式サブスクリプションサービスです。

Couchbaseの詳細