近年来,凭借高可扩展、高可用等技术特性,分布式数据库正在成为金融行业数字化转型的重要支撑。分布式数据库如何在不同的金融级应用场景下,在确保数据一致性的前提下,同时保障系统的高性能和高可扩展性,是分布式数据库的一个核心技术挑战。
针对以上分布式一致性的困境,中国人民大学-腾讯协同创新实验室研究提出“多级一致性”的事务处理理念。该技术包含严格可串行化、顺序可串行化、可串行化三大隔离级别,可针对不同应用场景要求,极大地平衡性能与一致性要求,满足金融及各类企业场景的分布式事务处理需求。该项技术已应用于腾讯分布式数据库TDSQL产品中,确保TDSQL按需提供数据一致性,并确保数据无异常。TDSQL是当前国内率先进入国有大型银行核心系统正式投产的国产分布式数据库,该项技术是其中的关键支撑。
这次,中国人民大学教授、博士生导师卢卫老师为大家全面解锁分布式数据库的多级一致性及构建技术!
从本质上看,数据库是长期存储在计算机内、有组织的、可共享的数据集合。当多个用户并发操作数据库时,事务调度的可串行化是并发控制的正确性理论。但该观点在当前却受到了挑战。Daniel J. Abadi 在2019年发布的一篇博客中提到,以往学界普遍认为可串行化是数据库隔离级别的黄金标准,但经过研究,他发现实际上严格可串行化才是黄金标准。即在该理论中,可串行化仍存在一定的问题,只有严格可串行化才能做到没有问题。
在过去,为什么可串行化不存在问题?原因有两方面:
一是对集中式数据库而言,可串行化其实就是严格可串行化,两者之间并没有区别。 二是对于分布数据库而言,如果数据库里有唯一的事务调度器或协调器,这两者之间也可等价。
当来到去中心化的分布式数据库时代,我们希望分布式数据库产品可在全球部署。全球部署意味着范围更大,如果仍然依赖集中式调度,性能和可扩展性都无法满足应用的需求,因此需要在系统当中安排多个事务协调者进行协调。
回顾发展历程,20年前的数据库的标注配置为业务系统+主库+备库。业务系统访问主库,主库通过同步协议使数据在主库和备库之间保持一致性。在这一阶段,集中式的IBM小型机、Oracle数据库、EMC存储(IOE)在处理小规模的数据场景时较为合适。但这种架构模式的问题在于,当数据量比较