数据库的一致性一定是要强一致性保证的,金融行业的数据库这是必须的要求。分布式数据库的全局一致性一般通过两阶段提交的方式来实现,基本上就是要求全局一致的提交和回滚。如果有异常发生,数据库内部可以查到全局事务的残留,处理之后也能最终达到一致性。
分布式数据库的性能问题是个很重要的点。大家都知道分布式是为了解决单点的性能才被提出来的。但是他仅仅是为了解决单点的集中式高并发需求,而不是为了复杂查询或者是大查询。因此使用分布式数据库一定要把握好他的应用场景。实时交易系统这种写并发大的情况其实也适合分布式,前提是他们的写是能基于分布式进行分片,能把写操作分散到各自的分片上去完成。读也是一样。分布式不适合的场景就是复杂的关联查询,大量的分布式事务等场景。分布式适合交易型系统,不适合管理类分析类。
分布式最大的痛点就是怎么分片,数据拆分这个是不可避免需要花最大力气的地方。因为这个前提,这里控制不好,后面擦屁股的活儿根本干不完。目前没有领头羊,押注吧。