CAP定理
- 分摊读写压力的有效方式是将单个关系型数据库扩展为分布式数据库。但是,随之而来的问题则是很难保证原子性。没有了原子性,事务也无从谈起,关系型数据库也就没有了存在的意义。
- 为了保证原子性,则需要增加很多额外的必要操作,此时一次写操作的性能却面临大幅下降了。
- 20世纪90年代初期Berkerly大学有位Eric Brewer教授提出了一个CAP理论。全称是Consistency Availability and Partition tolerance。
- Consistency(强一致性):数据更新操作的一致性,所有数据变动都是同步的。
- Availability(高可用性):良好的响应性能。
- Partition tolerance(高分区容错性):可靠性。
- Brewer教授给出的定理是:任何分布式系统只可同时满足二点,没法三者兼顾。
- Brewer教授给出的忠告是:架构师不要将精力浪费在如何设计能满足三者的完美分布式系统,而是应该进行取舍。所以专家们始终没有办法构建出一个既有完美原子性又兼具高性能的分布式数据库。