这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

词汇表

Vertica 词汇表定义了 Vertica 通用术语和特定术语。

1 - 访问等级

确定访问列的速度。将列从最高排名到最低排名存储在磁盘中,其中最高排名的列放置在最快的磁盘上,最低排名的列放置在最慢的磁盘上。

2 - 管理主机

手动安装了 Vertica rpm 包的主机。如果可行,始终要在该主机上运行管理工具。

3 - 管理工具

Vertica 管理工具提供用于管理 Vertica 数据库的图形用户界面。使用此工具,您可以执行各种任务,包括:

  • 查看数据库群集的状态。

  • 创建数据库。

  • 启动数据库。

  • 停止数据库。

  • 运行 Database Designer。

  • 使用 vsql 连接到数据库。

4 - 代理

在每个 Vertica 群集节点上运行的守护程序进程。某些客户端(例如管理控制台)使用该代理来管理 Vertica。

代理会监控 Vertica 数据库群集并与其客户端通信,以便提供以下功能:

  • 使用类似于管理工具的功能,为给定节点上的数据库实例提供本地访问、命令和控制

  • 报告来自管理工具和 Vertica 日志文件的日志级别数据

  • 缓存来自长期运行的作业的详细信息,例如创建/启动/停止数据库操作,以便您可以通过浏览器查看

  • 跟踪对数据集合和监控实用程序的更改,并将更新传送给客户端

  • 尤其对于 MC 而言,所有群集节点与 MC 之间的通信都会通过 webhook 订阅,而该订阅可自动实现信息共享,并报告特定于群集的问题,例如节点状态、警报、事件等。

代理在端口 5444 上运行,代理客户端必须可以访问该端口。

5 - 锚表

投影中充当数据源的数据库表。锚表及其投影必须位于同一架构中。创建、访问或更改投影的权限基于该投影引用的锚表以及包含它们的架构。

在下面的简单语句中,公共数据是锚表:

=> CREATE PROJECTION publicdataproj AS (SELECT * FROM publicdata);

6 - Ancient History Mark (AHM)

Ancient History Mark 也称为 AHM,是历史查询可以访问数据的最古老时期。在 AHM 之前的任何数据都允许被清除

有关详细信息,请参阅 Vertica 知识库中的了解 Vertica 时期

7 - 分摊加载

分摊**加载是一种可拆分的加载,因此您可以在多个节点上加载单个数据文件。分摊加载会根据每个节点上的可用节点和核心在计划时拆分加载。每次加载都从不同的偏移量开始,需要一个支持分摊的解析器。Vertica 内置的一些解析器支持分摊加载。使用 SDK,您可以编写执行分摊加载的解析器。

8 - 身份验证服务 (AS)

通常与 Kerberos 密钥分发中心 (KDC) 在同一主机上运行的服务。AS 为请求的服务发行票证。票证会依次提供给用户以访问该服务。AS 回答客户提出的根据要求不发送凭据的请求。AS 通常通过发行票证授予票 (TGT) 获取票证授予服务 (TGS) 的访问权限。

9 - 位字符串

一系列位。

10 - 伙伴实例投影

K-safety 需要。如果两个投影含有相同的列,并有相同的哈希分段,但需要使用不同的节点排序,这两个投影就会被视为伙伴实例投影。

有关详细信息,请参阅:

11 - 批量加载

加载大量数据的过程,例如历史数据的初始加载。

12 - C-store

Vertica 所基于的麻省理工学院、布兰代斯、布朗和马萨诸塞大学(波士顿)的一个研究项目。

13 - 基数

是指关系表中某一指定列的唯一值的数量:

  • 高基数:指包含具有高度唯一性的值(如客户 ID 或员工电子邮件地址)的列。例如,在 Vertica VMart 架构中,employee_dimension 表包含一个 employee_key 列。此列包含唯一标识各位员工的值。由于此列中的值是唯一的,并且有可能数量庞大,因此该列的基数类型称为高基数。

  • 普通基数:指包含具有较低唯一性的值(如职称和街道地址)的列。job_title 表中的 employee_first_nameemployee_dimension 都属于普通基数列,其中很多员工可以共享相同职称或同一名字。

  • *低基数:指唯一值的数量相对于表中记录的总数而言较少。例如,在 employee_dimension 表中,名为 employee_gender 的列将包含两个唯一值:“男性”或“女性”。由于此列中只能有两个值,因此为低基数。

14 - 编录

一个文件集,其中包含数据库中对象(例如节点、表、约束和投影)的相关信息(元数据)。Vertica 在群集中的每个节点上维护一个编录。

15 - 编录路径

用于存储数据库编录的存储位置。

16 - 单元格

单元格是为单个数据分配的数据库对象中的空间。有关可以填充单元格的受支持数据类型的列表,请参阅数据类型

17 - 群集

