官术网_书友最值得收藏!

ACID properties

In a relational database, a single logical operation is called a transaction. The technical translation of a transaction is a set of database operations, which are createread, update, and delete (CRUD). An example of explaining a transaction is budget assignment to several projects in the company assuming we have a fixed amount of money. If we increase a certain project budget, we need to deduct this amount of increase from another project. The ACID properties in this context could be described as follows:

  • Atomicity: All or nothing, which means that if a part of a transaction fails, then the transaction fails as a whole.
  • Consistency: Any transaction gets the database from one valid state to another valid state. Database consistency is governed normally by data constraints and the relation between data and any combination thereof. For example, imagine if one would like to completely purge his account on a shopping service. In order to purge his account, his account details, such as a list of addresses, will also need to be purged. This is governed by foreign key constraints, which will be explained in detail in the coming chapter.
  • Isolation: Concurrent execution of transactions results in a system state that would be obtained if the transactions were executed serially.
  • Durability: The transactions that are committed--that is, executed successfully--are persistent even with power loss or some server crashes. In PostgreSQL, this is done normally by a technique called write-ahead log (WAL). Other database refers to this as a transaction log such as in Oracle.
主站蜘蛛池模板: 家居| 永平县| 本溪| 株洲市| 谷城县| 綦江县| 临颍县| 池州市| 基隆市| 阳江市| 桐庐县| 蓝田县| 蒙城县| 隆安县| 江源县| 镇康县| 马山县| 息烽县| 三河市| 昆山市| 丹棱县| 太谷县| 普定县| 康保县| 福鼎市| 思南县| 道孚县| 汶川县| 宾川县| 巴南区| 萨迦县| 自治县| 犍为县| 雷山县| 海口市| 景德镇市| 博白县| 梁山县| 仙居县| 长丰县| 正蓝旗|