β’
λ
Όλ¦¬μ μμ
μ λ¨μ λλ μμ
μ λ¬Άμ
ACID
β’
Atomic(μμμ±):
β¦
νΈλμμ
μ μμ
μ λͺ¨λ μ€νλκ±°λ λͺ¨λ μ€ν¨νμ¬μΌ νλ€.
β¦
ex)
β¦
INSERT INTO table VALUES (2, βtommyβ);
β¦
INSERT INTO table VALUES (1, βedenβ), (2, βtommyβ);
β’
Consistency(μΌκ΄μ±): νΈλμμ
μ΄ μμλκΈ° μ κ³Ό λλ¬μ λλ₯Ό λΉκ΅ μ΄λ€ νΉμ ν
μ΄λΈλ§ λ³κ²½ λμμ λ μ΄λ°κ±°λ μ΄μΌκΈ°νμ§ μμ
β’
Isolation(격리μ±):
β’
Durability(μ§μμ±): μ’ μ κΈ°ν¨.
격리 μμ€
β’
read uncommitted
β’
read committed
β’
repeatable read
β’
serializaable
β’
InnoDB μ κΈ°λ³Έκ°μ repeatable read
β’
repeatable read λΆν°λ μ½κΈ° μ μ commit μ μ½λλ€. μ½κ³ λμ λ€λ₯Έ transaction μμ commitμ΄ μΌμ΄λλ©΄ λ³κ²½μ μ λν΄ μ½μ§ μλλ€.
β’
InnoDB repeatable read μμ λ€λ₯Έ νΈλμμ
μμ μ
λ°μ΄νΈ λκ³ μ»€λ° λ λ€ μ½κΈ°λ§ νμ λλ ν¬ν
리λκ° λ°μνμ§ μλλ€. μ½μμ λ μμλ row μ λν΄ update λ₯Ό μΉλ©΄ update κ° λκ³ ν¬ν
리λκ° λ°μνλ€.
Local Transaction vs Global Transaction
β’
Local Transaction
β¦
νλμ Datasource μμ λ°μνλ μ체μ μΈ νΈλμμ
λ§ κ΄λ¦¬
β’
Global Transaction
β¦
μ¬λ¬κ°μ Datasourceμμ λ°μνλ νΈλμμ
μ κ΄λ¦¬
β¦
μ¬λ¬ data source (볡μμ DB μ°κ²°, JMSλ±λ±) μμ μμ
μ μννκ³ μ 체 μμ
μ commit νκ±°λ rollbackν μ μκ² νλκ²μ μλ―Έ
JTA
β’
manage multiple resources of different types in a consistent and coordinated manner
.