调整存储库缓存容量

Eon 数据库中的每个节点都将存储库数据缓存在预定义的存储位置。存储位置路径取决于 Vertica 安装的文件系统。默认情况下,群集中的每个节点最多可以使用存储位置文件系统上 60% 的磁盘空间来缓存存储库数据。您可以使用 ALTER_LOCATION_SIZE 通过指定固定大小或总磁盘空间的百分比来更改缓存容量。该函数可以指定单个节点、子群集或数据库群集中的所有节点。您可以将每个节点的存储库缓存容量提高多达 80%。

在以下示例中,ALTER_LOCATION_SIZE 将存储库缓存容量增加到存储位置文件系统上磁盘空间的 80%。该函数提供一个空字符串作为第二个 (node-name) 实参,因此更改应用于所有节点:

=> SELECT node_name, location_label, location_path, max_size, disk_percent FROM storage_locations WHERE location_usage = 'DEPOT' ORDER BY node_name;
    node_name     | location_label  |      location_path      |  max_size   | disk_percent
------------------+-----------------+-------------------------+-------------+--------------
 v_vmart_node0001 | auto-data-depot | /home/dbadmin/verticadb | 36060108800 | 70%
 v_vmart_node0002 | auto-data-depot | /home/dbadmin/verticadb | 36059377664 | 70%
 v_vmart_node0003 | auto-data-depot | /home/dbadmin/verticadb | 36060108800 | 70%
(3 rows)

=> SELECT alter_location_size('depot', '','80%');
 alter_location_size
---------------------
 depotSize changed.
(1 row)

=> SELECT node_name, location_label, location_path, max_size, disk_percent FROM storage_locations WHERE location_usage = 'DEPOT' ORDER BY node_name;
    node_name     | location_label  |      location_path      |  max_size   | disk_percent
------------------+-----------------+-------------------------+-------------+--------------
 v_vmart_node0001 | auto-data-depot | /home/dbadmin/verticadb | 41211552768 | 80%
 v_vmart_node0002 | auto-data-depot | /home/dbadmin/verticadb | 41210717184 | 80%
 v_vmart_node0003 | auto-data-depot | /home/dbadmin/verticadb | 41211552768 | 80%
(3 rows)

重新调整存储库容量

当数据库在磁盘空间大于或小于以前空间的实例上恢复时,Vertica 会评估以前有效的存储库大小设置。如果将库大小指定为可用磁盘空间的百分比,Vertica 会按比例重新调整存储库容量。例如,如果给定节点的存储库缓存容量设置为 70%,则恢复的节点会将该设置应用于新磁盘空间,并相应地调整存储库缓存容量。如果存储库容量设置为固定大小,Vertica 会应用该设置,除非这样做会消耗 80% 以上的可用磁盘空间。在这种情况下,Vertica 会根据需要自动调整存储库大小。