ApsaraDB RDS for MySQL の DuckDB ベースの分析インスタンスは、カラムナストレージとベクトル化をコアテクノロジーとして使用し、複雑な分析クエリのパフォーマンスを 100 倍向上させます。カラムナストレージの圧縮技術により、ストレージコストが大幅に削減されます。これらのインスタンスは、大規模なデータシナリオに対して費用対効果の高いリアルタイム分析を企業に提供し、データ駆動型の意思決定を強化します。
機能
DuckDB ベースの分析インスタンスには、以下が含まれます。
定義:標準の ApsaraDB RDS for MySQL プライマリインスタンスに類似したスタンドアロンデータベースインスタンスです。このプロダクトは Cluster Edition の一部であり、読み取り可能なスタンバイノードを持つ 1 プライマリ複数スタンバイアーキテクチャを使用します。
コア機能:
標準の ApsaraDB RDS for MySQL インスタンスのすべての基本機能を保持し、関連するツールやエコシステムと互換性があります。詳細については、「DuckDB ベースの分析プライマリインスタンスの概要」をご参照ください。
MySQL カーネルに DuckDB 分析エンジンを深く統合しています。カラムナストレージとベクトル化をコアテクノロジーとして使用し、トランザクションの強力なサポートと高性能な複雑な分析処理の両方の機能を提供します。
定義:高可用性シリーズの標準 ApsaraDB RDS for MySQL インスタンスにアタッチされる読み取り専用インスタンスの一種です。
コア機能:
シームレスなデータフロー:バイナリロギング (binlog) に基づくネイティブレプリケーションを使用して、データとテーブルスキーマの変換を自動的に同期します。これにより、個別のデータ同期リンクを維持する必要がなくなります。
統合 HTAP:DuckDB ベースの分析読み取り専用インスタンスへの直接接続、またはデータベースプロキシを介してインスタンスにリクエストを自動的にルーティングすることで、分析リクエストをサポートします。このアーキテクチャは、統合されたハイブリッドトランザクション/分析処理 (HTAP) 機能を提供します。これにより、プライマリインスタンスのトランザクション処理 (TP) パフォーマンスが確保され、データ分析の効率が向上します。
比較項目 | DuckDB ベースの分析プライマリインスタンス | DuckDB ベースの分析読み取り専用インスタンス | ApsaraDB RDS for MySQL 読み取り専用インスタンス | OLAP データベース | |
適用対象 | 複雑な分析クエリ | 複雑な分析クエリ | トランザクション処理 | 複雑な分析クエリ | |
分析クエリのパフォーマンス | 強力 | 強力 | 脆弱 | 強力 | |
データ同期方法 | Data Transmission Service (DTS) データ同期リンク | バイナリロギングに基づくネイティブレプリケーション | バイナリロギングに基づくネイティブレプリケーション | DTS データ同期リンク | |
MySQL 互換性 | データ型 | 完全互換 | 完全互換 | 完全互換 | 非互換 (フィールドマッピングが必要) |
SQL 構文 | 高い互換性 (>99.9%) | 高い互換性 (>99.9%) | 完全互換 | 非互換 (SQL の再書き込みが必要) | |
DDL | 高い互換性 | 高い互換性 (自動再構築をサポート) | 完全互換 | 部分的に互換 | |
運用保守コスト | 低い | 低い | 低い | 高 | |
デプロイモデル | スタンドアロンデプロイメント | 標準の ApsaraDB RDS for MySQL インスタンスにアタッチ | 標準の ApsaraDB RDS for MySQL インスタンスにアタッチされています | スタンドアロンデプロイメント | |
サポートされる製品シリーズ | Cluster Edition | 高可用性シリーズ | Basic Edition、高可用性シリーズ | - | |
利用シーン
集計分析:DuckDB ベースの分析インスタンスは、ログデータの分析など、リアルタイムの集計分析のための効率的な集計クエリを提供します。
複数テーブルの JOIN クエリ:複数テーブルの
JOIN操作を伴うクエリサービスに対して、これらのインスタンスは MySQL の分析パフォーマンスを大幅に向上させることができます。
DuckDB ベースの分析インスタンスの技術原理
DuckDB とは
DuckDB は、組み込みシナリオ向けに設計されたスタンドアロンのオンライン分析処理 (OLAP) データベースです。そのコアアーキテクチャは、高性能な分析とトランザクション処理のバランスを取っています:
高性能な分析:カラムナストレージは集計分析クエリを大幅に高速化し、ベクトル化実行エンジンはデータをバッチで効率的に処理します。
強力なトランザクションサポート:完全な原子性、一貫性、独立性、永続性 (ACID) のトランザクション機能を提供します。Multi-Version Concurrency Control (MVCC) メカニズムを使用して、スタンドアロン環境での効率的な同時読み取り/書き込み操作を可能にします。
DuckDB ベースの分析インスタンスの技術的最適化
ApsaraDB RDS は DuckDB エンジンを深く統合し、DuckDB の高性能な分析と MySQL エコシステムを組み合わせています。このアプローチは、高性能な分析とトランザクション処理のバランスを取ります。これにより、大規模データに対する企業の効率的な分析ニーズを満たしつつ、エンタープライズレベルのデータ信頼性とデータ整合性を確保します。
一般的な技術的最適化 (分析プライマリインスタンスと分析読み取り専用インスタンスの両方に適用)
ストレージエンジンの最適化
DuckDB のカラムナストレージを MySQL 内のトランザクションストレージエンジンとしてカプセル化し、標準の MySQL データディクショナリを使用してメタデータを管理します。これにより、プライマリインスタンスのトランザクションセマンティクスとの完全な互換性が保証されます。
バイナリロギングに基づくネイティブ同期機能を強化し、トランザクションの永続化のために DuckDB の先行書き込みログ (WAL) を使用します。これにより、ApsaraDB RDS for MySQL インスタンスと DuckDB ベースの分析インスタンス間のデータ整合性が保証されます。
コンピュートエンジンの強化
コアとなる DuckDB コンポーネントを統合しています。オプティマイザー、ベクトル化実行エンジン、およびコンパイラが深く統合され、Just-In-Time (JIT) コンパイルとベクトル化をサポートします。これにより、InnoDB と比較して複雑なクエリのパフォーマンスが 2 桁向上します。
SQL パーサーを適応させ、MySQL の構文と関数の 99.9% をサポートします。これにより、既存のクエリ文を変更せずに直接実行できます。
Result Translator コンポーネントは、DuckDB の計算結果を MySQL プロトコル互換のフォーマットに自動的に変換します。これにより、既存のアプリケーションロジックを調整することなく、シームレスなクライアント統合が可能になります。
クエリの高速化
カラムナストレージ:データは DuckDB のネイティブなカラムナフォーマットでローカルに保存されます。これにより、集計クエリのパフォーマンスが 100 倍以上向上します。たとえば、同量のデータに対する SUM クエリの応答時間は、InnoDB が必要とする時間の 1/100 に短縮されます。
ホットデータの自動キャッシュ:システムは DuckDB のバッファプールメカニズムを使用して、頻繁にクエリされるデータを自動的にキャッシュします。これにより、高同時実行性のビジネスシナリオを安定してサポートします。
DuckDB ベースの分析読み取り専用インスタンスの追加技術的最適化
データ同期パフォーマンスの向上
高頻度の小規模トランザクションを大規模トランザクションにまとめるバッチ処理メカニズムを導入しています。これにより、書き込みレイテンシが大幅に削減されます。
べき等再生:システムはバイナリログイベントに対してべき等性チェックを実行し、データ同期における強力な整合性を保証します。
DDL 同期最適化
システムは、テーブルの作成やフィールドの追加/削除など、DuckDB がネイティブでサポートするデータ定義言語 (DDL) 操作を自動的に識別します。これらの操作は変換なしで直接 DuckDB エンジンにルーティングされて実行されます。これにより、データ同期のパフォーマンスが保証されます。
DuckDB でサポートされていない DDL 操作については、システムは実行前に自動的にテーブルの再構築をトリガーします。これにより、実行エラーによるレプリケーションの中断を防ぎ、同期リンクの安定性を確保します。
リソース分離:DuckDB ベースの分析読み取り専用インスタンスは、ApsaraDB RDS for MySQL プライマリインスタンスから分離されています。そのため、分析クエリはオンラインのトランザクション処理に影響を与えず、コアビジネスオペレーションの安定性を確保します。
DuckDB ベースの分析インスタンスのワークフロー
SQL 解析:ユーザーの SQL クエリは、標準の MySQL パーサーによって解析されます。
SQL 実行:解析されたクエリは、実行のために DuckDB コンピュートエンジンにルーティングされます。
データ取得:カラムナデータは DuckDB ストレージエンジンから取得されます。
フォーマット変換:計算結果は
Result Translatorコンポーネントによって MySQL プロトコルフォーマットに変換され、クライアントに送信されます。