

# Athena ACID トランザクションを使用する
<a name="acid-transactions"></a>

「ACID トランザクション」という用語は、データベーストランザクションにおけるデータの整合性を保証する一連のプロパティ ([アトミック性](https://en.wikipedia.org/wiki/Atomicity_(database_systems))、[整合性](https://en.wikipedia.org/wiki/Consistency_(database_systems))、[分離性](https://en.wikipedia.org/wiki/Isolation_(database_systems))、および[耐久性](https://en.wikipedia.org/wiki/Durability_(database_systems))) を指します。ACID トランザクションを使用すると、データレイクに対するクエリにおいて読み込みの整合性を維持することで、既存のクエリを分離しながら、複数のユーザーがアトミックな方法で Amazon S3 オブジェクトを同時に確実に追加および削除できます。Athena ACID トランザクションは、Athena SQL データ操作言語 (DML) による挿入、削除、更新、およびタイムトラベルオペレーションのための、単一テーブルのサポートを追加します。お客様ならびに同時に実行している複数のユーザーは、Athena ACID トランザクションを使用することで、Amazon S3 の行レベルのデータ対して信頼性の高い変更を行うことができます。Athena トランザクションにより、ロックのセマンティクスと調整が自動的に処理されます。カスタムのレコードロックソリューションは必要ありません。

使い慣れた SQL 構文で Athena ACID トランザクションを行うことで、ビジネスや規制に関するデータの更新が簡素化されます。たとえば、データの消去リクエストに応答する場合は、SQL の `DELETE` オペレーションを実行します。手動によるレコードの修正には、単一の `UPDATE` ステートメントを使用します。また、最近削除されたデータを回復する場合は、`SELECT` ステートメントにより、タイムトラベルクエリを発行します。

Athena ACID トランザクションは共有テーブルフォーマット上に構築されるため、[Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-what-is-emr.html) や [Apache Spark](https://spark.apache.org/) など、同じく共有テーブル形式をサポートしている他のサービスやエンジンとの互換性を持ちます。

Athena トランザクションは、Athena コンソール、API オペレーション、ODBC および JDBC ドライバを介して利用できます。

**Topics**
+ [Linux Foundation Delta Lake テーブルをクエリする](delta-lake-tables.md)
+ [Apache Hudi データセットをクエリする](querying-hudi.md)
+ [Apache Iceberg テーブルをクエリする](querying-iceberg.md)