説明
ストレージとコンピュートの分離アーキテクチャは現在利用できませんが、今後サポートされる予定です。
マルチクラウド環境でよりコスト効率の高いデータベースサービスを提供するため、OceanBaseデータベースでは、汎用オブジェクトストレージを基盤としたストレージとコンピュートの分離アーキテクチャを実現しています。ストレージとコンピュートが統合されたアーキテクチャでは、メモリにホットデータをキャッシュすることでパフォーマンスを向上させます。これに対して、ストレージとコンピュートの分離アーキテクチャでは、メモリキャッシュに加えてローカル永続化キャッシュを導入し、セカンダリーホットデータをキャッシュします。
メモリキャッシュ:マイクロブロックやインデックスデータなど、最もアクセス頻度の高いデータをキャッシュします。
永続化キャッシュ:データをローカル物理ディスクまたはクラウドディスクに保存し、セカンダリーホットデータをキャッシュします。主な機能は以下のとおりです。
オブジェクトストレージから読み取ったデータをキャッシュします。
データをプリフェッチします。例えば、全表スキャンを実行する際に、読み取るデータをあらかじめローカルディスクにキャッシュします。
プリヒートします。メジャーコンパクションの前にホットデータをローカルキャッシュにロードします。システムが一時的な障害から復旧して再起動した場合でも、永続化キャッシュは引き続き有効です。これにより、障害復旧時のパフォーマンス変動を抑えることができます。
RTOを確保するため、ローカル永続化キャッシュへのアクセスシーケンスをフォロワーレプリカにリアルタイムで同期し、リーダーレプリカとフォロワーレプリカのキャッシュデータを基本的に一致させます。データのレプリケーションや移行を実行する際にも、ローカルキャッシュデータをターゲット側に転送することで、レプリケーションや移行後のパフォーマンスを確保します。
書き込みキャッシュ:ローカルディスクの低遅延という特性を活用し、ローカルディスクをライトキャッシュとして使用します。メタデータファイル、最新のclog、mini-dumpなど、重要なローカル状態を記録します。
オブジェクトストレージ:システムのすべてのデータを格納します。クラスタの共有clog、ベースラインデータのほか、ローカル物理ディスクやクラウドディスクの空き容量が不足した場合に使用するノードのプライベートデータ(増分データや一時ファイルなど)が含まれます。オブジェクトストレージはほぼ無制限の容量を確保できますが、アクセス遅延が大きくなります。
マルチレベルキャッシングにより、ホットデータへのアクセス性能を確保しながら、オブジェクトストレージを基盤としてTPとAPのビジネス要件を同時に満たす製品を提供できます。