ある金融サービス企業は、Amazon S3にParquet形式で数百TBの取引データを蓄積するデータレイクを運用しています。GDPRへの対応として特定顧客のレコードを削除・更新する必要があり、またデータパイプラインの障害時に一貫性を保証するACIDトランザクション(原子性・一貫性・独立性・耐久性)が求められています。さらに、コンプライアンス監査のために更新前の任意時点のデータをクエリできる「タイムトラベル」機能も必要です。S3データレイクの構成を維持しながら、これらの要件をすべて満たす最適なアプローチはどれですか?
Apache IcebergはオープンテーブルフォーマットでありS3上でACIDトランザクション、レコードレベルのUPDATE/DELETE(Parquetファイル全体の書き直し不要)、スナップショットベースのタイムトラベルクエリを提供します。AWS GlueとAmazon AthenaはIcebergをネイティブサポートしており、既存のS3データレイク構成を維持したまま要件を満たせます。 選択肢Aは、大規模データでは処理コスト・時間が膨大になり、ACIDも保証されず、タイムトラベル機能も実現できないため不適切です。 選択肢Cは、Amazon DynamoDBはOLTP(オンライントランザクション処理:短時間の読み書きが多いワークロード)向けのサービスであり、数百TBの分析データの保存・クエリには不適切です。TTLは指定期間後の自動削除であり、任意レコードの即時削除要件とは異なります。 選択肢Dは、Amazon Redshiftへの移行はS3データレイクの柔軟性を失うアーキテクチャ変更を意味します。数百TBの大規模データの全量移行コストも課題となります。