Delta Lake や Apache Iceberg のような最新のテーブルフォーマットを使用するデータレイクの管理は、単純なファイル管理から、データベース管理に似た体系的なプロセスへと進化しました。AnalyticDB for MySQL の Spark エンジンは、データレイクテーブルのライフサイクル管理を提供します。これにより、データレイクでのクエリパフォーマンスがデータウェアハウスに匹敵するものになります。このトピックでは、データレイクのライフサイクル管理の主要な機能について説明します。
データ変更 (DML)
AnalyticDB for MySQL のマネージド Spark エンジンは、Object Storage Service (OSS) のような不変メディアに格納されているデータレイクテーブルに対する挿入、削除、更新操作をサポートしています。
コア機能 | 技術詳細 | 重要性 |
アップサート (マージ) | SQL の | 変更データキャプチャ (CDC) 同期のためのコア機能です。これは、Salesforce や MySQL などのソースからの変更ログ (バイナリログ) を処理して、リアルタイムデータレイクを構築するために不可欠です。 |
論理削除 (削除) | 追記専用ストレージ上であっても、特定の行をマークしたり、ファイルを書き換えたりすることで削除できます。これにより、一般データ保護規則 (GDPR) に基づく「忘れられる権利」などの要件をサポートします。 | 不正なデータを修正したり、ユーザーからのデータ削除リクエストに対応したりします。 |
上書き | パーティションまたはテーブル全体のデータをアトミックに置き換えます。 | べき等性。データ処理タスクが失敗したり、不正な結果を生成したりした場合、ETL タスクを再実行して古いデータを自動的に上書きし、データ重複を防ぐことができます。 |
ストレージレイアウトの最適化
ストレージレイアウトの最適化は、クエリパフォーマンスを数時間から数秒に向上させるための鍵であり、「スモールファイル問題」に対するコアソリューションです。AnalyticDB for MySQL のマネージド Spark エンジンと、Alibaba Cloud のマネージドスケジューリングツール (DataWorks または DMS Airflow) を使用することで、定期的にファイルレイアウトを最適化できます。これにより、クエリパフォーマンスが向上し、ご利用のデータレイクでデータウェアハウスに匹敵する分析エクスペリエンスが提供されます。
コア機能 | 技術詳細 | 重要性 |
スモールファイルのコンパクション (圧縮/ビンパッキング) | 数千ものキロバイトサイズの小さなファイルを、128 MB から 1 GB などのより大きなファイルにマージします。 | I/O レイテンシーを削減します。オブジェクトストレージは |
データクラスタリング (Z オーダリング) | 同じ | データスキッピングにより、クエリ時に 90% のファイルがスキップされ、スキャンされるデータ量が大幅に削減されます。 |
ファイルのクリーンアップ (バキューム/スナップショットの期限切れ) | 不要になった古いバージョン履歴ファイルを物理的に削除します。 | コスト管理。履歴データバージョンによる OSS コストの無限の増加を防ぎます。また、コンプライアンスのために物理的に削除する必要があるデータも削除します。 |
メタデータとスキーマの管理 (データガバナンス)
コア機能 | 技術詳細 | 重要性 |
スキーマ進化 | 履歴データを書き換えることなく、新しい列の追加、列名の変更、または列の型の変更をサポートします。 | ビジネスの変更に適応します。ビジネス要件が変更され、新しいフィールドが必要になった場合、データレイクは自動的に適応できます。これにより、頻繁なパイプラインの障害を防ぎます。 |
スキーマ強制 | 型が一致しないデータなど、スキーマに準拠しないデータの書き込みを拒否します。 | データ品質のゲートキーピング。ダーティデータが「ゴールド」または「シルバー」テーブルを汚染するのを防ぎます。これにより、下流のアナリストが SQL を使用してデータをクエリする際のエラーを回避します。 |
パーティション管理 | 新しいパーティションを動的に生成したり、特定のパーティションのデータを置き換えたりします。 | クエリプルーニング。 |
タイムトラベルとバージョン管理
AnalyticDB for MySQL のマネージド Spark エンジンを使用すると、データレイクテーブルの特定の履歴スナップショットをクエリしたり、データを以前のバージョンにロールバックしたりすることもできます。
コア機能 | 技術詳細 | 重要性 |
履歴のロールバック (タイムトラベル) |
| 障害復旧とデバッグ。ユーザーエラーによってデータが破損した場合、正しいバージョンに迅速にロールバックすることで、調査や回復が可能になります。 |
監査ログ | ユーザー、時間、操作内容など、データ変更操作のコミットログを記録します。 | セキュリティとトレーサビリティ。データ変更の履歴を追跡して、データ異常の根本原因を調査します。 |