24.1.x New Features¶
24.1版本发布时间:2024年1月
1、运维与监控 (Admin & Monitoring)¶
1.1 Grafana 仪表盘¶
Vertica 提供了一套预置的 Grafana 仪表盘,用于可视化 Prometheus 监控指标。
- 覆盖范围:包括 Vertica 概览、查询分析、资源管理以及 Depot 存储状态。
- 开源获取:用户可以从
vertica/grafana-dashboards仓库下载仪表盘源码。
2、数据加载 (Data Load)¶
2.1 自动加载性能提升¶
- 并行执行:自动加载任务现在会将数据切分为多个批次进行并行处理。
- 批次大小:默认根据数据总量和执行节点数量自动计算,也可以通过
EXECUTE DATA LOADER的BATCH_SIZE选项手动覆盖。
2.2 指定文件加载¶
支持在调用 EXECUTE DATA LOADER 时指定具体的文件列表。
- 优势:加载器不再需要扫描整个存储位置,特别适用于“推送”模式的工作流(即由通知器检测到新文件后直接触发加载)。
2.3 DATA_LOADER_EVENTS 系统表¶
新增系统表用于记录所有数据加载器的事件。
- 包含信息:文件路径、加载是否成功、重试次数等。
- 权限控制:用户仅能查询自己有权限访问的加载器事件。
2.4 Iceberg 表支持回退名称映射¶
增强了 Iceberg 表的读取兼容性。
- 机制:如果 Parquet 文件中未编码字段 ID,Vertica 会自动使用 Iceberg 元数据中的回退名称映射。
- 透明性:该过程自动进行,无需修改 Vertica 中的表定义。
3、数据库管理 (Database Management)¶
3.1 LogRotate 服务¶
- 内置日志轮转:新增 LogRotate 服务,不再依赖 Linux 原生的
logrotate工具,实现了日志文件的自动轮转管理。
3.2 S3 写入性能优化¶
- 并行写入:默认情况下写入是单线程的,但对于 S3 存储,可以通过增加线程池来实现并行写入(包括文件导出和公共存储写入)。
- 配置参数:通过
ObjStoreUploadParallelism参数控制线程池大小。通常建议每个并发写入者配置 1 到 2 个线程。
3.3 错误报告标准化 (RFC7807)¶
- NMA 与 HTTPS 服务:节点管理代理 (NMA) 和 HTTPS 服务端点现在均遵循 RFC7807 规范返回错误信息,提升了 API 交互的一致性。
3.4 HTTPS 服务端点增强¶
- 查看订阅状态:
/v1/subscriptions端点返回节点对分片的订阅详情(状态、是否为主订阅等)。 - 存储路径信息:
/v1/nodes端点新增了data_path(数据/临时路径)和depot_path(仓库路径)字段。
4、定向查询 (Directed Queries)¶
4.1 新增状态表与清理函数¶
- DIRECTED_QUERY_STATUS 表:记录已执行定向查询的信息,包括执行次数。
- CLEAR_DIRECTED_QUERY_USAGE 函数:用于重置单条或所有定向查询的执行计数器。
5、Eon 模式 (Eon Mode)¶
5.1 命名空间 (Namespace) 支持¶
Eon 模式数据库现在引入了“命名空间”概念,这是 Vertica 对象层级中的顶层数据结构。
- 结构定义:命名空间是 Schema 和 Table 的集合,并根据定义的分片数量进行分段。
- 默认与自定义:数据库默认包含一个
default_namespace。用户可以使用CREATE NAMESPACE创建额外的命名空间。 - 对象归属:创建表或 Schema 时,必须指定其所属的命名空间;若未指定,则默认归入
default_namespace。
6、机器学习 (Machine Learning)¶
6.1 MLSUPERVISOR 角色权限扩展¶
拥有 MLSUPERVISOR 角色的用户现在可以使用 IMPORT_MODELS 和 EXPORT_MODELS 元函数来导入和导出模型。
6.1 支持导出至 UDFS 位置¶
模型导入导出功能现已支持任意支持的文件系统或对象存储,包括 Amazon S3 桶和 Google Cloud Storage 对象存储。
7、管理控制台 (Management Console)¶
7.1 S3 桶要求¶
在创建或恢复(Revive)数据库时,必须指定一个在部署 CloudFormation 模板时已授权的 S3 桶。
8、表操作 (Tables)¶
8.1 多列添加支持¶
ALTER TABLE 语句现在支持在一个命令中添加多个列,只需为每个列使用一个 ADD COLUMN 子句即可。