当前位置:网站首页>Acid (ACID) Base (BASE) Principles for Database Design
Acid (ACID) Base (BASE) Principles for Database Design
2022-08-05 03:31:00 【Hao Kai】
Acid (ACID) Base (BASE) Principles for Database Design
Transactions
A transaction is a series of operations performed as a single logical unit of work, either completely or not at all.
Let's take a first look at the state machine model of a transaction.
The picture shows the five phases of a transaction
Transactions must follow ACID principles.
ACID Acid Principle
ACID is a principle that must be followed in order to ensure that data is written reliably during the transaction execution process of a relational database.
Atomicity
The operations of a transaction are either all or none.
Consistency Consistency
The integrity constraints of the database are not violated before and after the transaction begins; however, temporary violations are allowed during execution.
Isolation Isolation
Transactions do not interfere with each other, one transaction cannot see data changes in the middle of another transaction's execution, nor can it interact with another transaction.
Durability
After the transaction ends, the changes will be written to the database and will not be rolled back, even if the database crashes and restarts.
RDBMS In order to achieve high consistency as mentioned in the above four points, there is no emphasis on its scalability.
BASE BASE Principle
Basically Availability
The most basic requirement of a database is availability.
Soft-state
Soft-state can be thought of as an intermediate state between stateless and stateful.
Stateless means that there is no contextual connection between multiple requests, which will help simplify, expand and restore the database.
stateful refers to the connection between multiple request contexts connected.
Soft-state is generally regarded as the server maintains the context within a limited resource (usually time), and when it expires, the state is discarded and returned to the default state.
Eventually Consistency
Allows temporary data inconsistency due to delays, etc., as long as the data is eventually consistent.
Basically Availability to pay attention to.It is probably a problem of translation. The "Basic" here is translated into "basic", and the explanation closer to the original meaning is probably "fundamentally".
边栏推荐
- public static
List asList(T... a) What is the prototype? - 十五. 实战——mysql建库建表 字符集 和 排序规则
- How to discover a valuable GameFi?
- 2022高处安装、维护、拆除考试题模拟考试题库及在线模拟考试
- Burp installation and proxy settings
- Hard power or soft power, which is more important to testers?
- 高项 02 信息系统项目管理基础
- Hash table lookup (hash table)
- 从“能用”到“好用” 国产软件自主可控持续推进
- 冰蝎V4.0攻击来袭,安全狗产品可全面检测
猜你喜欢
On governance and innovation, the 2022 OpenAtom Global Open Source Summit OpenAnolis sub-forum came to a successful conclusion
How to discover a valuable GameFi?
Defect detection (image processing part)
Android 面试题——如何徒手写一个非阻塞线程安全队列 ConcurrentLinkedQueue?
Never put off till tomorrow what you can put - house lease management system based on the SSM
【软件测试】自动化测试之unittest框架
【已解决】Unity Coroutinue 协程未有效执行的问题
ASP.NET application--Hello World
dmp (dump) dump file
Confessing the era of digital transformation, Speed Cloud engraves a new starting point for value
随机推荐
2022 High-level installation, maintenance, and removal of exam questions mock exam question bank and online mock exam
【七夕节】浪漫七夕,代码传情。将爱意变成绚烂的立体场景,给她(他)一个惊喜!(送代码)
Getting Started with Kubernetes Networking
包拉链不可用,但是是被另一个包。
How to find all fields with empty data in sql
The usage of try...catch and finally in js
.NET Application -- Helloworld (C#)
【已解决】Unity Coroutinue 协程未有效执行的问题
Cybersecurity and the Metaverse: Identifying Weak Links
2022 Hangzhou Electric Multi-School 1st Game
How to sort multiple fields and multiple values in sql statement
Question about #sql shell#, how to solve it?
Dynamic management of massive service instances
Android Practical Development - Kotlin Tutorial (Introduction - Login Function Implementation 3.3)
In 2022, you still can't "low code"?Data science can also play with Low-Code!
public static
List asList(T... a) What is the prototype? 2022-08-04 The sixth group, hidden from spring, study notes
Beyond YOLO5-Face | YOLO-FaceV2 officially open source Trick+ academic point full
rpc-remote procedure call demo
MySql的索引学习和使用;(本人觉得足够详细)