1 .一种存算分离数据库的缓存方法,其特征在于,包括:
将数据库ID和元数据表ID拼接成一个第一字符串,将所述第一字符串作为该元数据表
中每条数据内容的前缀,分别将所述元数据表中每条数据内容的记录号拼接在所述前缀的
后面,将拼接后的所述第一字符串和记录号整体作为该条元数据的key值,将该条元数据的
数据内容作为与所述key值对应的value值,获得所述元数据表的键值对;其中,所述数据内
容的记录号用于表征每条数据内容在元数据表中的唯一标识;
将所述元数据表的每个索引表中每条记录对应的索引字段的值进行提取,将提取的该
条记录的全部索引字段的值按照设定顺序拼接成一个第二字符串,将所述第二字符串拼接
在所述前缀的后面,将拼接后的所述第一字符串和所述第二字符串整体作为该条记录的
key值,将该条记录的行号作为与该条记录的key值对应的value值,获得所述元数据表的每
个索引表的键值对。
2 .根据权利要求1所述的存算分离数据库的缓存方法,其特征在于,所述方法还包括:
将所述元数据表中的所有数据内容按照不同行号分别切分为不同的页,该页中存储该
行元数据的key值对应的数据内容;
将所述索引表中的所有记录按照查询给定的起始记录key值截取设定的范围作为一个
页,该页中存储若干条记录;
将所述元数据表和所述索引表中每个页的缓存页面起始Key值进行排序,构成排序索
引,通过给定的Key值,在所述排序索引中确定对应的页;其中,所述页用于表征存储缓存数
据的一个基本单元。
3 .根据权利要求2所述的存算分离数据库的缓存方法,其特征在于,所述方法还包括:
将所述元数据表和所述索引表的物理文件号构成查询表,通过所述查询表对所述元数
据表和所述索引表的缓存数据进行索引。
4 .根据权利要求2所述的存算分离数据库的缓存方法,其特征在于,通过给定的Key值,
在所述排序索引中确定对应的页,还包括:
在所述对应的页中顺序扫描,查询目标数据;若未查询到目标数据,则通过计算节点向
元数据服务器发起RPC请求,请求对应页面的元数据,并申请一个共享页面,将获得的对应
页面的元数据放入所述共享页面,并将所述共享页面的起始key值插入到对应的所述排序
索引中。
5 .根据权利要求2所述的存算分离数据库的缓存方法,其特征在于,通过给定的Key值,
在所述排序索引中采用二分查找确定对应的页。
6 .根据权利要求1所述的存算分离数据库的缓存方法,其特征在于,所述方法还包括:
将数据库的元数据和共享数据放入共享内存中进行全局缓存,以供计算节点上所有进
程共享该缓存数据;
将待修改的元数据在提交前进行局部缓存,以将元数据的修改进行隔离。
7 .根据权利要求1所述的存算分离数据库的缓存方法,其特征在于,所述方法还包括:
当计算节点对元数据进行修改时,在事务边界和命令边界上向元数据服务器发出元数
据无效消息,所述元数据服务器中的其它计算节点根据所述元数据无效消息,将缓存中对
应的元数据进行清除,重新从所述元数据服务器上获取最新的元数据。
8.一种存算分离数据库的缓存装置,其特征在于,包括:
权 利 要 求 书
1/2 页
2
评论