23.3.x New Features¶
23.3.x版本发布时间:2023年7月
1、客户端连接与驱动 (Client Connectivity & Drivers)¶
1.1 工作负载路由 (Workload Routing)¶
引入了一种基于工作负载而非 IP 地址的连接路由机制。
- 优势:管理员可以根据工作负载类型将客户端连接自动路由到特定的子集群。
- 透明性:客户端只需指定工作负载类型,无需感知目标子集群;管理员可随时调整路由策略而不影响客户端。
1.2 驱动程序增强¶
- ODBC:
- 错误报告优化:在执行
COPY或INSERT数据加载失败时,SQLGetDiagRec()现在返回前 50 个失败的诊断信息(此前仅返回第一个)。
- 错误报告优化:在执行
- ADO.NET:
- 跨平台支持:现已支持 Windows、Linux 和 macOS,并可通过 NuGet.org 获取。
- 配置变更:日志配置迁移至
Vertica.Data.dll.config文件,不再依赖 Windows 注册表。 - 限制:Kerberos 认证目前仍仅限 Windows 平台。
2、复杂数据类型与 SQL (Complex Types & SQL)¶
2.1 SQL 语法与功能扩展¶
- 默认值支持:包含复杂类型列的表中,其标量类型列现在可以使用
DEFAULT和SET USING选项。 - Parquet 宽松匹配:Parquet 解析器的
do_soft_schema_match_by_name选项现已支持复杂数据类型。 - JOIN 操作增强:
EXPLODE和UNNEST函数现在支持与LEFT JOIN配合使用(需配合LATERAL关键字),以保留 NULL 结果。
3、容器与 Kubernetes (Containers and Kubernetes)¶
3.1 服务与监控配置¶
- HTTP 服务控制:新增
httpServerMode参数,用于控制 Vertica 服务器是否启动 HTTP 服务。 - 自定义端口:当服务类型为
NodePort时,支持通过subclusters[i].httpNodePort设置外部 HTTPS 连接的自定义端口。 - Prometheus 集成:Vertica on Kubernetes 现在通过 HTTPS 服务暴露服务器指标,支持导出时间序列数据供 Prometheus 可视化。
4、安全与认证 (Security and Authentication)¶
4.1 认证机制升级¶
- ODBC OAuth SSO:ODBC 驱动现在支持自动打开浏览器跳转至 Keycloak 端点进行单点登录 (SSO)。
- 控制通道加密:支持在数据库创建阶段即设置
EncryptSpreadComm参数,以启用节点间通信的 TLS 加密(此前仅支持在数据库运行后修改)。
5、其他关键更新 (Other Key Updates)¶
- 存储过程:支持嵌套调用、手动事务提交 (
PERFORM COMMIT) 以及会话语义(Session Semantics),即存储过程中的会话更改在执行后持久化。 - 机器学习:扩展了 PMML 支持(包括
FieldRef和LocalTransformations标签),并在 TensorFlow 模型中支持复杂类型输入输出。 - 投影刷新性能:优化了分区表的投影刷新逻辑。现在,已完成刷新的分区可立即用于查询处理,无需等待整个刷新过程结束。
- Eon 模式:支持向现有的沙箱中添加或移除辅助子集群。
- 文件导出:
EXPORT TO语句新增ifDirExists参数,支持在目标目录存在时选择覆盖或追加文件。