设置存储性能

可以使用 MEASURE_LOCATION_PERFORMANCE 函数返回的测量值作为 SET_LOCATION_PERFORMANCE() 函数的输入值。

以下示例显示了如何使用由 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 会按如下方式确定数据存储,具体取决于是否存在存储策略: