投影

与传统数据库将数据存储在表中不同,Vertica 会将表数据以物理方式存储在 投影(即表列的集合)中。

投影以优化查询执行的格式存储数据。与实体化视图类似,它们会将结果集存储在磁盘上,而不是每次在查询中使用时都进行计算。Vertica 会使用更新数据或新数据自动刷新这些结果集。

投影提供了以下优势:

  • 对数据进行压缩和编码,以减少存储空间。Vertica 也会尽可能使用编码数据表示形式执行操作,以避免解码成本。这种结合了压缩和编码的方法可在优化磁盘空间的同时最大限度地提高查询性能。

  • 有助于将数据分布到整个数据库群集中。根据大小不同,投影可通过分段或复制形式分布在各个群集节点中。例如,大型表的投影可分段后分布到所有节点上。小型表的未分段投影可以复制到所有节点上。

  • 对最终用户透明。Vertica 查询优化器会自动选取最佳投影来执行给定查询。

  • 提供高可用性和恢复能力。Vertica 会将表列复制到群集中的至少 K+1 个节点上。如果一台计算机在 K-Safe 环境中发生故障,则数据库会使用其余节点上复制的数据继续运行。当该节点恢复正常运行时,它会自动查询其他节点,以恢复数据和丢失的对象。有关详细信息,请参阅 使用容错组的高可用性和 使用投影的高可用性。