MOT
⚫ openGauss引入了MOT(Memory-Optimized Table)存储引擎,它是一种事务性行存储,针对 多核和大内存服务器进行了优化。MOT是openGauss数据库最先进的生产级特性,它为事务性工 作负载提供更高的性能。企业可以在关键任务、性能敏感的在线事务处理(OLTP)中使用MOT, 以实现高性能、高吞吐、可预测低延迟以及多核服务器的高利用率。MOT与基于磁盘的普通表并 排创建。MOT的有效设计实现了几乎完全的SQL覆盖,并且支持完整的数据库功能集,如存储过 程和自定义函数。
⚫ MOT完全支持ACID特性,包括严格的持久性和高可用性支持。
⚫ 通过完全存储在内存中的数据和索引、非统一内存访问感知(NUMA-aware)设计、消除锁和锁 存争用的算法以及查询原生编译,MOT可提供更快的数据访问和更高效的事务执行。
⚫ MOT几乎无锁的设计和高度调优的实现,使其在多核服务器上实现了卓越的近线性吞吐量扩展。
openGauss 结构
MOT 特性及价值
⚫ MOT在高性能(查询和事务延迟)、高可扩展性(吞吐量和并发量)甚至在某些情况下成本(高 资源利用率)这些方面拥有显著优势。 低延迟(Low Latency):提供快速的查询和事务响应时间。 高吞吐量(High Throughput):支持峰值和持续高用户并发。 高资源利用率(High Resource Utilization):充分利用硬件。
⚫ 使用了MOT的应用程序可以达到2.5到4倍的吞吐量。例如,在基于Arm/鲲鹏的华为TaiShan服务 器上执行TPC-C基准测试,可以观察到MOT提供的吞吐率增益在2路服务器上达到2.5倍,在4路 256核Arm服务器上达到480万tpmC。
⚫ 在TPC-C基准测试中可观察到,MOT提供更低的延迟将事务速度降低3至5.5倍。
⚫ 高负载和高争用的情况是所有领先的行业数据库都会遇到的公认问题,而MOT能够在这种情况下 极高地利用服务器资源。使用MOT后,4路服务器的资源利用率达到99%。
MOT 使用
⚫ 内存设置需满足:(max_mot_global_memory + max_mot_local_memory) + 2GB < max_process_memory
全局内存是所有核共享的长期内存,主要用于存储所有的表数据和索引。
本地内存是短期内存,主要由会话使用,用于处理事务及将数据更改存储到事务内存中,直到提交阶段。
⚫ 要使特定用户能够创建和访问MOT(DDL、DML、SELECT),以下语句只执行一次:
GRANT USAGE ON FOREIGN SERVER mot_server TO <user>;
⚫ 创建MOT:create FOREIGN table test(x int) [server mot_server];
⚫ 删除MOT:drop FOREIGN table test;
⚫ 为MOT创建索引:create index text_index1 on test(x) ;
⚫ 磁盘表转换MOT:先使用gs_dump工具将磁盘表数据转储到磁盘的物理文件中,再使用gs_restore将磁盘文件的数据加载/恢复到数据库表中。
如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!
加入交流群
请使用微信扫一扫!