OceanBase APとは
OceanBaseデータベース(OceanBase Database)は、企業向けに完全自社開発されたネイティブ分散データベースです。一般的なハードウェア上でも、金融業界が求める高可用性を実現します。業界初の「3リージョン・5データセンター」アーキテクチャにより、都市レベルでの自動ディザスタリカバリを損失なく実現し、TPC-Cベンチマークで新記録を達成しました。単一クラスタで1,500ノードを超える規模にも対応可能で、クラウドネイティブ、強い整合性、そしてOracleやMySQLとの高い互換性を誇ります。バージョンV4.3.xにおいて、OceanBaseは分析処理(AP)能力を重点的に強化し、単一のシステムでオンライントランザクション(TP)とリアルタイム分析(AP)という2つのワークロードへの対応を実現しました。今回のアップデートでは、行指向と列指向を統合したストレージエンジンを実装すると同時に、新たなベクトル化エンジンおよびカラムストアを考慮したコスト評価モデルを導入しました。とりわけ、独自開発のカラムナエンジンのリリースは、完全なリアルタイム分析能力を確立する上で重要なマイルストーンとなります。

コア特性
行指向・列指向統合ストレージエンジン:
ワークロードの種類に応じて、行指向・列指向・行列混在テーブルを柔軟に定義できます。エンコーディング圧縮、Skip Index(スキップインデックス)、クエリプッシュダウンなどの機能を強化し、クエリ性能とデータ圧縮率を向上させました。
ベクトル化実行エンジン:
ベクトル化エンジンを全面的に刷新しました。より優れた列指向データ記述フォーマットを採用し、新フォーマットに基づいてオペレータや式、ストレージのベクトル化を最適化したことで、クエリ性能が大幅に向上しています。
マルチモーダル統合:
マルチモーダルを全面的にサポートし、B-Treeインデックス、JSONマルチバリューインデックス、全文検索インデックス、ベクトルインデックスなどの技術を完全に融合しました。
マテリアライズドビュー:
マテリアライズドビューの機能を拡充しました。ニアリアルタイムおよびリアルタイムのマテリアライズドビュー、さらにSQLの自動書き換えに対応し、大規模なクエリ処理を高速化します。
データインポート:
外部テーブル機能をさらに強化し、CSV、Parquet、ORCなどの一般的なデータ形式をサポートしました。S3、OSS、HDFS、ODPSなどの多様なストレージシステムと互換性があり、ODPS Catalogとの連携も可能です。
コンピュートとストレージの分離:
ホットデータとコールドデータの階層化に対応しました。全データをオブジェクトストレージに配置してコストを削減しつつ、ホットデータをローカルディスクにキャッシュすることでクエリ性能を高めます。コンピュートノード、データストレージ容量、ログサービスはそれぞれ独立して拡張・縮小が可能であり、高可用性を維持しながら優れたコストパフォーマンスを提供します。
適用シナリオ
シナリオ1:HTAPハイブリッドワークロード
- 統合されたシンプルなアーキテクチャ:同一のエンジン、同一のデータで、トランザクションと分析の両方のワークロードを同時にサポートします。また、業務要件に応じて、行列混在ストレージとカラムストアレプリカという2種類のデプロイ構成を選択可能です。
- 低コストで大容量ストレージを実現:LSM-Treeアーキテクチャおよび高度な圧縮エンコーディング技術に基づき、従来のソリューションと比較してストレージコストを70%~90%削減します。
- 高同時実行計算のサポート:OceanBaseのピアツーピアアーキテクチャは、本質的に複数マシンによる並列計算をサポートしています。最大でPB(ペタバイト)クラスの容量に対応し、業務全体のデータに対して安定したストレージ基盤を容易に提供します。
- マルチシナリオの分離:基盤となるリソース分離技術およびユーザーリソースグループ技術により、複数のシナリオやユーザー間でのタスクリソースの分離を実現しています。
シナリオ2:リアルタイムデータ分析
- リアルタイムデータ更新:LSM-Treeアーキテクチャに基づき、効率的なリアルタイム書き込みをサポートします。増分データは行指向、ベースラインデータは列指向で保存され、定期的または適応的(アダプティブ)にマージを実行して新たな列指向ベースラインを生成します。データは書き込まれると即座にクエリ可能となり、リアルタイム性が保証されます。
- 高い正確性と強整合性:Multi-Paxosプロトコルを使用して複数のレプリカ間でのデータ整合性を実現しています。また、MVCCモデルを採用し、ノンブロッキングな読み書きと読み取りデータのトランザクション整合性を保証します。リーダーレプリカに基づく強い整合性読み取りと、その他レプリカでの弱い整合性読み取りをサポートし、WAL(Write-Ahead Logging)メカニズムによりデータの永続性と原子性を担保します。
- 高性能コンピューティング:カラムストア技術、コンピュートプッシュダウン、および圧縮データに対するクエリ処理により、高性能なデータ検索を実現します。オプティマイザによるクエリの書き換えやルール/コストベースの実行計画選択に加え、パラレル実行エンジンやベクトル化エンジンの最適化を活用することで、高い計算性能を発揮します。さらに、マテリアライズド・ビュー機能を提供し、大量データの検索・分析を強力にサポートします。
- 高可用性:TP(トランザクション処理)が持つ高可用性を継承しており、RPO=0、RTO<8秒を実現します。単一データセンターから「3リージョン5データセンター」構成まで柔軟なデプロイが可能で、システムの自動災害復旧(DR)をサポートします。クラウドデータベース版では、共有ストレージと独立したログサービスに基づく単一レプリカ形態もサポートしており、コストを抑えつつシステムの高可用性を最大限に保証します。
- スムーズなスケーリング:サービスを中断することなく、スムーズに水平方向(スケールアウト/イン)・垂直方向(スケールアップ/ダウン)のスケーリングが行えます。水平方向のスケーリング中には、組み込みのデータ動的バランシング機構により、データとサービス負荷がノード間で均等に分散されます。
- マルチモーダル融合:多様なデータモデルを全面的にサポートし、B-Treeインデックス、JSONマルチバリューインデックス、全文検索インデックス、ベクトルインデックスなどの技術を完全に融合しています。
- コンピュートとストレージの分離:複数のコンピュートノードが同一のストレージデータにアクセスすることをサポートします。ローカル永続キャッシュとオブジェクトストレージを組み合わせることで、コストパフォーマンスに優れたコンピュートとストレージの分離アーキテクチャを実現しています。
シナリオ3:PL/SQLバッチ処理
- 究極のパフォーマンス向上、処理のボトルネックを打破:OceanBaseのカラムナエンジンは分析シナリオ向けに設計されており、データは列ごとに保存されるため圧縮率が高く、I/Oが大幅に削減されます。ベクトル化実行エンジンと組み合わせることで、CPUは1行ごとではなく、メモリ上のデータのバッチに対して一括計算を行うことができ、CPUキャッシュヒット率と計算効率が劇的に向上します。典型的なバッチ処理タスクにおいて、10倍以上のパフォーマンス向上が可能であり、業務のバッチ処理ウィンドウの短縮を容易にし、準リアルタイム分析の可能性を広げます。
- 意識させないスムーズな移行、業務リスクを最小化:OceanBaseはOracleと高度に互換性があり、一般的なSQL構文やデータ型だけでなく、PL/SQLストアドプロシージャとも高い互換性を持ちます。これにより、顧客はOracleに蓄積された大量の業務ロジックを含むストアドプロシージャを、ほとんど修正することなくOceanBaseへ移行できます。アプリケーション層のコードを全く変更する必要がないため、移行のリスク、コスト、期間を大幅に削減し、「不可能」と思われたシステムのモダナイゼーションを実現します。
- 統合型アーキテクチャによるコスト削減と効率化:従来の「OLTPデータベース + データウェアハウス/ビッグデータ基盤」という分離型アーキテクチャでは、2つのシステムを維持する必要があり、データは複雑なETL/CDCを経て同期されるため、構成が複雑で高コストでした。OceanBaseの統合型アーキテクチャは、1つのシステムでオンライントランザクションとバッチ分析処理の両方を担います。組み込みのリソース分離機能により、カラムストア上で分析タスクを実行しても、行指向ストレージ上のトランザクションタスクと激しいリソース競合が発生することはありません。これにより技術スタックが簡素化され、運用管理の複雑さが軽減されるだけでなく、データの重複保存やシステム間の同期コストも回避でき、企業のTCO(総所有コスト)を大幅に削減します。
技術アーキテクチャ
- OceanBaseデータベースの技術アーキテクチャについては、OceanBaseシステムアーキテクチャを参照してください。
- OceanBaseデータベース技術原理の詳細については、OceanBaseシステム原理の章を参照してください。