OceanBase V4.4.2は、ハイブリッドワークロード向けのTP/Apサービス統合LTSバージョンであり、4.2.5 LTSのトランザクション処理能力と4.3.5 LTSの分析処理能力を深く統合しています。データ管理、互換性、システムセキュリティ、運用保守診断など、多角的にカーネル機能を体系的に強化し、重要なトランザクションワークロードと複雑な分析ワークロードに対して、より強力で安定した技術サポートを提供します。
V4.4.2はLTSバージョンとして、TP、AP、HTAP業務での利用を推奨します。
主な特徴
カーネルの強化
パーティション交換機能により、パーティションテーブルとサブパーティションテーブルの交換が可能になりました
パーティション交換機能により、サブパーティションテーブルのパーティションとパーティションテーブルとの交換が可能になりました。詳細は、パーティション交換(MySQLモード)およびパーティション交換(Oracleモード)を参照してください。
OBCDCはテーブルレベル復元後の増分データ同期をサポートします
OBCDCはホワイトリストとブラックリスト機能をサポートしており、データ同期時にはホワイトリストに含まれ、かつブラックリストに含まれていないテーブルのみを同期します。新バージョンでは、OBServerでのテーブルレベル復元プロセスの最後に、テーブル名に基づいてホワイトリストとブラックリストを照合し、増分データ同期をサポートします。
マテリアライズドビュー機能の強化
V4.4.2バージョンでは、マテリアライズドビューの機能が引き続き改善されています。これには以下が含まれます:
- DDL機能の強化:
RENAMEをサポートし、マテリアライズドビューのログに列の追加をサポートします。 - 増分更新機能の強化:外部結合、
UNION ALL、単一テーブルの非集約モード、LEFT JOINを含む集約マテリアライズドビューなどのタイプを新たにサポートし、重複するSELECT ITEMとGROUP BY列、MIN/MAX集約マテリアライズドビューの増分更新機能を強化します。 - ネストマテリアライズドビュー機能の強化:連鎖更新をサポートします。
- マテリアライズドビュー更新時の次元テーブルの非更新:マテリアライズドビュー作成時に、新規の
AS OF PROCTIME()構文を使用して更新不要のテーブルを指定することで、マテリアライズドビューの増分更新実行時にそのテーブルの増分データを更新しないようにします。 - 単一テーブル集計の増分更新マテリアライズドビュー:
MIN()/MAX()集計関数をサポートします。 - MLOGの自動管理:増分更新マテリアライズドビュー作成時に、ベーステーブルに必要なMLOGテーブルを自動的に作成・置き換え、バックグラウンドで冗長なMLOGテーブルを定期的にクリーンアップします。
md5_concat_ws関数のサポート。- マテリアライズドビューのビュー内容とマテリアライズドビュー作成時のエラーメッセージの最適化。
- 主キーのないテーブルに基づく増分マテリアライズドビューのサポート。
AS OF PROCTIME()と宣言されたビューへの参照のサポート。- マテリアライズドビューはUDTとUDFをサポートし、
minimalモードをサポートします。
- DDL機能の強化:
セッションレベルのプライベート一時テーブルをサポートします
V4.1.0 BP4バージョン以降、MySQLモードでは一時テーブル機能が無効になっていましたが、V4.4.2バージョンではMySQL互換モードでの一時テーブル機能の使用が許可され、一時テーブルの作成、変更、削除、および一時テーブルに基づくインデックスの作成などの機能がサポートされます。
異種ゾーンをサポートします
新バージョンでは異種ゾーンのデプロイをサポートしており、テナントは2種類のUNIT NUMを設定できます。ノードに障害が発生した場合、障害ノードを直接削除でき、他のゾーンの調整が不要で、運用保守が簡素化され、トラフィックへの影響も少なく、スムーズなスケーリングを実現します。使用方法については、スムーズなスケーリングのアプリケーション事例を参照してください。
OBCDCはvirtual生成列の同期をサポートします
OceanBase 4.0バージョン以降、virtual生成列はCLOGに記録されなくなったため、OBCDCはCLOGからvirtual生成列を同期できませんでした。これにより、virtual生成列に依存するダウンストリームシステムにとって、virtual生成列の値を取得できないことはデータの損失を意味し、受け入れられませんでした。新バージョンのOBCDCはvirtual生成列の同期をサポートし、ダウンストリームシステムのvirtual列データに対する消費ニーズを満たします。
Oracle互換性
INTERVALパーティション
新バージョンではOracleテナントモードで INTERVALパーティション機能が実装されました。新規挿入されるデータが既存のパーティションの範囲を超えると、自動的に新しいパーティションが作成され、パーティション管理の複雑さが低減します。詳細はパーティションの概要を参照してください。
OBKV/マルチモーダル機能の強化
OBKVにおける弱い読み取りと最寄りデータセンターからの読み取りのサポート
- 弱い読み取り:業務が非リーダーレプリカ(フォロワー)からデータを読み取ることを許可します。これらのレプリカは最新ではない可能性があるため、読み取ったデータはリーダーレプリカのバージョンよりも若干古くなる場合があります。
- 最寄りデータセンターからの読み取り:クライアントは現在の地理的位置やネットワークトポロジーに基づき、自身に最も近いデータセンターから優先的にデータを読み取ります。これにより、ネットワーク遅延が削減され、応答速度が向上します。
パフォーマンスの向上
直列テーブル作成のパフォーマンス最適化
DDLのパフォーマンスを向上させるため、4.2.xバージョンではCREATE/DROPなどのDDLの並列実行機能をサポートしました。しかし、並列をサポートしないDDLが存在する場合、並列DDL機能を利用できません。そのため、直列DDLのパフォーマンスを最適化する必要がありました。この機能は直列テーブル作成を対象シナリオとし、スキーマの生成、書き込み、リフレッシュなどのプロセスを最適化し、直列テーブル作成の速度を大幅に向上させるとともに、他のタイプのDDLの実行速度もわずかに向上させます。テストによると、1000個のsysbenchシンプルテーブルを作成する際、V4.4.2はV4.3.5と比較して、パフォーマンスが60%向上しました。
国産CPU大規模マシン環境におけるパフォーマンス最適化
主に国産CPU環境における典型的なシナリオのCPUホットスポットを最適化し、PDMLとレプリケーションテーブルクエリのパフォーマンスを最適化します。大規模な256コア環境において、高並行PDMLのパフォーマンスが25%向上し、非PDMLシナリオでのメモリ使用量が削減されました。業務がフォロワーからレプリケーションテーブルをクエリするパフォーマンスが14倍向上し、QPSが2万から27万以上に増加し、直接リーダーからクエリする30万QPSとの差が10%未満となりました。32コアの小規模環境においても、上記の最適化によりパフォーマンスが向上します。
PXの適応型タスク分割
PXスキャンにおいて長尾タスクが発生する現象に対処するため、長尾タスクを適応的に再分割し、負荷の再分散機能を実現し、クエリ速度を向上させます。詳細は分散実行と並列クエリを参照してください。
セキュリティの強化
業務非感知型の列暗号化をサポート
V4.4.2バージョンでは、業務非感知型のデータ保護機能をサポートしています。データベース管理者はテーブルに対して列レベルのデータ保護ルールを作成でき、機密ルールに関連するDDLステートメントの作成、削除、変更および関連する権限制御処理をサポートします。機密データに関わるSELECT操作で関連するPLAINACCESS権限がない場合は暗号化された結果を返し、DML操作は権限なしでエラーとなります。
使いやすさの向上
ASHデータの整合性強化
V4.2.5ではASHが再構築され、テナントのキュー要求状態を追跡できるようになりました。各要求は毎秒1件ずつASHバッファにレコードとして書き込まれます。現在のASHバッファサイズは30MBで、約5万件のデータを格納できます。2分ごとにメモリ内のデータをディスクにフラッシュする必要があるかどうかをチェックしますが、キューに大量の要求が滞留する場合、ASHバッファがデータをディスクに書き込む間に既に上書きされてしまい、問題イベントの重要な診断データが失われることがありました。V4.4.2では、__all_virtual_ashテーブルに重み列weightを追加し、デフォルト値を1に設定しました。これにより、ASHバッファが急速に満杯になりそうな場合(通常はキューの滞留が原因)、各キューの待機イベントごとにASHレコードを書き込むのではなく、weightを用いて1つのレコードに複数のイベントをまとめて記録することで、診断データの整合性を強化します。
SQLSTATの再構築
SqlstatはSQL実行情報を統計し、RT異常SQLの特定を支援するために使用されます。以前は、lib cacheの使用量が多すぎてplan cacheが制限されたり、leaderノードのスナップショットのみを更新してfollowerデータが誤ってしまったり、データのディスクフラッシュが遅延したりする問題がありました。V4.4.2ではこれらの問題に対処するために再構築が行われました:sqlstatをテナントレベルのhashmapに独立して格納し、定期的にスナップショットを取って淘汰します。SQL実行統計はまずphysical plan層で累積され、条件を満たした後にhashmapに集約されます。仮想テーブルをクエリする際に自動的にデータが同期されるため、統計の正確性と即時性が向上しています。
関連ドキュメント
本記事では、主に重要な新機能や主要な特徴についてご紹介しました。より詳細なバージョン情報やその他の各バージョンの詳細については、当社のリリースノートをご覧ください: