このドキュメントでは、OBKV-Tableクラスタの接続モードとデプロイ方法について説明します。
OBKV接続モード
OBKV-Tableクラスタには、直接接続モードとODPモードの2つの接続モードがあります。使用するモードによって、デプロイが必要なコンポーネントが異なります。
直接接続モード
直接接続モードでは、OBKVクライアントがOceanBaseクラスタに直接接続します。OBKVクライアントはルーティング機能を提供し、データリクエストを正しいOBServerノードに送信し、実行結果をユーザーに返します。
直接接続モードでは、OceanBaseのメタデータの登録、保存、照会にOceanBase Config Serverを使用します。
OBServerクラスタのRegionServer Listが変更されると、変更内容がConfig Serverに送信されます。OBKV-TableはConfig Serverから最新のRegionServer Listのアドレスを取得できます。通常はクライアント自身でリストの変更を検知するため、Config Serverへのアクセスが必要になるのは、クライアントの初期化時と、リスト内のサーバーがすべて同時にオフラインになった場合だけです。
ODPモード
OceanBase Database Proxy(略称:ODP)は、OceanBaseデータベース専用のプロキシサーバーです。OceanBaseデータベースのユーザーデータは複数のレプリカとして各OBServerノードに保存されています。ODPはOBKVクライアントから送信されたRPCリクエストを受信し、最適なターゲットOBServerにRPCリクエストを転送し、実行結果をユーザーに返します。
注意
Community版のODPは4.3.1バージョンからOBKVをサポートしています。
接続モードの選択
直接接続モードはODPモードと比較して、データパスにおいて1つのホップが少なく、遅延が低くなります。直接接続モードでは、OBServerノードのRPCポートをクライアントアクセス用に公開する必要があり、ポート管理の複雑さが増します。 ODPモードでは、ODPがOBServerノード自体の分散性による複雑さを隠蔽し、接続管理、ロードバランシング、無限の水平スケーリングなどの機能を提供します。ODPを通じて、ユーザーはOceanBaseクラスタをより容易に運用・保守できます。
一般的に、プライベートデプロイメントでは直接接続モードを選択し、クラウド上のデプロイメントではODPモードを選択できます:
- パブリッククラウドでは、業務クラスタとデータベースクラスタの間にネットワーク分離があり、メッセージのルーティングにODPが必要です。プライベートクラウドでは、アプリケーションとデータベースを疎結合にしたい場合(例えば、データベースの移行をアプリケーション側で意識せずに済むようにしたい場合)、ODPモードを使用することもできます。
- プライベートデプロイメントの一部のシナリオでは、業務用とデータベース用のデータセンター間にネットワーク分離があります。このようなシナリオでもODPのデプロイを検討できます。IPマッピングおよびロードバランシングコンポーネントを通じて、業務リクエストをODPに送信し、ODPが一元的にデータベースへの業務リクエストを転送します。
OBKVクラスタのデプロイ
OBKVクラスタは、実際にはMySQLテナントを使用するOceanBaseクラスタです。必要に応じて適切なデプロイメントプランと方法を選択できます。
OBKVクラスタのデプロイでは、接続モードによって追加でデプロイするコンポーネントが異なります:
- 直接接続モードでは、OceanBase Config Serverを追加でデプロイする必要があります。
- ODPモードでは、ODPを追加でデプロイする必要があります。そのため、デプロイプロセスでは対応するコンポーネントのデプロイを選択することに特に注意してください。
適切な製品エディションの選択
必要に応じて、適切なプロダクト形態、デプロイメントプラン、デプロイメント方法を選択してください。
OceanBase データベースは、Enterprise版 と Community版 の 2 つの形態を提供しています。Community版 (ODP 4.3.1 バージョン) および Enterprise版 は ODP モードと直接接続モードの両方をサポートしているため、ビジネスニーズに合わせて適切なプロダクト形態を選択できます。
適切なデプロイメントプランの選択
OceanBase データベースは、シェアード・ナッシング (Shared-Nothing) をベースとしたマルチレプリカアーキテクチャを採用しており、システム全体で単一障害点が存在しないため、システムの継続的な可用性が保証されます。
OceanBaseデータベースは、サーバー、データセンター(IDC)、都市の各レベルで高可用性とディザスタリカバリをサポートしています。単一データセンター、2つのデータセンター、2リージョン・3データセンター構成、3リージョン・5データセンター構成でのデプロイに対応し、アービトレーションサービスを利用してコストを削減することもできます。
各デプロイメントプランの詳細については、OceanBase クラスタ高可用性デプロイメントプラン紹介を参照してください。
適切なデプロイメント方法の選択
プロダクト形態 |
適用シナリオ |
推奨デプロイ方法 |
デプロイツール |
|---|---|---|---|
| OceanBase Enterprise版 | 本番環境 | OceanBase クラスタのデプロイには、OCP の使用を推奨します。 詳細な操作手順については、OCP を使用した 3 レプリカ OceanBase クラスタのデプロイを参照してください。 |
OAT + OCP |
| OceanBase Enterprise版 | 非本番環境 | コマンドラインを使用して OceanBase クラスタをデプロイできます。 詳細な操作手順については、コマンドラインを使用した 3 レプリカ OceanBase クラスタのデプロイを参照してください。 |
oatcli コマンドラインツール |
| OceanBase Community版 | 本番環境 | 標準デプロイには OBD の使用を推奨します。 詳細な操作手順については、OBD グラフィカルインターフェースを使用した OceanBase クラスタのデプロイを参照してください。 |
OBD |
| OceanBase Community版 | Kubernetes 環境 | ob-operator を使用したデプロイを推奨します。 詳細な操作手順については、Kubernetes クラスタへの OceanBase データベースのデプロイを参照してください。 |
ob-operator |
| OceanBase Community版 | ネイティブでサポートされていない OS(macOS や Windows など)でのクイック体験シナリオ | Docker イメージを使用したデプロイを推奨します。 詳細な操作手順については、OceanBase Community版のクイック体験を参照してください。 |
|
| OceanBase Community版 | ネイティブでサポートされている OS(Linux シリーズ、詳細はサポート OS リストを参照)でのクイック体験シナリオ | OBD を使用したデプロイを推奨します。詳細な操作手順については、OceanBase データベースのクイック体験を参照してください。 | OBD |
リソースの計画
適切なデプロイメントプランを選択し、デプロイを開始する前に、デプロイに必要なリソースを計画および準備する必要があります。
サーバーの構成要件については、サーバーの準備を参照してください。