Vertica 分析平台中的“群集”是指一组已安装 Vertica 软件包(RPM 或 DEB)且位于同一管理工具域中的主机。您可以通过管理工具发起方主机访问和管理群集。

18 - 列式表

由结构化数据列组成的 Vertica 数据库表。该术语将这些表与 Flex(或 Flexible)表区分开来,后者最少包含一列非结构化或半结构化数据。Flex 表也可以具有结构化数据列,但它们不是必需的。与 Flexible 表进行比较。

19 - 公共存储

包含 Eon 模式数据库数据的共享存储位置。公共存储中的数据是数据的规范化副本 — Vertica 在将数据写入公共存储之前不会将数据视为已提交。

公共数据存储位置基于对象存储,例如 Vertica 在 AWS 云中运行时的 S3 存储桶或 PureStorage FlashBlade。

20 - 控制节点

连接到 Spread 服务以发送和接收群集范围的广播消息的节点。在禁用大型群集功能的数据库中,所有节点都是控制节点。在启用大型群集功能的数据库中,一部分节点是控制节点。Vertica 将非控制节点分配到控制节点。这些从属节点依赖它们的控制节点向它们中继广播消息。有关详细信息,请参阅大型群集

21 - 协作解析

当单个节点使用多个线程解析数据以进行加载时,就会发生协作解析。如果解析器支持协作,则协作解析根据线程的调度方式在执行时拆分负载。Vertica 中内置的一些解析器支持协作解析。使用 SDK,您可以编写执行协作解析的解析器。

22 - 相关列

如果一列的值与另一列的值相关,则这两个列相关。例如,州名与国家/地区名称列紧密相关,因为通过市名通常(但并非始终)可以确认州名。康舍霍肯市与宾夕法尼亚州唯一相关,而佐治亚州、印地安那州、肯塔基州、纽约州、弗吉尼亚州和马萨诸塞州则都有波士顿市。在本例中,市名与州名紧密相关。

23 - 关键节点

关键节点是故障可能会导致数据库不安全并强制关机的节点。节点成为关键节点有以下原因:

  • 节点是特定投影的唯一副本。

  • 不到一半的节点处于活动状态在 Eon 模式数据库中,至少一半的主节点必须启动以保持数据完整性。

V_MONITOR.CRITICAL_NODES 系统表会列出群集中的关键节点(如有)。

有关详细信息,请参阅企业模式数据库中的 K-safety(对于企业模式数据库)和Eon 模式数据库中的数据完整性和高可用性(对于 Eon 模式数据库)。

24 - 当前时期

当前正在将数据(COPY、INSERT、UPDATE 和 DELETE 操作)写入到的时期。

25 - 数据收集器

收集并保留数据库监控信息的实用程序。有关详细信息,请参阅数据收集器实用程序

26 - 数据路径

包含实际数据库数据文件的存储位置。

27 - 数据库

处于活动状态的节点群集可以通过管理、交互和编程用户界面实现分布式数据存储和 SQL 语句执行。

28 - Database Designer

一种工具,它会分析逻辑架构定义、示例查询和示例数据,然后以您自动或手动部署的 SQL 脚本的形式创建一个物理架构(投影)。此脚本创建一个最小的超投影集来保证 K-safety,或者创建非超投影集。在大多数情况下,Database Designer 创建的投影可在物理约束下提供出色的查询性能。

Database Designer 可以创建两种不同的设计类型。您选择的设计取决于您正在尝试完成的设计类型:

如果 Database Designer 不能满足您的需要,您也可以创建自定义设计

有关详细信息,请参阅创建数据库设计

29 - 数据库超级用户

与 Linux 数据库管理员具有相同名称并且可以绕过所有 GRANT/REVOKE 授权的自动创建的数据库用户,或者已被授予 PSEUDOSUPERUSER 角色的任何用户。请勿将数据库超级用户的概念与 Linux 超级用户(根)权限相混淆。数据库超级用户不能具有 Linux 超级用户权限。

30 - 默认子群集

如果您未指定子群集以包含新节点,则默认子群集是 Vertica 添加新节点的子群集。您的数据库只能有一个默认子群集。您可以使用 ALTER SUBCLUSTER 语句将子群集设为默认子群集。

31 - DELTAVAL(增量编码)

仅存储顺序数据值之间的差异,不存储值本身。

32 - 存储库预热

启动时,新节点的存储库为空,而重新启动节点的存储库通常包含必须刷新的陈旧数据。启用存储库预热后,正在启动的节点会抢先加载其存储库,其中包含频繁查询和固定的数据。当节点完成启动并开始执行查询时,它的存储库已经包含了处理这些查询所需的大部分数据。这减少了从公共存储中提取数据的需要,并相应地提高了查询性能。

有关详细信息,请参阅管理存储库缓存

33 - 派生列

加载时由表达式计算其值的列。表达式在 COPY 语句中指定,该列存在于目标数据库中。

34 - 维度表

