一致性问题的模式和思路

一.酸碱平衡理论

ACID在英文中的意思是“酸”,BASE的意思是碱

1.ACID(酸)

     关系型数据库天生用于解决具有复杂事务场景的问题,完全满足ACID的特性。

 ACID指如下内容。

A: Atomicity原子性

C:Consistency 一致性

I:Isolation  隔离性

D:Durability 持久性

       具有ACID特性的关系型数据库支持强一致性,强一致性代表数据库本省不会出现强一致性。每个事务都是原子的,事务是完全隔离的互相完全不受影响,并且最终状态是持久落盘的。

       因此在交易的相关系统进行技术选型,则交易的存储应该只考虑关系型数据库,对于核心系统,如果需要较好的性能,则可以考虑使用更强悍的硬件,这种向上扩展(升级硬件)虽然成本很高,但是确实最简单最有效的。NoSQL则不适合交易场景,主要用来做数据分析,挖掘,日志等的处理。

      然而在当前的互联网项目大多具有大规模、高并发的的特点,必须使用拆分的概念,对高并发的压力。分而治之、大而化小。否则难以满足动辄上亿的流量的需求,即时使用关系型数据库,单机也难以满足存储和吞吐上的性能需求。对于订单和扣库存,应尽量保证将订单和库存放入同一数据库分片,这就通过关系型数据看保证了数据的一致性型。但是有些时候也是事与愿违,由于业务规则的限制,我们无法将相关数据放在一个数据库分片,这时候就需要实现最终一致性。

猜你喜欢

转载自my.oschina.net/u/3126880/blog/1822435
今日推荐