ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

南大通用技术分享:GBase 8s数据库虚拟处理器解析

南大通用技术分享:GBase 8s数据库虚拟处理器解析 很多刚接触南大通用GBase 8s数据库gbase database的同事第一次听到 虚拟处理器 这个概念都会有点陌生。其实它就是数据库服务进程内部用来干活的执行单元对应操作系统层面的一个线程。传统数据库常见的做法是每个客户端连接对应一个独立的服务进程。这种结构简单直接但问题也明显连接一多操作系统就要频繁地在进程之间切换每个进程还要单独占一套内存、通信端口和文件句柄资源消耗很快就上来了。南大通用GBase 8s数据库gbase database走的是另一条路。它用一组虚拟处理器统一处理所有客户端请求多个线程跑在同一个进程里共享同一份代码和内存里的数据、共享处理队列。好处直接体现在两点一是内存和系统资源占用低几百个客户端连接下去数据库服务器只需要少量几个服务进程就能扛住二是线程切换比进程切换快得多操作系统不需要反复保存和恢复整套进程上下文数据库自身在不同线程之间切换的开销很小。同一类虚拟处理器之间还能自动负载均衡。某个线程在这个 VP 上排队太久数据库会自动把它挪到另一个空闲 VP 上跑这个动作对数据库用户是完全透明的业务侧感知不到。理解这个架构的意义在于后面看 GBase 8s 的性能问题、做参数调整时思路就和传统 一连接一进程 的数据库不一样。它更像是数据库自己在进程内部做调度而不是把调度完全交给操作系统。
返回列表