COMPACT_STORAGE
将现有数据 (.fdb
) 和索引 (.pidx
) 文件捆绑为 .gt
文件格式。默认情况下,为使用 7.2 或更高版本创建的数据文件启用 .gt
格式。如果要升级早期版本的数据库,请使用 COMPACT_STORAGE
将存储文件捆绑为 .gt
格式。您的数据库可以继续以混合文件存储格式运行。
如果为 COMPACT_STORAGE
指定的设置与在配置参数 MaxBundleableROSSizeKB
中指定的限值不同,则 Vertica 不会更改自动创建的捆绑包的大小。
注意
请在需求小的期间运行此函数。这是元函数。您必须在顶级 SELECT 语句中调用元函数。
行为类型
易变语法
SELECT COMPACT_STORAGE ('[[[database.]schema.]object‑name]', min‑ros‑filesize‑kb, 'small‑or‑all‑files', 'simulate');
参数
-
[database.]schema
数据库和架构。默认架构为
public
。如果指定一个数据库,它必须是当前数据库。- object‑name
- 指定要捆绑的表或投影。如果设置为空字符串,COMPACT_STORAGE 将评估数据库中所有投影的数据以进行捆绑。
- min‑ros‑filesize‑kb
- 整数 ≥ 1,指定独立 ROS 文件的最小大小(以 KB 为单位)。COMPACT_STORAGE 可将低于此大小的存储容器 ROS 文件捆绑成一个文件。
- small‑or‑all‑files
- 以下几项之一:
-
small
:仅捆绑小于 min‑ros‑filesize‑kb 中所指定限值的文件 -
all
:捆绑小于 min‑ros‑filesize‑kb 中所指定限值的文件,并捆绑大型存储容器的.fdb
和.pidx
文件。
-
- simulate
- 指定是否模拟存储设置并生成描述这些设置的影响的报告。
-
true
:生成有关指定捆绑包设置(未实际捆绑存储文件)的影响的报告。 -
false
:按指定执行捆绑。
-
特权
超级用户存储和性能影响
捆绑可使文件系统中的文件数至少减少 50%,并提高文件密集型操作的性能。增强的操作包括备份、还原以及合并。
Vertica 创建小文件的原因包括以下几点:
-
表包含数百列。
-
分区范围较小(按分钟分区)。
-
启用了局部分段且系数设置为较高的值。
示例
以下示例描述了捆绑表 EMPLOYEES
的影响:
=> SELECT COMPACT_STORAGE('employees', 1024,'small','true');
Task: compact_storage
On node v_vmart_node0001:
Projection Name :public.employees_b0 | selected_storage_containers :0 |
selected_files_to_compact :0 | files_after_compact : 0 | modified_storage_KB :0
On node v_vmart_node0002:
Projection Name :public.employees_b0 | selected_storage_containers :1 |
selected_files_to_compact :6 | files_after_compact : 1 | modified_storage_KB :0
On node v_vmart_node0003:
Projection Name :public.employees_b0 | selected_storage_containers :2 |
selected_files_to_compact :12 | files_after_compact : 2 | modified_storage_KB :0
On node v_vmart_node0001:
Projection Name :public.employees_b1 | selected_storage_containers :2 |
selected_files_to_compact :12 | files_after_compact : 2 | modified_storage_KB :0
On node v_vmart_node0002:
Projection Name :public.employees_b1 | selected_storage_containers :0 |
selected_files_to_compact :0 | files_after_compact : 0 | modified_storage_KB :0
On node v_vmart_node0003:
Projection Name :public.employees_b1 | selected_storage_containers :1 |
selected_files_to_compact :6 | files_after_compact : 1 | modified_storage_KB :0
Success
(1 row)