すべてのプロダクト
Search
ドキュメントセンター

PolarDB:列指向テーブルとは

最終更新日:Mar 01, 2026

ビジネスデータの量が急増するにつれて、多くの企業にとって、大規模データセットのストレージコストと分析効率が重大な課題となっています。これらの課題に対処するため、PolarDB for MySQL は X-Engine の列指向テーブル機能を導入しました。この機能は、列指向ストレージ、効率的な圧縮、および並列計算技術を活用して、ストレージコストを元の 10% に削減し、分析クエリのパフォーマンスを桁違いに向上させます。MySQL エコシステムとの完全な互換性を維持しながら、低コストのデータアーカイブと高性能なリアルタイム分析を実現します。

機能概要

X-Engine の列指向テーブルは、コンピューティングとストレージの分離アーキテクチャを採用しています。コンピュートリソースとストレージリソースは個別にスケールし、PB スケールのデータ処理能力を提供します。ストレージレイヤーは分散ファイルシステムと Object Storage Service (OSS) に依存しています。コンピュートレイヤーは、クエリオプティマイザー、実行オペレーター、およびストレージエンジンの徹底的な最適化により、高性能な分析を実現します。

技術アーキテクチャ

PolarDB の全体アーキテクチャ

PolarDB は、分散ストレージレイヤー上に構築された、コンピューティングとストレージの分離アーキテクチャを使用しています。ParallelRaft プロトコルを使用して、複数レプリカの整合性を確保し、OSS を透過的にサポートします。コンピュートノードは、1 つの読み書き (RW) ノードと 1 つ以上の読み取り専用 (RO) ノードで構成されます。InnoDB と X-Engine の両方のエンジンをサポートしています。データベースプロキシは、アプリケーションとコンピュートノード間のブリッジとして機能し、読み書き分離と負荷分散を提供します。

image

列指向テーブルのアーキテクチャ

image.png

そのコアとなる技術コンポーネントは次のとおりです:

  • クエリオプティマイザー:行列混在ストレージ用の組み込みコストベースオプティマイザー (CBO) であり、クエリコストに基づいて最適な実行計画 (ローストアまたはカラムストアのいずれかを選択) をインテリジェントに決定し、自動的に選択します。

  • 実行オペレーター:列指向のベクトル化と並列実行技術を使用して、バッチ処理を通じて単一テーブルおよび複数テーブル結合の分析クエリを大幅に高速化します。

  • ストレージエンジン:リアルタイムのトランザクション更新をサポートします。プライマリテーブルは列指向ストレージを使用し、NCI (非クラスター化インデックス) コンポーネントを通じて高速な更新機能を提供します。Delete-mask メカニズムを使用して削除されたデータをマークし、リアルタイムの書き込みに影響を与えることなく効率的な並列クエリを可能にします。その行指向セカンダリインデックスは無効なデータを迅速に除外し、クエリ効率をさらに向上させます。

ソリューションの比較

適切なテーブルタイプを理解し、選択するために、次の表で従来の行指向テーブル (InnoDB など) と PolarDB の列指向テーブルの主な違いを比較します:

比較項目

行指向テーブル (X-Engine エンジン)

列指向テーブル

データ編成

データを行単位で隣接して格納し、1 つの行のすべての列をまとめて格納します。

データを列単位で隣接して格納し、1 つの列のすべての値をまとめて格納します。

データ圧縮率

中程度。InnoDB と比較して、データを元のサイズの最大 30% まで圧縮できます。

高。列指向ストレージと辞書エンコーディングなどの特殊なエンコーディングを使用することで、InnoDB と比較してデータを元のサイズの 10% まで圧縮できます。

クエリパフォーマンス

高いポイントクエリパフォーマンス。プライマリキーまたはインデックスに基づいて単一または少数の行を高速に読み取る必要があるシナリオ (OLTP) に適しています。

強力な分析パフォーマンス。クエリに関与する列のみを読み取るため、I/O が削減されます。ベクトル化された並列計算と組み合わせることで、集約および分析のパフォーマンスが行指向テーブルと比較して桁違いに向上します。

更新および削除のパフォーマンス

高。行を直接特定して変更します。

比較的低い。リアルタイム更新をサポートします。NCI コンポーネントを使用して、変更が必要なレコードを迅速に特定します。

利用シーン

OLTP (オンライントランザクション処理)。高同時実行の挿入、削除、更新、クエリ操作など。

OLAP (オンライン分析処理)。データアーカイブ、レポート生成、アドホッククエリ、大量データの集約および分析など。

機能

  • 高いコスト効率:列指向ストレージ、効率的なエンコーディング、高圧縮率のアルゴリズムを、OSS などの低コストのストレージメディアと組み合わせることで、大量データのストレージおよび処理コストを最大 90% 削減します。

  • 高性能なリアルタイム分析:データは取り込み後すぐに分析クエリで利用可能になります。マルチコア並列処理、ベクトル化、および Massively Parallel Processing (MPP) 技術により、専用の分析データベースに匹敵するクエリパフォーマンスを提供し、要求の厳しいリアルタイム分析要件を満たします。

  • 100% MySQL 互換:MySQL と一貫したデータ型システムとプロトコルを提供し、柔軟な型変換をサポートします。既存のアプリケーションやツールは変更なしで接続できます。

  • 独立した弾性スケーリング:コンピューティングとストレージの分離アーキテクチャにより、コンピュートノードとストレージ容量をオンデマンドで独立してスケールでき、ビジネスのピークやデータ増加にシームレスに対応します。

  • 堅牢なワイドテーブルサポート:単一のテーブルで最大 10,000 列をサポートし、大規模なワイドテーブルストレージと高同時実行書き込みのビジネスニーズを満たします。

  • 優れたユーザビリティ:単一のデータベースエンジン内で高圧縮ストレージと高性能分析を提供し、完全な DDL および DML サポートを提供することで、技術スタックと運用保守を簡素化します。