维度表有时亦称为查询表或引用表,是星形架构大型表(事实数据表/锚表)的一组伴生表中的一个。它包含主键 (PRIMARY KEY) 列,该列与事实数据表中的联接列对应。例如,某项业务可能会使用维度表记录项目代码和描述。

维度表可以与其他维度表连接,形成一个雪花型架构的维度层次结构。

35 - 定向查询

一组保存的指令,指示优化器为给定查询生成查询计划。查询计划由带有提示注释的 SQL 组成。定向查询为两个组件配对:

  • 输入查询:在此定向查询处于活动状态时,触发使用它的查询。

  • 带注释的查询:带有嵌入式优化器提示的 SQL 语句。优化器使用带注释的查询为指定的输入查询创建查询计划。

36 - 编码

将数据转换为标准格式的过程。在 Vertica 中,可以直接处理编码的数据,但不能直接处理压缩的数据。Vertica 使用许多不同的编码策略,具体取决于列数据类型、表基数和排序顺序。

37 - 企业模式

一种数据库模式,可优化您的数据库以提高分析速度。这是 Vertica 数据库的“原始”模式 — 在 Eon 模式推出之前支持的唯一模式。在这种模式下,数据由数据库节点存储。这种接近性使节点可以针对大多数查询对本地存储数据进行操作,从而减少查询时间。Eon 模式数据库针对可扩展性进行了优化,因此与 Eon 模式数据库相比,企业模式数据库较难进行扩展和缩减。

38 - Eon 模式

Eon 模式是一种数据库模式,可优化数据库的可扩展性。这种模式将数据存储与计算资源分离。通过将两者分离,您可以在群集中添加或移除节点,以调整不断增长或缩减的分析工作负载。缩放群集大小不会影响正在运行的查询。Eon 模式特别适合云环境。有关详细信息,请参阅Eon 模式概念

39 - 时期

一种逻辑时间单位,表示对 Vertica 数据库中的数据进行单次更改的时间段。

有关详细信息,请参阅时期

40 - 时期映射

提供时间与时期之间映射的编录对象。具体而言,时期映射包含时期编号及其相关时间戳的列表。

41 - 执行程序节点

任何参与执行特定 SQL 语句的节点。启动程序节点能够且通常也具有执行程序节点的功能。

42 - 表达式

表达式是可以表示 SELECT 语句中的单个列的任何内容。

例如,以下都是表达式:

1+2
foo(3)
x

43 - 外部过程

在 Vertica 外部创建、维护和存储于服务器上的过程。

44 - 事件系列

带时间列的表,通常为时间戳数据类型。

45 - Flexible 表

至少包含两列的 Vertica 数据库表:

__identity__:具有递增 IDENTITY 值的实数列,用于分区和排序。如果没有其他列用于此目的,则使用该列。

__raw__:包含非结构化或半结构化数据的实数 LONG VARBINARY 列。

您可以创建具有其他实数列的 Flex 表,但它们不是必需的。与列式表进行比较。

46 - 合并(子查询和视图)

在内部重写子查询或命名视图以使子查询与外部查询块组合时发生。原始查询和合并查询的结果集完全相同,但合并查询通常受益于显著的性能改进。

47 - 完整备份

包括复制每个节点上的每个编录和所有数据文件(ROS 容器)以及完整的 /opt/vertica/config 目录。

48 - GENERAL 池

一个特殊的内置池,表示资源管理器可供查询使用的 RAM 总量。其他池可从 GENERAL 池借用内存。另请参阅内置池

49 - 授权

Vertica 以两种方式定义 GRANT:

  1. 使用任何 GRANT 语句(GRANT(身份验证)除外)授予用户访问数据库对象的权限。

  2. 通过 GRANT(身份验证)将用户定义的身份验证方法与用户关联。此操作不同于 GRANT <权限>,因为身份验证方法与用户或角色“关联”,而权限被“授予”用户或角色。

示例

向用户授予访问权限

此示例显示如何向用户 Joe 授予 online_sales 架构的访问权限:

=> GRANT USAGE ON SCHEMA online_sales TO Joe;

将身份验证方法与用户关联

此示例显示如何将 v_ldap 身份验证方法与用户 jsmith 关联:

=> GRANT AUTHENTICATION v_ldap TO jsmith;

50 - 分组的 ROS

分组的 ROS 是一个高度优化、以读取为导向的物理存储结构,该结构通过投影进行组织排列。分组的 ROS 会大量使用压缩和索引。与 ROS 不同,分组的 ROS 将两个或多个分组列的数据存储在一个磁盘文件中。

51 - 哈希分段

指定如何对投影数据进行分段,以便在所有群集节点上分布数据。您可以为表和投影指定分段。如果表定义指定了分段,则 Vertica 会将其用于该表的自动投影

强烈建议使用 Vertica 的 HASH 内置函数,该函数可在整个群集中均匀分布数据,且便于实现最佳查询执行。

有关更多详细信息,请参阅分段投影

