对于金融级的分布式事务要求,其实算是比较明确的。首先是强一致性,这个是和互联网行业不一样的地方,也是分布式数据库的基本要求。
现在不建议金融行业继续掺和自研数据库的事情,因为市场上已经很多分布式数据库产品和案例了。所以现在银行有两种。一种是自己已经推出了分布式案例的,会在自己的选型基础上继续扩展。一种是尚未使用分布式的,会挑选国内的分布式数据库来部署。
那么现在主要谈谈这个第二种。分布式数据库该怎么选型?银行会在保证全局ACID的前提下,也就是强一致性前提下挑选分布式数据库产品。分布式事务的一致性现在已经不需要银行来设计保证了,数据库产品就已经涵盖这个能力。不过每个数据库在这点使用的技术确实不一样,有依赖生成全局事务号的,也有基于全局时钟的,可能还用很多其他全局的组件和服务。这些设计会影响事务的性能,因此需要详细测试才能比较出来。不过我个人认为这个是基础,挑选分布式数据库还有其他很多方面需要考虑。