利用シーン

大量の履歴データの低コストなアーカイブ

  • 課題:ビジネスの成長に伴い、コアデータベース内の注文、ログ、取引記録などの履歴データが急速に拡大し、高価なストレージを大量に消費します。従来のデータ移行ソリューションはコストを削減しますが、データがオフラインになるため、直接オンラインでクエリできず、データ利用の複雑性が増します。

  • ソリューション:オンラインデータアーカイブに列指向テーブルを使用します。同じ PolarDB クラスター内で、コールドデータまたは履歴データテーブル全体を行指向テーブル (InnoDB) から列指向テーブルに移行します。

  • コアバリュー:

    • 劇的なコスト削減:最大 10:1 の圧縮率と OSS などの低コストのストレージメディアにより、ストレージコストが 90% 削減されます。

    • オンラインデータ:アーカイブされたデータはオンラインのままで利用可能です。複雑なデータ移行なしで、標準 SQL を使用していつでもクエリおよび分析できます。

    • ビジネスの透明性:アプリケーション層にとっては、通常の MySQL テーブルのように動作するため、変更は不要です。

専用データウェアハウスの構築

  • 課題:専用のデータウェアハウスを構築すると、多くの場合、高いハードウェアコスト、複雑なデータ同期パイプライン (抽出・変換・書き出し)、および運用保守のしきい値が高くなります。特に ClickHouse などの新しい技術スタックを導入する場合はなおさらです。

  • ソリューション:PolarStore の大容量データストレージ機能を活用して、複数の入力ソースからのデータを集約し、X-Engine の列指向テーブルを使用して一元的に保存します。これにより、大容量で低コストのストレージと、リアルタイムの集約および分析パフォーマンスが得られます。

  • コアバリュー:

    • コストと複雑さの大幅な削減:高価な専用ハードウェアを購入したり、異種の分析システムを導入したりする必要はありません。使い慣れた MySQL エコシステム内でデータウェアハウスを構築し、技術スタックと運用保守を効果的に簡素化します。

    • リアルタイムデータ分析:入力データを列指向テーブルにリアルタイムで集約して分析することをサポートし、従来の ETL (抽出・変換・書き出し) ソリューションによる T+1 のデータ遅延を回避します。

    • 大容量データ処理能力:X-Engine のストレージアーキテクチャと効率的な圧縮を活用し、PB レベルの大量データを低コストで保存および処理します。

フェデレーテッドクエリ分析

  • 課題:企業のビジネスデータはしばしば分散して保存されています。一部のデータは PolarDB などのオンラインデータベースにあり、他のデータは Object Storage Service (OSS) 上に Parquet や ORC などのオープンフォーマットで保存されています。これらのデータソースを共同で分析するには、通常、OSS のデータをデータベースにインポートするための複雑な ETL (抽出・変換・書き出し) プロセスが必要です。

  • ソリューション:PolarDB の外部テーブル機能を使用して、OSS 上のデータに直接関連付けます。

  • コアバリュー:

    • インプレース分析:データを移動またはインポートする必要はありません。PolarDB 内で OSS 上のファイルに対して直接外部テーブルを作成し、SQL を使用してクエリを実行します。

    • フェデレーテッドクエリ:PolarDB 内のローカルテーブル (ローストアまたはカラムストア) と OSS 外部テーブルとの間で JOIN 操作を簡単に実行し、オンラインデータとオフラインデータの統合分析を実現します。

パフォーマンステストレポート

以下のパフォーマンスデータは、列指向テーブルの利点を評価するために、特定のステージング環境で取得されたものです。

説明

このトピックにおける TPC-H の実装は TPC-H ベンチマークに基づいており、公式に公開されている TPC-H ベンチマーク結果と比較することはできません。このトピックのテストは、すべての TPC-H 要件に完全に準拠しているわけではありません。

データロードパフォーマンス

  • TPC-H データセット:ストレージスペースは InnoDB の 5.5 分の 1。ロード速度は InnoDB エンジンの 5 倍高速です。

    image

  • 航空会社データセット:ストレージスペースは InnoDB の 20 分の 1。ロード速度は InnoDB エンジンの 30 倍高速です。image

TPC-H クエリパフォーマンス

  • TPC-H 100 GB データセットのパフォーマンステスト:クエリパフォーマンスは専用のデータウェアハウス (ClickHouse) に匹敵し、ほとんどのクエリは ClickHouse よりも高速です。imageimage

  • マルチノード並列分析:TPC-H 1 TB データセットのパフォーマンステストでは、クエリ時間がシングルノードの 1400 秒から 6 ノードの 167 秒に改善されました。imageimage