设置存储性能
可以使用 MEASURE_LOCATION_PERFORMANCE 函数返回的测量值作为 SET_LOCATION_PERFORMANCE() 函数的输入值。
注意
此函数的吞吐量和延迟参数必须设置为 1 或更大值。以下示例显示了如何使用由 MEASURE_LOCATION_PERFORMANCE 函数为 v_vmartdb_node0004
上的某个存储位置返回的值设置该位置的性能。将吞吐量设置为 122
MB/s 并将延迟设置为 140
seeks/s。 MEASURE_LOCATION_PERFORMANCE
=> SELECT SET_LOCATION_PERFORMANCE('/secondVerticaStorageLocation/','node2','122','140');
通过位置性能设置对排序顺序进行分级
设置性能数据参数之后,Vertica 每次存储投影列时会自动利用性能数据对存储位置进行分级。
Vertica 将投影排序顺序中包含的列存储在最快的可用存储位置。未包含在投影排序顺序中的列将存储在稍慢的磁盘中。每个投影的列按如下方式排序:
-
排序顺序中的列具有最高优先级(编号 >;1000)。
-
排序顺序中最后一列的排序编号为 1001。
-
排序顺序中倒数第二的列排序编号为 1002,以此类推,直到排序顺序中的第一列,其排序编号为 1000 + 排序列数。
-
剩余列的排序编号在 1000–1 之间,从 1000 开始,每列减一。
Vertica 随后将列从最高排号到最低排号存储在磁盘中。它将最高排号的列放在最快的磁盘上,将最低排号的列放在最慢的磁盘上。
结合使用位置性能设置与存储策略
首先测量位置性能并在 Vertica 数据库中进行设置。之后,您可以利用性能结果来确定要在存储策略中使用的最快的存储。
-
将具有最高性能的位置设置为重要数据的默认位置。
-
将速度较慢的位置用作旧数据或不太重要的数据的默认位置。如果您不想指定默认位置,这种速度较慢的位置可能根本不需要策略。
Vertica 会按如下方式确定数据存储,具体取决于是否存在存储策略: