支付故障给全民的教育启示:数据库事务多重要
原创 红石
PG
现在,人们经常会使用网上购物、手机支付,往往都察觉不出数
据库在背后的默默贡献。尤其是,大多数人很少知道数据库事务的
存在,它是干什么的?它有多重要?
什么是数据库事务
数据库事务是由一个或多个操作组成的单个工作单元。
事务的一个典型例子是从一个账户到另一个账户的银行转账。一
笔完整的交易必须保证发送方和接收方账户之间的余额。这意味着
如果发送方账户转账
X
金额,接收方就会收到
X
金额,不多也不少。
PostgreSQL
事务是原子的、一致的、隔离的和持久的。这些属
性通常称为
ACID
:
原子性保证事务以全有或全无的方式完成。•
一致性确保写入数据库的数据更改必须有效并遵循预定义的规•
则。
隔离性决定了事务完整性如何对其他事务可见。•
持久性确保已提交的事务将永久存储在数据库中。•
设置样例表
让我们创建一个新表,名为
accounts
,用于演示
:
DROP TABLE IF EXISTS accounts;
CREATE TABLE accounts (
id INT GENERATED BY DEFAULT AS IDENTITY,
name VARCHAR(100) NOT NULL,
balance DEC(15,2) NOT NULL,
PRIMARY KEY(id)
评论