返回首页

gbase数据、南大通用产品文档:GBase8a表级、列级的缓存装载与释放

更新日期:2024年09月11日

为了提高查询性能,
GBase 8a MPP Cluster 提供了将数据直接加载到内存中的管理
功能,
用户可以将频繁使用的整张表的全部数据或者指定列的数据加载到内存中,
并且在内存中一直保存加载的数据,这样可以减少I/O 操作,实现直接从内存中
访问表数据,提高查询性能的目的。对于集群产品来说,缓存的装载与释放,都
在gnode 层体现。
对于表级、
列级缓存的装载与释放,
主要会涉及到缓存中的两种状态,
即LOCKED
状态和KEEP 状态。

LOCKED 状态DC:
正在被其它线程或算子访问的DC,
访问DC 时要首先对
DC 加锁(LOCK),访问完成再解锁(UNLOCK)。

KEEP 状态DC:
对于访问频繁的表,
为提高访问效率,
通过ALTER TABLE …
CACHE 命令将表中的全部数据(或某列的数据)装载到缓存中,当内存不
足时,不允许对这些DC 进行缓存交换,KEEP 状态的DC 只能通过ALTER
TABLE …NOCACHE 命令进行释放。
KEEP 状态会使数据常驻内存,
减少磁
盘I/O 操作。
对于用户而言,我们建议一般装载表数据占用的内存的空间不要超过可用物理内
存空间的50%。

概述

GBase UP 产品手册 6 应用开发指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1126
有一些问题看起来是GBase JDBC 用户经常会遇到的。
本节讲述它们的症状和解决办法。

这些主题介绍在 GBase 8s ESQL/C 程序中如何使用 date 、
datetime 和 interval 数据
类型。

本节包含以下信息:
GBase 8s ESQL/Cdate 数据类型概述
可用于操纵 date 数据类型的 GBase 8s ESQL/C 库函数的语法
GBase 8s ESQL/Cdatetime 和 interval 数据类型的概述及如何使用它们
可用于操纵 datetime 和 interval 数据类型的 GBase 8s ESQL/C 库函数的语法