1 .一种多属性列的存储方法,其特征在于,包括:
将多属性列中每一次写入的至少一个数据对,按写入顺序排成一行,每个所述数据对
由一个属性及其对应的属性值组成;
将所述多属性列中至少一次写入的至少一行数据对,按列组成数个子列,所述子列包
括由所述属性组成的属性子列和由与所述属性对应的所述属性值组成的属性值子列;
为每个所述子列建立索引;
存储所述子列。
2.根据权利要求1所述的多属性列的存储方法,其特征在于,所述为每个所述子列建立
索引,包括:
在每个所述子列中,建立所述子列中的数据与行标识的对应关系,形成倒排索引,所述
子列中的数据为所述属性或所述属性值。
3 .根据权利要求1所述的多属性列的存储方法,其特征在于,所述存储所述子列,包括:
将所述子列按列进行存储。
4 .根据权利要求1所述的多属性列的存储方法,其特征在于,在所述为每个所述子列建
立索引之前,还包括:
将所述子列中的数据实时存储于缓冲器;
所述为每个所述子列建立索引,包括:
当存入所述缓冲器的数据的数据量达到预设阈值时,读取存入所述缓冲器的数据,并
为每个所述子列建立索引;或者,定时读取存入所述缓冲器的数据,并为每个所述子列建立
索引。
5 .一种针对权利要求1至4中任一权利要求所述的存储方法所存储的多属性列的检索
方法,其特征在于,包括:
读取所述多属性列中各子列的索引;
在所述属性子列及对应的所述属性值子列的索引中,获取符合检索条件的行标识;
根据获取到的所述行标识,读取所述行标识所标识的数据。
6 .根据权利要求5所述的多属性列的检索方法,其特征在于,所述检索条件包括数条具
有和/或关系的子条件,所述在所述属性子列及对应的所述属性值子列的索引中,获取符合
检索条件的行标识,包括:
在所述属性子列及对应的所述属性值子列的索引中,查找符合所述子条件的行标识,
生成位图;
将生成的所述位图按照所述子条件的和/或关系,进行和/或操作,获取符合所述检索
条件的行标识。
7 .根据权利要求5或6所述的多属性列的检索方法,其特征在于,所述根据获取到的所
述行标识,读取所述行标识所标识的数据,包括:
查找所述行标识所在的数据块的存储位置;
若所述数据块存储于缓存中,从所述缓存中读取所述行标识所标识的数据;
若所述数据块存储于磁盘中,从所述磁盘读取所述数据块并存储于缓存中,并从所述
缓存中读取所述行标识所标识的数据。
8.一种多属性列的存储装置,其特征在于,包括:
权 利 要 求 书
1/3 页
2
评论