暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Vertica 24.2.x版本新功能

simonchiang 2024-08-29
153

0. 总结

  1. 备份和恢复
    • vbr工具现在可以在恢复和复制任务中自动创建目标命名空间。
  2. 客户端连接
    • 允许在路由规则中添加和删除子集群。
  3. 客户端驱动程序
    • ADO.NET 现在支持通过 OAuth 连接到 Vertica。
  4. 配置
    • 现在支持通过代理访问 S3。
  5. 容器和 Kubernetes
    • 支持 AWS Secrets Manager,用于在 Kubernetes 上安全管理机密。
    • 添加了多个新的自定义资源定义 (CRD),如 VerticaRestorePointsQuery,用于从存档中检索还原点。
  6. 数据加载
    • 支持来自 AWS SQS 的自动数据加载触发器。
    • 支持 Iceberg 版本 2 的元数据格式。
  7. 数据库管理
    • 引入了多个新功能,如通过 HTTPS 服务查看客户端连接、排出子集群连接、查看订阅状态等。
  8. 机器学习
    • 新增对 Partial Least Squares (PLS) 回归和向量自回归 (VAR) 模型的支持。
  9. 安全和身份验证
    • 增加了多个与 OAuth2 和 JWT 验证相关的安全配置参数。
    • 支持为使用 JWT 验证类型的用户自动分配角色。
  10. 存储过程
    • Schedules 现在支持 cron 表达式中的步骤和范围。

1. 备份和恢复

1.1 vbr 目标命名空间创建

对于vbr恢复和复制任务,如果参数中指定的命名空间--target-namespace在目标数据库中不存在,则vbr创建一个具有指定的名称--target-namespace和源命名空间的分片数的命名空间,然后将对象复制或恢复到该命名空间。有关详细信息,请参阅Eon 模式数据库要求

2. 客户端连接

2.1 在路由规则中添加和删除子集群

您现在可以修改路由规则以添加或删除子集群。有关详细信息,请参阅ALTER ROUTING RULE

3.客户端驱动程序

3.1 ADO.NET 的 OAuth 支持

您现在可以使用 OAuth 通过 ADO.NET 连接到 Vertica。

ADO.NET 驱动程序使用简化的配置方案并采用单个连接属性:客户端从身份提供者检索的访问令牌。其他流程(如令牌刷新)应由驱动程序在外部处理。

JDBC 和 ODBC 驱动程序将在未来的版本中遵循类似的配置方案。

有关 OAuth 的详细信息,请参阅OAuth 2.0 身份验证

4. 配置

4.1 S3

Vertica 现在支持通过代理访问 S3。请参阅S3Proxy 配置参数proxyS3BucketConfig 中的字段。

5. 容器和 Kubernetes

5.1 AWS Secrets Manager 支持

VerticaDB 操作员可以访问您存储在 Amazon Web Service 的AWS Secrets Manager中的机密。这样,您就可以在 Kubernetes 上为 AWS 和 Vertica 之间共享的所有敏感信息维护一个位置。

有关详细信息,请参阅机密管理

5.2 VerticaRestorePointsQuery 自定义资源定义

VerticaRestorePointsQuery 自定义资源定义 (CRD) 从存档中检索还原点,以便您可以还原对象或将数据库回滚到以前的状态。自定义资源 (CR) 指定存档和可选时间段,VerticaDB 操作员检索保存到存档的还原点。

有关详细信息,请参阅VerticaRestorePointsQuery 自定义资源定义自定义资源定义参数

5.3 VerticaDB CRD 参数

VerticaDB自定义资源定义提供了以下 CRD 参数以从还原点恢复:

  • restorePoint.archive
  • restorePoint.id
  • restorePoint.index

您可以使用VerticaRestorePointsQuery 自定义资源定义来检索已保存的还原点。有关 CRD 参数的详细信息,请参阅自定义资源定义参数

5.4 VerticaScrutinize 自定义资源定义

VerticaScrutinize CRD 运行scrutinize以收集有关 VerticaDB CR 的诊断信息。Vertica 支持可能会在解决支持案例时要求您提供此诊断信息。

有关详细信息,请参阅VerticaScrutinize 自定义资源定义

5.5 命名空间范围的运算符

您可以使用 Helm 图表部署 VerticaDB 操作员以仅监视命名空间内的资源。这要求您在安装期间设置以下 Helm 图表参数:

  • controllers.enable
  • controllers.scope

有关安装说明,请参阅安装 VerticaDB 操作器。有关每个参数的详细信息,请参阅Helm 图表参数

5.6 节点管理代理 (NMA) Sidecar

Kubernetes 上的 Vertica 在 sidecar 容器中运行节点管理代理。NMA 公开了一个 REST API,VerticaDB 操作员可以使用该 API 来管理集群。

有关详细信息,请参阅Kubernetes 上的容器化 Vertica

5.7 支持 OpenShift restricted-v2 SCC

