Me gustan los libros de la serie Head First O`Reilly ; solo hablan de lo difĂcil. Y trato de hacer lo mismo.
Cuando se trata de bases de datos, pueden surgir las palabras mágicas "Requisitos de ACID". En una entrevista o en una conversaciĂłn con un desarrollador, no es el punto. En este artĂculo hablarĂ© sobre quĂ© es, cĂłmo significa ACID y quĂ© significa cada letra.
Los requisitos ACID son un conjunto de requisitos que garantizan la seguridad de sus datos. Esto es especialmente importante para las transacciones financieras. No queremos quedarnos sin dinero debido a una conexiĂłn desconectada o un error de software, Âżverdad?
Ver también:
Repasemos cada letra ACID y veamos ejemplos de cómo un archivo es mejor que 10 archivos diferentes. Y por qué una transacción es mejor que 10 solicitudes independientes.
Atomicidad - Atomicidad
Atomicity asegura que cada transacción se ejecutará completamente o no se ejecutará en absoluto. No se permiten estados intermedios.
Se sabe que un amigo tiene problemas y una base de datos se ocupa de los errores. ¡Oh, si todo fuera siempre bueno y sin errores! Entonces no se necesitarĂan ACID. Pero tan pronto como ocurre un error, la atomicidad se vuelve muy importante.
Digamos que decides enviarle dinero a tu mamá. Cuando haces una transferencia dentro de un banco, qué sucede:
Tu dinero fue debitado
Mamá fue admitida
Y digamos que tenemos 2 solicitudes separadas. Ahora veamos qué sucede cuando ocurren errores:
1. — , , .
2. , — . . ... !
. ... , .
, . ? . , , « » « »!
, . ! =)
, . « ». 10 , — , .
Consistency —
, (EOT — end of transaction, ) , , , . , © wikipedia
. , , . : « , ». ( — ).
, :
-
-
— ,
—
:
client
phone
address
«», 3 :
insert into client… -- -
insert into phone…
insert into address…
3 , , 3 .
, , , — . , , « », . , , .
. -, . , « » — , :
phone
client
, . « », , foreign key.
constraint. , « ». :
1. 100, 10
2. — « , X – 100».
3. , ! constraint, , .
4. .
, , . forein , - — . , — . -.
, , - , . , - :
— , , ?
— -, ?
, .
Isolation —
.
, . ? — . , - : « , 100 , ». ? !
. ?
1 : " "
, 500 ..
1 (1 ) 300 .. . 300, 200 = 500 - 300.
2 (2) , 300 .., 1 . , 500, 500 + 300 = 800.
— " " , = 800, 500. " - ". .
2 : " "
, 500 ..
1 300 .. . 300. - 500 ..
2 (2) , 1 .
— , / ..
3 : " "
.
1 . . , (, ).
, - .
2 .
1 . .
- .
4 : ""
.
1 . . , (, ).
, - .
2 / .
1 . .
— .
3- 4- , , — /. .
? . , — .
— . , . , .
:
() —
-
Transaction Isolation Levels in DBMS — ,
— . , . , , , .
Durability —
, , , - - . , ? .
:
, ACID, CAP — geekbrains
ACID NoSQL —
Bueno, dĂ©jame recordarte el enlace al artĂculo " QuĂ© es una transacciĂłn ".
PD: busque más artĂculos Ăştiles en mi blog con la etiqueta "Ăştil" . Y hay videos Ăştiles en mi canal de youtube.