酸トランザクション

《数据湖屋的崛起》作者:Bill Inmon

トランザクションとは

デ,タベ,スやデ,タストレ,ジシステムにおけるトランザクションとは,1の作業単位として扱われるあらゆる操作のことです。トランザクションは,完全に実行される、もしくは全く実行されないかのいずれかで、ストレージシステムを一貫した状態に保ちます。トランザクションの典型的な例として、銀行の預金口座から現金を引き出す処理が挙げられます。この場合、預金口座から現金を引き出したか、もしくは全く引き出さなかったか、どちらかの処理が発生し、中間の状態はありません。

酸特性:原子性,一貫性,独立性,永続性

酸とは,トランザクションを定義する4の重要な特性,原子性(原子性)、一致性(一貫性)、隔离性(独立性)、耐久性(永続性)の頭文字をとった略語です。データベース操作にこれらの酸特性がある場合は,酸トランザクションと呼ぶことができます。また,これらの操作を適用したデ,タストレ,ジシステムは,トランザクションシステムと呼ばれます。酸トランザクションにより、テーブルの読み取り、書き込み、変更の各処理で次の特性が保証されます。

  • 原子性(a):トランザクションの各ステートメント(データの読み取り,書き込み,更新,削除)は,1つの単位として扱われます。ステ,トメントは,実行されるか,あるいは全く実行されないかのいずれかです。この特性は,ストリーミングデータソースがストリーミングの途中で障害が発生した場合などに,データの損失や破損が発生するのを防ぎます。
  • 一貫性(c):トランザクションがテ,ブルに,事前定義された予測可能な方法でのみ変更を加えることを保証します。トランザクションの一貫性により、データの破損やエラーが起きた場合でもテーブルの整合性を保ち、意図しない実行結果を防ぎます。
  • 独立性(i):複数のユーザーが同じテーブルで読み書きを同時に実行しても,トランザクションが分離され,同時進行のトランザクションが相互に干渉したり,影響を受けたりしないようにします。実際は,同時に発生していも,各要求は単独で発生しているように扱われます。
  • 永続性(d):システム障害が発生した場合でも,正常に実行されたトランザクションによるデータの変更が保存されることを保証します。

酸トランザクションによるメリット

酸トランザクションは,デ,タの信頼性と整合性を最大限に高めます。部分的にしか操作を完了できなかった場合でも,デ,タの一貫性を保,ことができます。例えば,データベースのテーブルへの書き込み中に,予期せず電源が切れた場合,酸トランザクションがなければ,データは一部のみ保存され,残りは保存されない可能性があります。その結果,デ,タベ,スの一貫性は失われ,復旧は困難で時間のかかるものとなります。

三角洲湖のACIDトランザクションの保証により,信頼性と一貫性のあるデ,タを提供

三角洲湖のロゴ

酸トランザクションは,これまでデタウェアハウスのみが持特性でしたが,三角洲湖は,デタレクにこの特性を提供します。これにより,新たなデータがテーブルに書き込まれても,ユーザーは,データの一貫性のあるリアルタイムなビューを見ることができます。各書き込みは,順序付けられたトランザクションログに記録される独立したトランザクションとなるためです。三角洲湖は,最高レベルの独立性(直列化可能な独立性)を採用し、1 つのテーブルでの読み取り/書き込みの一貫性と信頼性を確保しています。ACID トランザクションの実装により、Delta Lake は、ラムダアーキテクチャの問題である複雑さ、データの誤表示、ラムダパイプラインが壊れた後に必要となるリワークや再処理などを効果的に解決します。また、ユーザーは、データに対して複数の同時トランザクションを実行できます。データソースやストリームでエラーが発生した場合でも、Delta Lake は、トランザクションの実行を中止し、データをクリーンで元の状態に保つことを保証します。ACID トランザクションによる大きなメリットは、ユーザーが Delta Lake のデータを信頼できることです。データアナリストは、ダッシュボードの準備の ETL 実行に Delta Lake を使用することで、データアナリストが見ている KPI が、データの実際の状況を表していることを信用できます。機械学習のエンジニアは、特徴量エンジニアリングに Delta Lake のテーブルを利用することで、変換や集約が意図したとおりに実行できているか、または全く実行できなかったかを確信できます(その場合、通知を受けます)。データに対して持っているメンタルモデルが、実際のデータに反映していると信頼できる価値は計り知れません。

额外的资源

回到术语表