52 - 历史数据

指的是内存或物理存储中除当前时期之外的任何数据。历史数据包括所有 COPY、INSERT、UPDATE 和 DELETE 操作,还包括已删除的行。它允许 Vertica 对截止到且包括表示指定日期和时间的时期所写入的所有数据运行历史查询。

53 - 历史查询

从在特定时间戳或时期获取的数据库快照中检索数据的查询。有关详细信息,请参阅历史查询

54 - 不可变(不变)函数

使用给定实参集运行时,不可变函数始终产生相同的结果,无论环境或会话设置(如区域设置)如何。

55 - 启动程序节点

在客户端连接上下文中,启动程序节点是与要连接的特定主机关联的节点。启动程序节点可以且通常作为执行节点,而且往往是大部分描述性日志消息所在的位置。

56 - K-safety

K-safety 将设置数据库群集的容错能力,其中 K 可以设置为 0、1 或 2。K 值指定 Vertica 创建的 分段投影 数据副本数量。如果数据库 K-safety 设置为 1 或 2,则 Vertica 将为每个投影段创建 K+1 个实例或伙伴实例。Vertica 将这些伙伴实例分布在数据库群集中,以便在发生节点故障时保护投影数据。如果任何节点发生故障,只要故障节点上的数据伙伴实例在群集的其他位置仍然可用,数据库就可以继续处理查询。

有关详细信息,请参阅K-safety 设计

57 - 上一个时期

当前时期减一即是上一个时期。READ COMMITTED 隔离下的 SELECT 语句从上一个时期读取数据。

58 - 上一个完好的时期 (LGE)

手动恢复的一个术语,LGE (上一个完好的时期) 指的是可以恢复的最近的时期。

59 - 实时聚合投影

实时聚合投影包含一些列,这些列的值是从其锚表的列中聚合而成的。当您将数据加载到表中时,Vertica 首先会聚合数据,然后将其加载到实时聚合投影中。例如,通过 INSERTCOPY 执行后续加载操作时,Vertica 会使用新数据重新计算聚合并更新投影。

60 - 区域设置

区域设置指定用户的语言、所在国家/地区以及任何特殊的可变首选项(例如排序规则)。Vertica 会根据区域设置确定某些字符串函数的行为。此外,区域设置还确定了需要进行排序和比较的各种 SQL 命令(例如聚合 GROUP BYORDER BY 子句、联接和分析 ORDER BY 子句)的排序规则。

Vertica 数据库的默认区域设置为 en_US@collation=binary(美国英语)。可以定义供数据库中的所有会话使用的新默认区域设置,也可以覆盖单个会话的区域设置。但是,无论会话排序规则如何,请始终采用默认 en_US@collation=binary 排序规则来对投影进行排序。特定区域设置的排序功能会在查询时应用。

如果您将区域设置设为 NULL,则 Vertica 会将区域设置设为 en_US_POSIX。您可以通过发出 vsql 元命令 \locale 将区域设置设回默认区域设置和排序规则。例如:

可以通过 ODBCJDBCADO.net 设置区域设置。

61 - 逻辑架构

包含 Vertica 数据库中的一组表和引用完整性约束。逻辑架构对象对 SQL 用户可见。逻辑架构不包括构成物理架构的投影。

62 - 位置标签

分配给储存位置的标签。创建存储策略时标签用于标识位置。存储策略中被标识的位置将作为对象的默认存储位置。

63 - 管理控制台

一种数据库管理工具,提供 Vertica 数据库的统一视图并用于监控来自单个访问点的多个群集。请参阅管理控制台

64 - MC super(超级用户管理员)

在 MC 界面中称为 Super,MC super 是您配置 MC 时创建的 Linux 用户帐户。请参阅配置管理控制台配置权限

65 - MC 管理的数据库

由 MC SUPER 或 ADMIN 用户在 MC 上创建或导入 MC 界面的 Vertica 数据库及数据库群集。当 MC 用户被授予数据库权限,其权限通过 MC 本身定义,并且只适用于在 MC 上管理的数据库。请参阅用户、角色和权限

66 - 合并

“合并”是用于合并 ROS 容器并清除已删除记录的Tuple Mover 进程。

67 - 元函数

用于查询或更改 Vertica 的内部状态,而且不是 SQL 标准的组成部分。

元函数只能在顶级 SELECT 语句中使用,并且该语句不能包含其他子句,例如 FROM 或 WHERE。

68 - 元数据

对数据库中的数据进行描述的数据,例如表中每一列的数据类型、压缩、限制等。元数据存储在 Vertica 编录中。

69 - 相互模式

当在相互模式下针对 TLS/SSL 安全性配置数据库时,传入的客户端请求验证服务器的证书,并且服务器还要求每个客户端提供一个证书和私钥以便服务器可以验证该客户端。

70 - 节点

