
OpenGauss为什么不像Oracle那样搞成多进程呢?还是说本来就这样
OpenGauss为什么不像Oracle那样搞成多进程呢?还是说本来就这样 |
我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
回答交流
Markdown
请输入正文
提交
OpenGauss为什么不像Oracle那样搞成多进程呢?还是说本来就这样 |
首先openguasss是基于PG的。PG就是多进程模式。数据库启动时,会先启动一个叫Postmaster的主进程,然后fork出一些辅助子进程,这些辅助子进程各自负责一部分功能。
但是为啥openguass改了呢,我认为是高性能需求,线程模式可以支持更大的并发请求。而通过线程池,可以提高线程的利用率,高并发场景下不会有线程的频繁切换。
另外Oracle也可以修改为线程模式,而在12c这个版本上面,Oracle在Unix/Linux平台上做出了一些改变,引入了多线程的方式。通过参数threaded_execution,我们可以控制数据库是以多进程方式运行还是以多线程方式运行,默认该参数是false数据库以多进程方式运行。