[TD笔记]Teradata数据压缩
工作上需要研究Teradata CLOB类型,因为去看了官方文档,自己做了点笔记如下:
Teradata数据压缩
概况
本章描述了几种数据压缩选项,它能够帮助你减少磁盘空间的使用,在某种情况下,还可以提高I/O性能。
- 多值压缩(MVC)
- 算法压缩(ALC)
- 行压缩
- 行标题压缩
- 自动压缩
- 哈希索引和连接索引行压缩
- 块级压缩(BLC)
压缩的目标是利用最少的位数(bits)来准确的表示信息。
压缩方法可分为物理方法和逻辑方法。
物理方法独立于数据本身意义对其进行重新编码, 而逻辑方法则通过一个更紧凑的集合来替换。
压缩通过在单位物理容量中存储更多的逻辑数据来降低存储成本。压缩产生更小的行,因此每个可以数据块存储更多行以减少数据块数量。
压缩还可以提高系统性能,因为每个查询返回更少的物理数据,同时压缩过的数据在内存中保持压缩状态,因此FSG[1]缓存可容纳更多行,从而减少磁盘I/O的大小。
[1]FSG cache: File Segment cache, a Teradata caching approach.
算法压缩可以是有损或者是无损的,这取决于所选用的的算法。
TD的压缩一个很小的初始成本,但是即使对于小表的查询,主要选择的压缩方法能过减小表的大小,这就是一个净赢。
块级压缩
数据块是I/O基本物理单位,用于定义TD如何处理数据。
当你指定了块级压缩选项,TD将以压缩格式存储数据来减少存储空间。
BLC可以应用到这几种类型的表:
- 主要数据,回退,甚至是无法重新启动的表
BLC还可以应用于这几种类型的子表:
- BLOB, CLOB, XML, JOIN INDEX, HASH INDEX和Reference index.
BLC独立应用于其他任何应用于相同数据的压缩类型。
BLC可以使用更多的CPU来动态压缩和解压数据,所以查询性能是否随BLC而增强取决于性能是否受I/O带宽或CPU使用率的限制。