返回首页

gbase数据、南大通用产品文档:GBase8a

更新日期:2024年09月11日

节点层会话信息开关.............................. 179

非统一内存访问(NUMA)是一种计算机内存设计,用于多重处理,其中内存访问时间
取决于内存相对于处理器的位置。处理器可以利用NUMA 的优势,优先访问本地内存(速
度更快),而不是访问非本地内存(这意味着它不会访问另一个处理器的本地内存或处理器
之间共享的内存)。
MOT 内存访问设计时采用了NUMA 感知。即MOT 意识到内存不是统一的,而是通过
访问最快和最本地的内存来获得最佳性能。
NUMA 的优点仅限于某些类型的工作负载,特别是数据通常与某些任务或用户强相关
的服务器上的工作负载。
在NUMA 平台上运行的内储存数据库系统面临一些问题,例如访问远程主内存时,时
延增加和带宽降低。
为了应对这些NUMA 相关问题,
NUMA 感知必须被看作是数据库系统
基本架构的主要设计原则。
为了便于快速操作和高效利用NUMA 节点,
MOT 为每个表的行分配一个指定的内存池,
同时为索引的节点分配一个指定的内存池。每个内存池由多个2MB 的块组成。指定API 从
本地NUMA 节点、来自所有节点的页面或通过轮询分配这些块,每个块在下一个节点上分
配。默认情况下,共享数据池以轮询方式分配,以保持访问均衡,同时避免在不同NUMA
节点之间拆分行。但是,线程专用内存是从一个本地节点分配的,必须验证线程始终运行在
同一个NUMA 节点中。
总结

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
491
MOT 有一个智能内存控制模块,它预先为各种类型的内存对象分配了内存池。这种智
能内存控制可以提高性能,
减少锁并保证稳定性。
事务的内存对象分配始终是NUMA-local,
从而保证了CPU 内存访问的最佳性能,降低时延和争用。被释放的对象返回到内存池中。
在事务期间最小化使用操作系统的malloc 函数可以避免不必要的锁。

ER(Enterprise Replication)数据库复制技术,也是通过读取数据库日
志的方式实现数据同步功能。ER 和 HAC 不同在于,HAC 支持对数据库的复制,
而ER 支持对数据库和表的复制,可以灵活定义需要复制数据列和行。ER 支持
表级实时双向复制、实时单向复制;支持表级周期双向复制、周期单向复制;
支持异构表间的双向数据复制、单向数据复制;表复制功能要支持异构的硬件
平台。