一台被配置为运行 Vertica 的实例的主机。它是数据库群集的一个成员。为了使数据库能够从节点故障中恢复过来,需要数据库 K-safety 值至少等于 1(超过 3 个节点)。

71 - 不可重复的读取

同一个事务中的两个相同查询产生不同结果时,在 READ COMMITTED 隔离级别发生。在第一次查询已完成且第二次查询开始前,由于另一事务提交更改而改变查询结果,则会发生此情况。

72 - NUL

代表 ASCII/Unicode 编码为 0 的字符,有时用于描述“ASCII NUL”。

73 - NULL

指代没有值,对于字段(列)或常量为真,对于字符非真。

74 - OID

对象标识符 (OID) 是用于命名对象的标识符。在结构上,一个 OID 包括分层分配的命名空间中通过国际电信联盟 (ITU-T) 抽象语法符号标准 (ASN.1) 正式定义的一个节点。Vertica 数据库对象总是被指定一个 OID。OID 可直接使用在一些语句中,例如 HAS_TABLE_PRIVILEGE

来源:维基百科

75 - 并行加载

并行加载是在群集中任何可用节点(不一定是本地节点)上加载数据的过程。将此方法与通配符(如 *.dat)结合使用,以分布式方式并行加载数据文件。请参阅参数中的“COPY ON ANY NODE”。

76 - 路径(质量计划)

Vertica 基于成本查询优化器的执行策略,表示在查询计划中的子操作。

77 - 分区

指定数据在各个节点中的组织方式。分区尝试在节点内引入热点,以便轻松删除数据和回收磁盘空间。

78 - 虚拟读取

同一个事务中的两个相同查询产生不同的行集时,在 READ COMMITTED 隔离级别发生。由于在初始查询时未在 SELECT 获取表锁定。

79 - 物理架构

由用于在磁盘上存储数据的一个投影集组成。在物理架构的投影基于逻辑架构的对象。

80 - 物理架构设计

基于对示例数据文件和查询(如果可用)的分析的可用 K=1 设计。物理架构设计包含分段(事实表)超投影和复制(维度表)超投影。

81 - 主列

从原始数据加载的列,而不是从表达式派生的列。

82 - 主节点

在 Eon 模式中,主节点是主子群集的成员节点。主节点是 Vertica 在确定数据库是否能够维护数据完整性时考虑的唯一数据库节点。Vertica 要求数据库中超过一半的主节点处于运行状态。此外,所有分片必须至少有一个主节点作为订户。如果不满足其中任何一个条件,Vertica 将关闭数据库以防止潜在的数据损坏。

83 - 主子群集

在 Eon 模式下,主子群集是一种旨在形成数据库核心的子群集。Vertica 在确定数据库的 K-Safety 时仅考虑主子群集中的节点。只要主子群集中的一半节点启动,并且所有分片在主子群集中至少有一个节点作为订户,您的数据库就可以保持运行。有关详细信息,请参阅子群集类型和弹性扩展

84 - 主订户

在 Eon 模式数据库中,每个分片都有一个主订户节点。该节点负责运行 Tuple Mover 进程来维护分片中的数据。

85 - 投影

提供数据物理存储的表列的优化集合。投影可以包含一个或多个表的部分或全部列。

有关 Vertica 投影的详细信息,请参阅投影

86 - 投影集

对于给定的 K-safety 级别,一组伙伴实例投影是安全的。当 K=1 时,一个集合中有两个伙伴实例;当 K=2 时,有 3 个伙伴实例。Database Designer 为投影集中的所有投影分配相同的基本名称,以便将它们标识为一个组。

在刷新之前,投影必须是投影集的一部分。一旦创建了投影集(通过创建伙伴实例),该集将在单个事务中刷新。

87 - 查询群集级别

确定用于对类似查询进行分组的集合数。查询群集级别可以是从 1 到要包含在物理架构设计中的查询数量的任何整数。

查询通常根据它们访问的列和使用方式进行分组。以下工作负载通常使用不同类型的查询并放置在不同的查询群集中:向下钻取、大型聚合和大型联接。例如,如果报告工具和仪表板都访问同一个数据库,则报告工具可能会使用向下钻取来访问数据子集,而仪表板可能会使用大型聚合来查看大量数据。在这种情况下,将至少有 2 个查询群集。

88 - 查询优化器

评估运行查询的不同策略并选择最佳策略的组件。

89 - 仲裁

您的数据库具有最少数量的节点,这些节点必须启动并且是数据库群集的一部分,数据库才能继续运行。满足此最低要求时,您的数据库将具有节点仲裁。

构成仲裁的节点数取决于数据库模式:

  • 在企业模式下,一半以上的节点(总节点的 50% + 1)必须启动。

  • 在 Eon 模式下,群集中一半以上的主节点必须启动。

