数据仓库高效实现与连接视图维护方案
1. 关系的数据结构
在传统的水平数据组织方式中,关系的元组以相邻字段的记录形式存储。在磁盘驻留数据库系统中,这种水平组织方式更为常见,因为它只需一次磁盘访问就能获取元组的所有字段,且实现简单,即使对于未压缩的随机存取存储器(RAM)数据库也是如此。
不过,将关系视为列的序列,并将这些列实现为向量,使连续元组中的对应字段相邻存储,即垂直数据组织方式,也是可行的。压缩数据表示会带来一些约束,而垂直组织方式更适合这种情况。
与传统数据库系统不同,在创建模式时,字段宽度是未知的。尤其是在通过逐元组插入或更新来扩展关系数据时,用于表示字段域所需的位数与该域当前基数的对数成正比。随着数据加载,基数增加,表示一个标记所需的位数也会增加。因此,用于表示关系的数据结构需要能够动态调整,以适应不同的元组宽度,并且要以可预测的有限开销逐步进行调整。例如,如果一个字段(如示例中的芯片名称字段)需要 3 位来编码其域,当该域中使用的唯一字符串数量超过 8 个时,就需要 4 位来以编码形式表示它们。
2. 查询压缩数据库
该方法的一个重要特点是直接对压缩格式的数据集进行操作。在提出查询之前,会将其转换到压缩域,从而显著减少需要移动到中央处理器(CPU)并进行处理的数据量。最终结果需要转换回未压缩表示,但解压缩的计算成本仅由结果中返回的元组承担,通常只是处理元组的一小部分。关系表示还包括压缩索引,以方便快速访问所需记录。
3. 实验结果
3.1 存储性能
使用 TPC - D 基准数据集来展示压缩系统的存储节省效果。选择了该数据集的 Lineitem 表,其规模
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



