目前银行新建分布式核心系统是大势所趋,但是在最关键的数据库环节对分布式架构的数据库依然持观望状态,仍然以db2/oracle等企业级数据库为首选。请问,在使用传统数据库,且实现应用架构分布式的前提下,哪些措施有可以用来扩展数据库的读写性能?
传统的数据库,如db2和oracle目前已经能满足数据库性能,对应相应的数据库调优,优化数据库查询语句,索引优化等都能满足读写性能,特别是如db2的多分区表也能加快读写。
对于分布式数据库来说,本行已进行分布式核心改造,采用mysql分库分表的形式进行部署,一主一备两从的形式确保读写分离以及高可用性。
在比较良好的心跳交换网络架构下(例如infiniband),可以较好的降低Oracle rac节点的gc等待,这种情况下横向扩展rac节点可以扩充数据库吞吐能力。其次,提高数据库本身的硬件配置,例如后端存储从机械盘迁移到闪存盘,提高数据库服务器的计算能力可以提升性能。第三,对于应用,做好拆分,尽量让应用对于数据库中一个表的读和写操作都落在一个节点上,减少数据库跨节点访问数据,提高数据库响应速度。第四,adg或者利用第三方工具配置读写库和读库,实现读写分离,横向扩展读能力。
收起