如果太多节点宕机,数据库可能会失去仲裁。数据库对失去仲裁的反应也取决于数据库的模式:

  • 失去仲裁的企业模式数据库将关闭以防止潜在的数据损坏。

  • 失去仲裁的 Eon 模式数据库进入只读模式以防止潜在的数据损坏。在此模式下,您通常可以执行查询,但 DDL 和 DML 语句会因错误而失败。

有关数据库可用性的详细信息,请参阅企业模式数据库中的 K-safetyEon 模式数据库中的数据完整性和高可用性

90 - 恢复

当系统中的一个或多个节点遇到软件或硬件相关故障后,Vertica 可将数据库还原到完全正常运行的状态。Vertica 通过查询存储在其他节点上的数据副本来恢复节点。例如,硬件故障可导致在离线时节点丢失数据库对象或者对数据库所做的更改(INSERT、UPDATE 等)缺失。在该节点重新上线后,查询群集中的其他节点,从而恢复丢失的对象并补上数据库更改。

91 - 引用完整性

由一组用于定义主键列和外键列的约束(逻辑架构对象)构成。

  • 每个小型表必须具有一项 PRIMARY KEY 约束。

  • 大型表必须包含可用于将大型表联接到较小的表的列。

  • 如果外表中存在 FOREIGN KEY 约束,则外部联接查询将会生成与相应的内部联接查询相同的结果。请注意,外部联接查询的内表在其联接列必须始终具有 PRIMARY KEY 约束。

92 - 刷新(投影)

确保节点上的所有投影都是最新的(可参与查询执行)。此过程可能需要很长时间,具体取决于表中的数据量。

有关详细信息,请参阅刷新投影

93 - 重新分段

Vertica 在查询执行期间自动执行的一个过程,它将现有投影或中间关系的行平均分配到群集中的每个节点。在重新分段结束时,输入关系中的每一行仅位于一个节点上。如果输入没有有效且正确计算请求结果所需的分段,Vertica 会对数据进行重新分段。

94 - 资源池

资源池由预先分配的系统资源子集和一个关联的队列构成。如 SQL 参考手册中所述,使用 CREATE RESOURCE POOL 命令创建资源池。

95 - 资源管理器

在单用户环境中,系统可以将所有资源用于单个查询,使该查询获得最高效的执行。但是,在有多个并发查询预期会同时运行的环境中,很难为每个查询提供最大资源量(因此该查询会获得最快的运行时间),并同时保证以合理运行时间同时服务于多个查询。资源管理器为解决此问题提供了选项和控制方式,同时可确保每个查询最终都会得到服务并始终遵守实际系统限制。

96 - 角色

可以将角色组与一组权限一同分配给用户或另一个角色。可以使用角色,通过一条命令,快速为一个或多个用户授予或撤销对多个表、架构、函数或其他数据库实体的权限。

Vertica 的角色实施符合 SQL 标准 T331 中的基本角色。

97 - 回退

事务回退通过放弃该事务所做的更改将数据库还原到先前的状态。语句级回退仅放弃已还原的语句所启动的更改。事务级回退放弃该事务所做的所有更改。

使用 ROLLBACK 语句,您可以明确回退到事务内的给定保存点,或者放弃整个事务。在以下两种情况下,Vertica 还可以启动自动回退:

  • 单个语句返回 ERROR 消息。这种情况下,Vertica 会回退该语句。

  • DDL 错误、系统故障、死锁和资源约束返回 ROLLBACK 消息。这种情况下,Vertica 会回退整个事务。

明确回退和自动回退始终会释放该事务持有的任何锁定。

98 - ROS(Read Optimized Store,读取优化存储)

读取优化存储 (ROS) 是一个高度优化、以读取为导向的磁盘存储结构,该结构通过投影进行组织排列。ROS 会大量使用压缩和索引。

99 - 保存点

保存点是事务内的一个特殊标记,允许在回退该保存点之后执行命令。事务恢复到该保存点之前的状态。

Vertica 支持以下两种类型的保存点:

  • 隐式保存点是在事务内成功执行每个命令之后自动建立的。此保存点用于回退下一个语句(如果该语句返回一个错误)。事务会保留一个隐式保存点,该保存点会通过每个成功的语句向前滚动。隐式保存点只能用于 Vertica,不能被直接引用。

  • 给定保存点是您通过 SAVEPOINT 语句在事务内设置的带标签的标记。随后可以通过 RELEASE SAVEPOINT(销毁保存点)和 ROLLBACK TO SAVEPOINT(回退在该保存点之后执行的所有操作)在同一事务中引用某个给定保存点。给定保存点在嵌套事务中尤为有用:可根据需要整体回退以某个保存点开始的嵌套事务。

100 - 辅助子群集

辅助子群集是一种易于按需启动和关闭的子群集。在 Eon 模式下,Vertica 在确定数据库是否具有分片覆盖率或节点仲裁时不会考虑辅助子群集中的节点。您可以停止或移除辅助子群集,这不会导致数据库进入只读模式。有关详细信息,请参阅子群集类型和弹性扩展

101 - 分段