Kubernetes 上的 Vertica 支持restricted-v2OpenShift 的 SCC。这是目前限制最严格的 SCC。

有关 Vertica 和 OpenShift 集成的详细信息,请参阅Red Hat OpenShift 集成

5.8 命名空间范围的运算符

您可以使用 Helm 图表部署 VerticaDB 操作员以仅监视命名空间内的资源。这要求您在安装期间设置以下 Helm 图表参数:

  • controllers.enable
  • controllers.scope

有关安装说明,请参阅安装 VerticaDB 操作器。有关每个参数的详细信息,请参阅Helm 图表参数

5.9 容器化的 Kafka 调度器

Kubernetes 上的 Vertica 支持 Kafka 调度程序,这是一种自动将数据从 Kafka 加载到 Vertica 数据库表中的机制。Vertica 将调度程序打包在 Helm 图表中,以便您可以轻松地将调度程序部署到 Kubernetes 环境中。

有关详细信息,请参阅容器化 Kafka 调度程序

6. 数据加载

6.1 来自 AWS 的自动加载触发器

数据加载器可以处理来自 AWS 上的 SQS(简单队列服务)队列的消息,以加载添加到 S3 存储桶的新文件。创建数据加载器时定义触发器 Vertica 会自动运行 EXECUTE DATA LOADER 来响应队列中的事件。

6.2 冰山版本 2

CREATE EXTERNAL TABLE ICEBERG支持元数据格式的版本 1 和版本 2。

7. 数据库管理

7.1 HTTPS 服务

关于HTTPS服务的详细信息,请参阅HTTPS服务

7.1.1 查看客户端连接

您现在可以使用/v1/node/connections端点查看该节点的客户端连接数。

以下示例显示到 的节点共有 11 个连接127.0.0.1,其中 2 个刚刚开始初始化:

$ curl -sk -w "\n" --user dbadmin: "https://127.0.0.1:8443/v1/node/connections" { "total_connections": 11, "user_sessions": 9, "initializing_connections": 2 }

7.1.2 排出子簇

您现在可以使用终端节点来耗尽子集群的连接。此功能以前仅限于SHUTDOWN_WITH_DRAIN函数。要验证子集群的耗尽状态,请查询DRAINING_STATUS/v1/subclusters/subcluster_name/drain

要耗尽子集群的连接,您可以发送包含以下之一的 POST 请求:

  • An empty body
  • {"cancel": false}

例如:

$ curl -i -X POST -d '{"cancel": false}' -ks -w "\n" --user dbadmin: https://127.0.0.1:8443/v1/subclusters/sc_01/drain HTTP/1.1 200 OK Content-Type: application/json Content-Length: 43 Connection: keep-alive Server: oatpp/1.3.0

要停止耗尽连接,请使用 发送 POST 请求{"cancel": true}。例如:

$ curl -i -X POST -d '{"cancel": true}' -ks -w "\n" --user dbadmin: https://127.0.0.1:8443/v1/subclusters/sc_01/drain HTTP/1.1 200 OK Content-Type: application/json Content-Length: 47 Connection: keep-alive Server: oatpp/1.3.0

7.1.3 查看订阅状态

