目前银行新建分布式核心系统是大势所趋,但是在最关键的数据库环节对分布式架构的数据库依然持观望状态,仍然以db2/oracle等企业级数据库为首选。请问,在使用传统数据库,且实现应用架构分布式的前提下,哪些措施有可以用来扩展数据库的读写性能?
在比较良好的心跳交换网络架构下(例如infiniband),可以较好的降低Oracle rac节点的gc等待,这种情况下横向扩展rac节点可以扩充数据库吞吐能力。其次,提高数据库本身的硬件配置,例如后端存储从机械盘迁移到闪存盘,提高数据库服务器的计算能力可以提升性能。第三,对于应用,做好拆分,尽量让应用对于数据库中一个表的读和写操作都落在一个节点上,减少数据库跨节点访问数据,提高数据库响应速度。第四,adg或者利用第三方工具配置读写库和读库,实现读写分离,横向扩展读能力。
收起1、是应用改造,支持读写分离,数据库采用多从节点部署,比如mysql一主多从,或者组复制,oracle 有farsync
2、采用负载均衡来分流读负载,主库只用于写服务。
3、优化写库的性能,配置最好的IO设备,内存尽量最大化利用。
4、可以采用 PCIE闪存卡,并行,IO杠杆的。(价廉物美,适用非核心)