定义如何使用 CREATE PROJECTION 语句在数据库群集中存储物理数据存储(投射)。其目标是在数据库的多个节点中均匀分布数据,以便所有节点都可以参与查询执行。

102 - 服务器模式

当在服务器模式下针对 TLS/SSL 安全性配置数据库时,传入的客户端请求会验证服务器的证书,但服务器不会验证客户端。在 Vertica 中,服务器是 Vertica 数据库服务器,客户端是登录到数据库的任何 Vertica 用户。Vertica 客户端用户可以直接在命令窗口中登录数据库,也可以通过在浏览器中运行的管理控制台连接到 Vertica 数据库服务器。

103 - 会话

用户通过使用 SQL 语句与数据库进行的交互。您可以使用 vsql 或 JDBC 应用程序启动会话。在 Vertica 中,会话范围与连接范围相同。连接到数据库将启动会话,退出将结束会话。

会话范围内的数据在单个事务的生命周期之外仍然保留。终止会话将截断表并删除所有行。

104 - 分片

存储在 Eon 模式数据库中的数据和相关元数据的子集。分片是 Vertica 在子群集中的节点之间划分处理查询、数据加载和数据维护工作的方式。节点订阅 一个或多个分片。在处理查询时,每个节点负责处理其订阅的一个或多个分片中的数据。

您在数据库创建过程中设置数据库的分片数。创建数据库后无法更改分片数。

分片在数据库群集中有一个主订户。主订户节点通过在其上运行 Tuple Mover 进程来维护分片中的数据。

105 - 分片覆盖率

在 Eon 模式数据库中,子群集中的节点订阅公共存储中的一个或多个分片。每个节点在处理查询时处理其订阅的一个或多个分片中的数据。当子群集至少有一个节点订阅了每个分片时,它就具有分片覆盖率。它能够处理查询,因为它可以访问数据库中的所有数据。在 K-safe 数据库中,每个子群集至少有两个节点订阅每个分片。如果子群集快速连续丢失太多节点,它可能不再有一个节点订阅每个分片。在这种情况下,子群集会丢失分片覆盖率并且无法处理查询。

整个数据库群集必须至少有一个主节点订阅公共存储中的每个分片。这种状态称为具有主分片覆盖率。主节点协调公共存储中数据的维护。如果群集丢失主节点,以至于并非每个分片都有至少一个节点订阅,那么它会丢失主分片覆盖率。在这种情况下,数据库进入只读模式,因为当一个或多个分片没有主节点订户时,更改公共存储中的数据是不安全的。

请参阅Eon 模式数据库中的数据完整性和高可用性

106 - 快照隔离

从最新时期 (AT LATEST EPOCH) 获取数据的历史查询。有关详细信息,请参阅历史查询

107 - Spread

在 Vertica 中使用的开源工具包,用于提供能迅速复原网络故障的高性能消息传送服务。数据库首次启动时,Spread 守护程序会自动启动,而且 Spread 进程会在群集中的控制节点上运行。

108 - 排序-合并联接

如果两个输入都预先排序,合并联接不必执行任何预处理。Vertica 使用的术语“排序-合并联接”是指在合并联接之前必须对至少一个输入排序的情况。只有当外部输入端已按联接键排序时,Vertica 才会排序内部输入端。

109 - 稳定函数

使用给定实参集运行时,稳定的函数会在单个查询或扫描操作中生成相同的结果。但是,在不同的环境下或者在不同的时间发布时,稳定的函数可能会生成不同的结果,例如在区域设置和时区发生变化—例如,SYSDATE

另请参阅不可变(不变)函数

110 - 语句

一行 SQL,不包括分号。例如,以下都是语句:

SELECT * FROM foo WHERE bar = 6
CREATE TABLE t1 (i INT);
INSERT INTO t1 VALUES(3)

111 - 存储位置

Vertica 用来存储编录、实际数据文件和临时数据文件的目录路径。您也可以为用户创建存储位置,然后授予一个或多个用户访问该存储的权限。您还可以创建一个带位置标签的存储位置,以用于存储策略。

112 - 存储策略

为了将带标签的位置关联为对象的默认存储位置而创建的数据库对象。数据库对象可以是一个数据库、架构、表或最小与最大范围分区。

113 - 严格

指示函数在任意输入实参为 null 时始终返回 null。

114 - 子群集

Eon 模式数据库中群集的子集。子群集将工作负载隔离到一组节点,让您分离任务(例如加载和查询)。

子群集有两种类型:

  • 当 Vertica 确定数据库是否可以继续安全运行时,会考虑主子群集。如果数据库中启动的主节点不到一半,或者没有主节点作为订户,您的数据库将关闭。主子群集最适合用于数据加载和 DDE 工作负载。

  • 维护数据完整性时,不考虑辅助子群集。您可以在不影响数据库稳定性的情况下关闭它们。辅助子群集最适合用于查询工作负载。它们不能直接提交事务,因此它们在执行数据加载和 DDE 语句时效率较低。