新的/v1/subscriptions端点返回有关节点对分片的订阅的信息:

  • node_name
  • shard_name:节点订阅的分片
  • subscription_state:订阅状态(ACTIVEPENDINGPASSIVEREMOVING
  • is_primary:该订阅是否为主订阅

例如:

$ curl -i -sk -w "\n" --user dbadmin:my_password "https://127.0.0.1:8443/v1/subscriptions" { "subscriptions_list": [ { "node_name": "node08", "shard_name": "segment0004", "subscription_state": "ACTIVE", "is_primary": false }, ... ] }

7.1.4 仓库和数据路径

以下存储位置字段已添加到/v1/nodes/v1/nodes/_node_name_端点:

  • data_path:用于存储 USAGE ‘DATA,TEMP’ 数据的路径列表。
  • depot_path:用于存储 USAGE ‘DEPOT’ 数据的路径。

例如:

$ curl -i -sk --user dbadmin:my_password https://127.0.0.1:8443/v1/nodes HTTP/1.1 200 OK Content-Type: application/json Content-Length: 648 Connection: keep-alive Server: oatpp/1.3.0 { "detail": null, "node_list": [ { "name": "v_vmart_node0001", "node_id": 45035996273704982, "address": "192.0.2.0", "state": "UP", "database": "VMart", "is_primary": true, "is_readonly": false, "catalog_path": "\/scratch_b\/VMart\/v_vmart_node0001_catalog\/Catalog", "data_path": [ "\/scratch_b\/VMart\/v_vmart_node0001_data" ], "depot_path": "\/scratch_b\/VMart/my_depot", "subcluster_name": "", "last_msg_from_node_at": "2023-12-01T12:38:37.009443", "down_since": null, "build_info": "v24.1.0-20231126-36ee8c3de77d43c6ad7bbef252302977952ac9d6" } ] } $ curl -i -sk --user dbadmin:my_password https://127.0.0.1:8443/v1/nodes/v_vmart_node0001/ HTTP/1.1 200 OK Content-Type: application/json Content-Length: 648 Connection: keep-alive Server: oatpp/1.3.0 { "detail": null, "node_list": [ { "name": "v_vmart_node0001", "node_id": 45035996273704982, "address": "192.0.2.0", "state": "UP", "database": "VMart", "is_primary": true, "is_readonly": false, "catalog_path": "\/scratch_b\/VMart\/v_vmart_node0001_catalog\/Catalog", "data_path": [ "\/scratch_b\/VMart\/v_vmart_node0001_data" ], "depot_path": "\/scratch_b\/VMart/my_depot", "subcluster_name": "", "last_msg_from_node_at": "2023-12-01T12:38:37.009443", "down_since": null, "build_info": "v24.1.0-20231126-36ee8c3de77d43c6ad7bbef252302977952ac9d6" } ] }

8. 机器学习

8.1 Partial Least Squares (PLS) 回归支持

Vertica 现在支持 PLS 回归模型。

PLS 回归算法结合了PCA(主成分分析)线性回归的特点,提取一组潜在成分,以解释预测变量和响应变量之间尽可能多的协方差,然后执行回归,使用提取的成分预测响应值。

当预测变量的数量大于观测值的数量或预测变量高度共线时,此技术特别有用。如果输入关系满足上述任一条件,则普通线性回归无法收敛到准确的模型。

PLS_REG函数创建并训练 PLS 模型,PREDICT_PLS_REG函数使用 PLS 模型对输入关系进行预测。有关详细示例,请参阅PLS 回归

8.2 向量自回归 (VAR) 支持

Vertica 现在支持 VAR 模型。

VAR 是一种多元自回归时间序列算法,可捕捉多个时间序列变量随时间的变化关系。与仅考虑单个变量的 AR 不同,VAR 模型结合了模型中不同变量之间的反馈,使模型能够分析变量在滞后时间步骤中的相互作用。例如,对于两个变量(大气压力和降雨量),VAR 模型可以确定气压下降是否会导致未来某个日期下雨。

AUTOREGRESSOR函数自动执行适合您的输入数据的算法:

  • 一个值列:该函数执行自回归并返回训练好的 AR 模型。
  • 多值列:该函数执行向量自回归并返回训练好的 VAR 模型。

要使用 VAR 模型进行预测,请使用PREDICT_AUTOREGRESSOR函数。请参阅VAR 模型示例以获取扩展示例。

9. 安全和身份验证

9.1 OAuth2安全配置参数

有新的安全配置参数可以为使用即时 (JIT) 配置创建的用户提供更多控制:

  • OAuth2JITRolesClaimName:标识 IdP 角色声明。JIT 配置的用户将自动分配声明角色作为默认角色。此参数替换OAuth2JITClient
  • OAuth2JITGroupsClaimName:标识 IdP 组声明。JIT 配置的用户会自动分配组声明名称或组声明角色作为默认角色。
  • OAuth2JITForbiddenRoles:在自动角色分配期间限制指定的角色。

有关详细信息,请参阅安全参数

9.2 OAuth 身份验证参数

Vertica 提供以下 OAuth 身份验证参数,用于配置使用 JIT 配置的 OAuth 身份验证记录:

  • groups_claim_name
  • oauth2_jit_authorized_roles
  • role_group_suffix
  • roles_claim_name

有关每个参数的详细信息,请参阅OAuth 身份验证参数

9.3 JWT 验证的自动角色分配

Vertica 支持为使用验证类型的身份验证记录的即时配置 (JIT) 用户自动分配角色JWT

有关详细信息,请参阅即时用户配置

9.4 修复了 LDAP Link 的时间表

LDAP Link 服务现在支持使用 LDAPLinkCron 的固定时间表。这可以作为 LDAPLinkInterval 的替代方案。

LDAPLinkInterval 根据上一次同步的完成时间计算下一次同步的时间。例如,假设 LDAPLinkInterval 设置为 24 小时。如果同步从上午 9:00 开始,并在 30 分钟内完成,则下一次同步将在第二天上午 9:30 进行。

新的 LDAPLinkCron 参数允许您使用表达式指定同步的确切时间cron,以便完成时间不会影响下一次运行。目前不支持值分隔符。

有关详细信息,请参阅LDAP 链接参数

例如,要在每月第二天下午 7:00 运行 LDAP 链接同步操作:

=> ALTER DATABASE DEFAULT SET LDAPLinkCron='0 19 */2 * *';

10. 存储过程

10.1 计划步骤和范围

Schedules现在支持cron使用步骤和范围的表达式。有关详情,请参阅计划执行

二维码.png

最后修改时间:2024-09-02 09:52:37
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论