Table of contents

Databases

%3 cluster_9f749a2d_475b_47b4_99c9_5df96496057d Databases cluster_051b3e0f_e14e_4e60_9ea4_bcc6f58af095 ACID _4f97141e_805c_442e_adf3_5cf2c407cb5f A humble guide to database schema design _84759f43_c99d_45ba_939e_116dd28a2d84 Durability _aed0abb6_1006_4020_8f40_5b0e74805134 Atomicity _57514365_65e2_410a_a6da_5598f063fb4d Consistency _73c22014_56a5_4a19_be69_afe232e1fb59 Isolation _e2465496_3f87_4d55_80b2_1c6284aab7c3 mnesia _e2465496_3f87_4d55_80b2_1c6284aab7c3->__0:cluster_9f749a2d_475b_47b4_99c9_5df96496057d _c31f119e_c59c_421f_8b74_dda87a10a570 SQLite _c31f119e_c59c_421f_8b74_dda87a10a570->__1:cluster_9f749a2d_475b_47b4_99c9_5df96496057d _f0daa053_2787_4eb3_98f0_2951ee7e6b8a Text Indexes _f0daa053_2787_4eb3_98f0_2951ee7e6b8a->__2:cluster_9f749a2d_475b_47b4_99c9_5df96496057d _cb9b56c4_2afb_46a9_84e6_08bf48f61fa5 APIs as DBs _cb9b56c4_2afb_46a9_84e6_08bf48f61fa5->__3:cluster_9f749a2d_475b_47b4_99c9_5df96496057d _50f219c0_e979_4ff3_82cd_421b0d0890c0 Vitess _50f219c0_e979_4ff3_82cd_421b0d0890c0->__4:cluster_9f749a2d_475b_47b4_99c9_5df96496057d _f69e071c_6d12_4f55_b34c_d514d84eca26 OrbitDB _f69e071c_6d12_4f55_b34c_d514d84eca26->__5:cluster_9f749a2d_475b_47b4_99c9_5df96496057d _af4b88c9_8671_433d_b0b6_33f20ae10931 Graph Databases _af4b88c9_8671_433d_b0b6_33f20ae10931->__6:cluster_9f749a2d_475b_47b4_99c9_5df96496057d _13247c75_c46c_4ea4_b8cf_695657e75902 PostgreSQL _13247c75_c46c_4ea4_b8cf_695657e75902->__7:cluster_9f749a2d_475b_47b4_99c9_5df96496057d

ACID

  • ACID (on databases) refer to the properties of a transactional database.

  • Compare with BASE, used on NoSQL models.

Atomicity

  • The database changes that are executed by a transaction take effect on all nodes involved, or on none of the nodes. That is, the transaction either succeeds entirely, or it fails entirely.

  • In many applications, it is important that a series of write operations are performed atomically inside a transaction. The atomicity property ensures that a transaction takes effect on all nodes, or none.

Consistency

  • The consistency property ensures that a transaction always leaves the DBMS in a consistent state. The DB must ensure that no inconsistencies occur if the program, the DB or the computer crashes while a write operation is in progress.

Isolation

  • The isolation property ensures that transactions that execute on different nodes in a network, and access and manipulate the same data records, do not interfere with each other.

  • A classical problem in concurrency control theory is the "lost update problem".

  • A transaction system makes it possible to execute two or more processes concurrently that manipulate the same record. The programmer does not need to check that the updates are synchronous; this is overseen by the transaction handler. All programs accessing the database through the transaction system can be written as if they had sole access to the data.

Durability

  • The durability property ensures that changes made to the DBMS by a transaction are permanent. Once a transaction is committed, all changes made to the database are durable, that is, they are written safely to disc and do not become corrupted and do not disappear.