115 - 超投影

在一个锚表中包含所有列的投影。Vertica 使用超投影来确保对所有查询和其他 DML 操作的支持。

在某些条件下,Vertica 会在创建表时立即自动创建表的超投影。首次向该表加载数据时,如果其中不存在超投影,Vertica 还将创建一个超投影。 CREATE PROJECTION 如果它指定包括所有表列,则可以创建超投影。一个表可以有多个超投影。

有关详细信息,请参阅创建投影

116 - 临时位置

Vertica 用作临时空间的存储位置。

117 - 临时空间

某些查询执行操作(例如哈希联接和排序)必须溢出到磁盘时,创建的临时文件所临时占用的磁盘空间。您在查询、恢复、刷新投影等过程中也可能会遇到此类操作。如果临时位置提供给数据库,Vertica 会将其用作临时空间。

118 - Top-K 投影

该投影用于配置 Top-K 查询的投影数据。Top-K 查询是从一群元组中检索前 k 行的查询。

Top-K 投影就是一种实时聚合投影

119 - 事务

作为一个工作单位而执行的一个或多个操作。在用户层面,当用户或脚本运行一个或多个 SQL 语句时,事务就会发生在当前会话中。当您提交事务时,您在事务过程中使用 INSERTDELETEUPDATEMERGECOPY 对表格中的数据进行的任何更改都将永久化。如果您回退事务,针对表格数据进行的所有更改都将撤销。

Vertica 针对 SQL 事务提供原子性、一致性、隔离性和持久性 (ACID) 支持。

120 - Tuple Mover (TM)

Tuple Mover 管理 ROS 数据存储。在合并时,它会将较小的 ROS 容器合并到较大的 ROS 容器中并清除已删除的数据。

121 - UDx

用户定义的扩展 (UDx) 是包含在外部库中的函数,它们使用 Vertica SDK 以 C++、Python、Java 或 R 语言开发而成。外部库是在 Vertica 编录中使用 CREATE LIBRARY 语句定义的。它们最适用于难以用 SQL 执行的分析操作或者需要足够频繁地执行但速度成为主要问题的分析操作。

122 - 最新(投影)

如果投影可以参与查询执行,则处于最新状态。空表格上的投影在创建时是最新的。如果表格已经加载了数据,则新建的投影不会标记为最新,直到刷新为止。如果在某个节点关闭时刷新投影,则该投影可标记为最新,即便它缺失了某个节点上的数据。这是因为,在参与查询之前的恢复过程中,这个节点会构建缺失的数据。

123 - 用户定义的 SQL 函数

用户定义的 SQL 函数允许您以函数形式定义和存储常用的 SQL 表达式。用户定义的 SQL 函数对于执行复杂的查询和组合 Vertica 内置函数很有用。您只要调用在查询中指定的函数的名称。

只要可以在该位置使用普通 SQL 表达式,您就可以在查询中的任意位置使用用户定义的 SQL 函数,但不能在表分区子句或投影分段子句中使用。

124 - 视图

由关联查询定义的命名逻辑关系,其访问方式类似于 SQL 语句 FROM 子句中的表格。查询结果并未存储,而是在执行引用此视图的 SQL 时即时获取。

125 - 可变函数

无论实参或环境如何,每次调用时,易变函数都能返回不同的结果,例如 UUID_GENERATE

126 - vsql

vsql 是一种基于字符的交互式前端实用程序,使用它可以键入 SQL 语句并查看结果。它还提供了许多元命令及各种类似于 shell 的功能,有助于编写脚本和自动执行各种任务。

有关详细信息,请参阅安装 vsql 客户端和更一般的主题使用 vsql

127 - 窗口(分析)

分析函数的 OVER 子句指定如何对函数输入进行分区和排序,并指定就当前行而言,如何构建输入框架。输入数据是查询在对 FROMWHEREGROUP BYHAVING 子句求值之后返回的结果集。

128 - 工作数据大小

大多数查询操作的数据量。在大多数 Vertica 数据库中,您存储的数据多于定期查询的数据。例如,假设您正在为一家公司存储销售数据。您可以在数据库中保存多年的销售数据。但是,您运行的大多数查询可能只查询去年的数据以确定当前的销售趋势。在这种情况下,您的工作数据大小是一年内加载到数据库中的销售数据量。

当配置 Eon 模式数据库时,了解您的工作数据大小很重要。您希望子群集所有节点中的存储库总大小足以适合工作数据的大小。请注意,每个子群集的工作数据大小可能会有所不同。一些子群集可能只处理最近加载的数据,而其他子群集可能对更大的数据集执行多个查询。

129 - 工作负载分析器

这是一款顾问工具,会分析 SQL 系统表(监控 API)中包含的系统信息并返回一组优化建议。有关详细信息,请参阅《管理员指南》中的分析工作负载