適用シナリオ
以下のシナリオでは、ビジネスニーズに対応するためにOceanBaseの読み取り専用レプリカを検討できます:
シナリオ1:システムが大規模な読み取りリクエストに直面しており、現在のOceanBaseクラスタインスタンスのスタンバイレプリカでは、増加する読み取り負荷に対応できず、応答時間が遅延し、ユーザーエクスペリエンスに影響を与えています。この場合、読み取りリクエストを分散させ、プライマリクラスタの負荷を軽減するために、読み取り専用レプリカのリソースを追加で拡張する必要があります。
シナリオ2:ビジネスシナリオでは書き込みリクエストの安定性に対する要求が非常に高く、完全な読み書き分離を実現し、読み取りリクエストのトラフィックを元のクラスタインスタンスに送信しないことを望んでいます。
技術原理
OceanBaseデータベースクラスタインスタンスの読み取り専用レプリカ機能は、OceanBaseデータベースカーネルの読み取り専用レプリカによって実装されています。これはPaxosメンバーとしてログの投票に参加するのではなく、観察者としてPaxosメンバーのログをリアルタイムで追従し、ローカルで再生します。ビジネスにおけるデータ読み取りの一貫性に対する要求がそれほど高くない場合、読み取り専用サービスを提供できます。Paxosの詳細については、Paxosプロトコルを参照してください。
プロキシ層では、ユーザーが読み取り専用レプリカのアクセスアドレスを作成した後、プロキシサービスの設定を通じて、ビジネストラフィックが読み取り専用レプリカが存在するマシンに送信され、データが読み取られます。
前提条件
OceanBaseデータベースのバージョン:読み取り専用レプリカの使用にはバージョン制限はありませんが、読み取り専用カラムストアレプリカを使用するには、データベースのバージョンがV4.3.3以上である必要があります。
サポートされているインスタンスタイプ:フラッグシップ版インスタンス
サポートされているクラウドベンダーチャネル:Alibaba Cloud、Tencent Cloud、Huawei Cloud、AWS
説明
一部のインスタンスは、現在読み取り専用レプリカの有効化をサポートしていません。業務上緊急の読み取り専用ニーズがある場合は、技術サポートスタッフに連絡し、実行可能な代替案の評価を依頼してください。
課金
課金方式は従量課金です。詳細については、読み取り専用レプリカの課金についてを参照してください。
従量課金のクラスタインスタンスに読み取り専用レプリカを作成する場合、読み取り専用レプリカとクラスタインスタンスのライフサイクルは一致します。
クラスタインスタンスの満了ロック期間中は、読み取り専用レプリカもロックされます。
クラスタインスタンスが期限切れで解放された場合、読み取り専用レプリカも直接解放されます。
機能の特長
トラフィック分散:読み取り専用レプリカのアクセスアドレスを使用して、アプリケーションに読み取りトラフィックを読み取り専用レプリカに分散させるよう誘導し、クラスタインスタンスの負荷を軽減します。特に読み取り集約型のアプリケーションシナリオで有効です。
水平スケーリング:読み取り専用レプリカは、クラスタインスタンスと同様に、スペックの拡張・縮小、ノードの拡張・縮小が可能です。そのため、ユーザーはビジネスニーズに応じて読み取り専用レプリカを動的に調整し、異なる時間帯の読み取りリクエストの変化に対応できます。
データの一貫性:読み取り専用レプリカおよび読み取り専用カラムストアレプリカのデータ一貫性は最終的一致性であり、OceanBaseカーネルのPaxosの非同期レプリケーションによって実現されます。使用時には、ビジネスにおけるデータの一貫性に対する要求を適切に評価する必要があります。
機能の制限
デプロイメントプランの制限:デュアルデータセンターおよびマルチデータセンターにデプロイされたクラスタインスタンスでは、OceanBaseデータベースは読み取り専用レプリカの作成をサポートします。読み取り専用レプリカが1つ増えるごとに、プロキシアドレスを1つ追加で作成できます。
スペックの制限:
読み取り専用レプリカ内のノードスペックは同一でなければなりません。異なる読み取り専用レプリカ間でノードスペックを変更しても構いません。
読み取り専用レプリカのノードスペック選択について、所属するクラスタインスタンスがV4.xバージョンの場合、ノードの最小構成は4コアをサポートします。所属するクラスタインスタンスがV3.xバージョンの場合、ノードの最小構成は8コアをサポートします。
読み取り専用レプリカ数の制限
データベースバージョンV4.3.5未満では、最大で3つの読み取り専用レプリカ、読み取り専用カラムストアレプリカ、またはその任意の組み合わせを作成できます。V4.3.5以降のバージョンでは、最大で10個の読み取り専用レプリカを作成できます。
今後追加の読み取り専用レプリカを購入する場合、そのクラスタで新たに1つの読み取り専用レプリカインスタンスを購入するたびに、作成可能なアクセスアドレスの数が1つずつ増加します。
手順
OceanBaseデータベースの読み取り専用レプリカ機能を使用するには、まずクラスタインスタンスに読み取り専用レプリカを作成し、次にそのクラスタインスタンスのテナントで読み取り専用レプリカを有効にし、最後に対応するテナントに読み取り専用レプリカのアクセスアドレスを追加します。具体的な操作手順については、クラスタの読み取り専用レプリカの追加、テナントの読み取り専用レプリカの追加、アクセスアドレスの追加を参照してください。