システムアーキテクチャのセクションでは、OceanBaseデータベースの全体アーキテクチャ、ストレージアーキテクチャ、データベースセキュリティ、データ信頼性、および高可用性について詳しく説明します。詳細については、OceanBase基本概念を参照してください。
OceanBaseデータベースは、シェアードナッシング(Shared-Nothing)分散アーキテクチャを採用しており、各ノードは対等な地位にあり、独立したSQLエンジン、トランザクションエンジン、ストレージエンジンをそれぞれ備えています。 データベースクラスタは複数のZone(アベイラビリティゾーン)で構成され、各Zoneには複数のOBServerノードが含まれ、SQLクエリ、トランザクション、データストレージを処理します。 OceanBaseデータベースはマルチテナントをサポートしており、各テナントはリソースが相互に隔離された独立したデータベースインスタンスです。
ストレージアーキテクチャ
OceanBaseデータベースは、LSM-Treeベースのストレージエンジンを採用し、データを静的ベースラインデータ(SSTable)と動的増分データ(MemTable)に分類します。 データはまずMemTableに書き込まれ、一定の規模に達すると、ディスクにダンプされてSSTableが形成されます。クエリはMemTableとSSTableに同時にアクセスし、クエリ結果を統合します。 データベースはBlock CacheとRow Cacheによりクエリパフォーマンスを最適化し、効率的な圧縮アルゴリズムを用いてストレージコストを削減します。
データベースセキュリティ
OceanBaseデータベースは、認証、アクセス制御、データ暗号化、監視・アラート、セキュリティ監査を含む包括的なセキュリティ体制を提供します。 データベースは、エンドツーエンドのデータ暗号化と透過的ストレージ暗号化をサポートし、データの送信および保存プロセスにおけるセキュリティを確保します。
データ信頼性と高可用性
OceanBaseデータベースは、マルチレプリカメカニズムとPaxosプロトコルにより、データの一貫性と高可用性を保証します。 データベースは、サーバーレベル、データセンターレベル、リージョンレベルの災害復旧をサポートし、RPO = 0、RTO < 8秒の高可用性基準を実現します。
データベースオブジェクト
OceanBaseデータベースは、データベースオブジェクトのデータをSSTableに格納し、テーブルスペースの自動管理をサポートしています。ユーザーはテーブルスペースを明示的に作成または管理する必要はありません。これらの機能が組み合わさり、OceanBaseデータベースのコアシステムアーキテクチャを形成し、分散アーキテクチャ、ストレージ最適化、セキュリティ、高可用性における技術的優位性を体現しています。