2023年7月21日发(作者:)
关系型数据库和⾮关系型数据库的原则⼀、关系型数据库——ACID规则事务在英⽂中是transaction,和现实世界中的交易很类似,它有如下四个特性:(1)A (Atomicity) 原⼦性原⼦性很容易理解,也就是说事务⾥的所有操作要么全部做完,要么都不做,事务成功的条件是事务⾥的所有操作都成功,只要有⼀个操作失败,整个事务就失败,需要回滚。⽐如银⾏转账,从A账户转100元⾄B账户,分为两个步骤:1)从A账户取100元;2)存⼊100元⾄B账户。这两步要么⼀起完成,要么⼀起不完成,如果只完成第⼀步,第⼆步失败,钱会莫名其妙少了100元。(2)C (Consistency) ⼀致性⼀致性也⽐较容易理解,也就是说数据库要⼀直处于⼀致的状态,事务的运⾏不会改变数据库原本的⼀致性约束。例如现有完整性约束a+b=10,如果⼀个事务改变了a,那么必须得改变b,使得事务结束后依然满⾜a+b=10,否则事务失败。(3)I (Isolation) 独⽴性所谓的独⽴性是指并发的事务之间不会互相影响,如果⼀个事务要访问的数据正在被另外⼀个事务修改,只要另外⼀个事务未提交,它所访问的数据就不受未提交事务的影响。⽐如现在有个交易是从A账户转100元⾄B账户,在这个交易还未完成的情况下,如果此时B查询⾃⼰的账户,是看不到新增加的100元的。(4)D (Durability) 持久性持久性是指⼀旦事务提交后,它所做的修改将会永久的保存在数据库上,即使出现宕机也不会丢失。⼆、⾮关系型数据库——CAP原理NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL"。NoSQL⽤于超⼤规模数据的存储。这些类型的数据存储不需要固定的模式,⽆需多余操作就可以横向扩展。所以⾮关系型数据库更适合⼤数据!在计算机科学中, CAP定理(CAP theorem), ⼜被称作 布鲁尔定理(Brewer’s theorem), 它指出对于⼀个分布式计算系统来说,不可能同时满⾜以下三点⼀致性(Consistency) (所有节点在同⼀时间具有相同的数据)可⽤性(Availability) (保证每个请求不管成功或者失败都有响应)分隔容忍(Partition tolerance) (系统中任意信息的丢失或失败不会影响系统的继续运作)不可能满⾜同时cap,⼀般都⾸选AP放弃C的使⽤CAP理论的核⼼是:⼀个分布式系统不可能同时很好的满⾜⼀致性,可⽤性和分区容错性这三个需求,最多只能同时较好的满⾜两个。因此,根据 CAP 原理将 NoSQL 数据库分成了满⾜ CA 原则、满⾜ CP 原则和满⾜ AP 原则三 ⼤类:CA - 单点集群,满⾜⼀致性,可⽤性的系统,通常在可扩展性上不太强⼤。CP - 满⾜⼀致性,分区容忍性的系统,通常性能不是特别⾼。AP - 满⾜可⽤性,分区容忍性的系统,通常可能对⼀致性要求低⼀些。
发布者:admin,转转请注明出处:http://www.yc00.com/web/1689900261a293351.html
评论列表(0条)