更新时间:2024-10-08 GMT+08:00
为什么GaussDB(DWS)的性能在极端场景下并未比单机数据库好
GaussDB(DWS)中由于MPP架构的限制导致少部分PG系统方法、函数无法下推到DN节点来执行,仅能在CN端出现性能瓶颈。
原理解释:
- 一个操作能够并行执行是有条件的,需要逻辑上能够并行,比如做汇总(SUM),可以各个节点(DN)并行汇总后,最后的汇总一定是不能并行,要在某一个节点(CN)上执行,由于大部分的汇总工作已经在DN节点完成,CN端的工作是比较轻量的。
- 某些场景必须要集中执行,比如事务号,必须要保证全局唯一,该任务在系统里是通过GTM来实现的,因此,GTM也是全局唯一的组件(主备)。所有需要全局唯一的任务都是通过GaussDB(DWS)中的GTM来完成,只是在设计上尽量避免阻塞在GTM上,因此GTM并没有太多瓶颈,而且有些场景下还可以GTM-Free和GTM-Lite。
- 从传统单机数据库的应用开发模式到并行数据库,为确保获得更好的性能,可能需要对业务进行少量改动,尤其是传统Oracle的存储过程互相嵌套的开发模式,如果要保证高性能,需要进行业务修改及对应的适配。
解决方案:
- 如遇到此类问题,请参考《数据仓库服务数据库开发指南》中的“优化查询性能”章节。
- 或者,请联系技术人员进行业务适配的修改调优。
父主题: 数据库性能