银行传统数据库在应对互联网金融场景时遇到了明显瓶颈,在面临交易复杂度和交易频率的大幅提升时,传统数据库能够采取的优化方案非常有限,若仅依靠软硬件升级来提升性能的话,成本非常昂贵。另外,在应对双十一这类特殊交易日时,需要在短期内提升数据库的能力,传统数据库缺乏这方面的灵活性。若仅仅为了应对有限特殊日的流量,而配置很高的性能,又会造成资源的极大浪费。基于能力、可控、弹性、成本等方面的考虑,引入具有高可用、高性能、高可扩展性的分布式数据库成为优先选择方案。
分布式数据库设计阶段需要考虑很多方面,比较重要的像是高可用方案、存储方案、灾备方案、安全、监控、运维等,这些在前期都要规划好。还有一点很重要,分布式数据库最终是为应用服务的,要充分考虑应用从传统数据库迁移至分布式数据库的难度,尤其在测试阶段,要充分考量分布式数据库的兼容性。
在分布式数据库选型时,最好结合具体的应用场景,如OLTP和OLAP。另外,数据库厂商的技术服务支持能力和案例成熟度也要充分考虑。
以上是本人的一些小经验,供大家讨论。