StarRocks-3.0 Release Notes(最新版本 3.0.0 2023.04.28)

3.0.0-rc01

新增功能

系统架构

  • 支持存算分离架构。可以在 FE 配置文件中开启,开启后数据会持久化到远程对象存储/HDFS 中,本地盘作为缓存使用,可以更灵活的增删节点,支持表级别的缓存生命周期管理。在本地缓存命中的情况下性能可以对齐非存算分离版本。更多信息,参见部署使用 StarRocks 存算分离集群

存储和导入

数据湖分析

  • [Preview] 支持 Presto/Trino 兼容模式,可以自动改写 Presto/Trino 的 SQL。参见系统变量 中的 sql_dialect
  • 支持 Global UDF
  • [Preview] 支持 JDBC Catalog
  • 支持使用 SET CATALOG 命令来手动选择 Catalog。

权限与安全

  • 提供了新版的完整 RBAC 功能,支持角色的继承和默认角色。更多信息,参见权限系统总览
  • 提供更多权限管理对象和更细粒度的权限。更多信息,参见权限项

查询

  • [Preview] 支持大查询的算子落盘,可以在内存不足时利用磁盘空间来保证查询稳定执行成功。
  • Query Cache 支持更多使用场景,包括各种 Broadcast Join、Bucket Shuffle Join 等 Join 场景。
  • 动态自适应并行度,可以根据查询并发自适应调节 pipeline_dop

半结构化数据分析

功能优化

存储与导入

  • 数据导入提供了更丰富的 CSV 格式参数,包括 skip_headertrim_spaceencloseescape 。参见 STREAM LOADBROKER LOADROUTINE LOAD
  • Primary Key 模型表解耦了主键和排序键,支持通过 ORDER BY 单独指定排序键。
  • 优化 Primary Key 模型表在大数据导入、部分列更新、以及开启持久化索引等场景的内存占用。 #12068 #14187 #15729

物化视图

  • 优化 物化视图 的改写能力:
    • 支持 view delta join, 可以改写。
    • 支持对 Outer Join 和 Cross Join 的改写。
    • 优化带分区时 UNION 的 SQL rewrite。
  • 完善物化视图的构建能力:支持 CTE、SELECT * 、UNION。
  • 优化 SHOW MATERIALIZED VIEW 命令的返回信息。

查询

  • 完善算子对 Pipeline 的支持,所有算子都支持 Pipeline。
  • 完善大查询定位SHOW PROCESSLIST 支持查看 CPU 内存信息,增加大查询日志。
  • 优化 Outer Join Reorder 能力。
  • 优化 SQL 解析阶段的报错信息,查询的报错位置更明确,信息更清晰。

数据湖分析

  • 优化元数据统计信息收集。
  • Hive Catalog、Iceberg Catalog、Hudi Catalog 和 Delta Catalog 支持通过 SHOW CREATE TABLE 查看外表 Schema 信息,支持通过 SHOW CREATE CATALOG 查看 Catalog 的创建信息。

函数

  • 窗口函数 leadlag 支持 IGNORE NULLS。

问题修复

  • StarRocks 源文件的许可 header 中部分 url 无法访问。# 2224

  • SELECT 查询出现 unknown error。# 19731

  • 支持 SHOW/SET CHARACTER。# 17480

  • 当导入的内容超过 StarRocks 字段长度时,ErrorURL 提示信息不准确。提示源端字段为空,而不是内容超长。# 14

  • 支持 show full fields from ‘table’。# 17233

  • 分区修剪导致 MV 改写失败。# 14641

  • 当 MV 创建语句包含 count(distinct) 且 count(distinct) 作用在分布列上时,MV 改写失败。# 16558

行为变更

  • RBAC 升级以后会兼容之前的用户和权限,但是 GRANT 和 REVOKE 等相关语法有大幅改动。具体参见 SQL 参考 > 用户账号管理。

升级注意事项

必须从2.5版本升级到3.0 否则无法回滚 (理论上从 2.5 以下的版本升级到 3.0 也支持。但保险起见,请统一从 2.5 升级,降低风险。)

BDBJE 升级

3.0 版本升级了 BDB 库,但是 BDB 不支持回滚,所以需要在回滚之后仍然使用 3.0 里的 BDB 库。

  1. 在 FE 包替换成旧版本之后,将 3.0 包里的 fe/lib/starrocks-bdb-je-18.3.13.jar 放到 2.5 版本 fe/lib 目录下。

  2. 删除 fe/lib/je-7.*.jar

权限系统升级

升级到 3.0 会默认采用新的 RBAC 权限管理系统,升级后只支持回滚到 2.5。

回滚后需要手动执行 ALTER SYSTEM CREATE IMAGE 命令,触发创建新的 image 并等待该 image 同步给所有的 follower 节点。如不执行该命令,可能会导致部分回滚失败。ALTER SYSTEM CREATE IMAGE 在 2.5.3 版本及以后支持。

存算分离版本

存算分离版本和非存算分离版本在集群部署的时候在FE配置时生效,请独立部署存算分离模式集群。

5赞

是否支持列级别的权限控制呢?

1赞

还不支持,后续通过对接ranger可以实现

1赞

在本地缓存命中的情况下性能可以对齐非存算分离版本。

如果不能命中本地缓存,或者只能命中部分缓存,是不是意味着性能不如存算不分离的版本?因为要进行网络io。

是的,如果本地缓存无法命中,肯定性能有下降的,但是你可以通过设置每个表的缓存生命周期来优化,比如给重要的表的热数据设置在本地磁盘中缓存,在磁盘空间充足的情况下就不会被轻易淘汰。

目前的版本支持对接阿里OSS或者Minio么?是否可以复用AWS S3的配置?

支持对接阿里云OSS,Minio。跟AWS使用方式一致

1赞

3.0.0-rc02
Release date: 2023-04-14

功能优化

  • 更新 3.0 版本的 Docker 镜像和相关部署文档。 (#20623 #21021)

  • 提供异步 INSERT 接口,支持创建异步 INSERT 任务。 (#20609)

  • 提升物化视图构建时的分区创建效率。(#21167)

问题修复

修复了以下问题:

  • 使用 VARCHAR 作为物化视图分区列时导致 FE 无法正常启动。(#19366)

  • 窗口函数 lead() 和 lag() 对 IGNORE NULLS 的处理不正确。 (#21001) 参考lead/lag ignore nulls文档

  • 插入临时分区和自动创建分区发生冲突。(#21222

StarRocks存算分离架构使用aws s3作为存储层时五种不同认证访问方式分别适用于什么场景?第一种AWS SDK 默认的认证凭证,第二种IAM user-based 认证,第三种Instance Profile 认证,第四种Assumed Role 认证,第五种外部 AWS 账户通过 Assumed Role 认证

这个取决于你的S3的认证方式

发布日期: 2023 年 4 月 28 日

3.0.0

新增功能

系统架构

  • 支持存算分离架构。可以在 FE 配置文件中开启,开启后数据会持久化到远程对象存储或 HDFS 中,本地盘作为缓存使用,可以更灵活的增删节点,支持表级别的缓存生命周期管理。在本地缓存命中的情况下性能可以对齐非存算分离版本。更多信息,参见部署使用 StarRocks 存算分离集群。

存储和导入

  • 支持自增列属性 (AUTO_INCREMENT),提供表内全局唯一 ID,简化数据管理。

  • 支持导入时自动创建分区和使用分区表达式定义分区规则,提高了分区创建的易用性和灵活性。

  • Primary Key 模型表支持更丰富的 UPDATE 和 DELETE 语法,包括使用 CTE 和对多表的引用。

  • Broker Load 和 INSERT INTO 增加 Load Profile,支持通过 profile 查看并分析导入作业详情。使用方法与查看分析Query Profile相同。

数据湖分析

  • [Preview] 支持 Presto/Trino 兼容模式,可以自动改写 Presto/Trino 的 SQL。参见系统变量 sql_dialect

  • [Preview] 支持 JDBC Catalog。

  • 支持使用 SET CATALOG 命令来手动选择 Catalog。

权限与安全

  • 提供了新版的完整 RBAC 功能,支持角色的继承和默认角色。

  • 提供更多权限管理对象和更细粒度的权限。

查询

  • [Preview] 支持大查询的算子落盘,可以在内存不足时利用磁盘空间来保证查询稳定执行成功。

  • Query Cache 支持更多使用场景,包括各种 Broadcast Join、Bucket Shuffle Join 场景。

  • 支持 Global UDF。

  • 动态自适应并行度,可以根据查询并发自适应调节 pipeline_dop

SQL 语句和函数

  • 新增如下权限相关 SQL:SET DEFAULT ROLE、SET ROLE、SHOW ROLES、SHOW USERS。

  • 新增半结构化数据分析函数:map_apply()、map_filter()、transform_keys()、transform_values()。

  • array_agg() 支持 ORDER BY。

  • 窗口函数 lead()、lag() 支持 IGNORE NULLS。

  • 支持 BINARY/VARBINARY 数据类型,新增 to_binary() ,from_binary() 函数。

  • 新增字符串函数 replace()、hex_decode_binary()、hex_decode_string()。

  • 新增加密函数 base64_decode_binary()、base64_decode_string()。

  • 新增数学函数 sinh()、cosh()、tanh()。

  • 新增工具函数 current_role()。

功能优化

部署

  • 更新 3.0 版本的 Docker 镜像和相关部署文档。 (#20623 #21021)

存储与导入

  • 数据导入提供了更丰富的 CSV 格式参数,包括 skip_headertrim_spaceencloseescape 。参见 STREAM LOAD、BROKER LOAD 和 ROUTINE LOAD。

  • Primary Key 模型表解耦了主键和排序键,支持通过 ORDER BY 单独指定排序键。

  • 优化 Primary Key 模型表在大数据导入、部分列更新、以及开启持久化索引等场景的内存占用。 #12068 #14187 #15729

  • 提供异步 INSERT 接口,支持创建异步 INSERT 任务。 (#20609)

物化视图

  • 优化物化视图的改写能力:

    • 支持 view delta join,可以改写。

    • 支持对 Outer Join 和 Cross Join 的改写。

    • 优化带分区时 UNION 的 SQL rewrite。

  • 完善物化视图的构建能力:支持 CTE、SELECT * 、UNION。

  • 优化 SHOW MATERIALIZED VIEW 命令的返回信息。

  • 提升物化视图构建时的分区创建效率。(#21167)

查询

  • 完善算子对 Pipeline 的支持,所有算子都支持 Pipeline。

  • 完善大查询定位,SHOW PROCESSLIST 支持查看 CPU 内存信息,增加大查询日志。

  • 优化 Outer Join Reorder 能力。

  • 优化 SQL 解析阶段的报错信息,让查询的报错位置更明确,信息更清晰。

数据湖分析

  • 优化元数据统计信息收集。

  • Hive Catalog、Iceberg Catalog、Hudi Catalog 和 Delta Catalog 支持通过 SHOW CREATE TABLE 查看外表 Schema 信息,支持通过 SHOW CREATE CATALOG 查看 Catalog 的创建信息。

问题修复

  • StarRocks 源文件的许可 header 中部分 url 无法访问。# 2224

  • SELECT 查询出现 unknown error。# 19731

  • 支持 SHOW/SET CHARACTER。# 17480

  • 当导入的内容超过 StarRocks 字段长度时,ErrorURL 提示信息不准确。提示源端字段为空,而不是内容超长。# 14

  • 支持 show full fields from ‘table’。# 17233

  • 分区修剪导致 MV 改写失败。# 14641

  • 当 MV 创建语句包含 count(distinct) 且 count(distinct) 作用在分布列上时,MV 改写失败。# 16558

  • 使用 VARCHAR 作为物化视图分区列时导致 FE 无法正常启动。(#19366)

  • 窗口函数 lead() 和 lag() 对 IGNORE NULLS 的处理不正确。 (#21001)

  • 插入临时分区和自动创建分区发生冲突。(#21222

行为变更

  • RBAC 升级以后会兼容之前的用户和权限,但是 GRANT 和 REVOKE 等相关语法有大幅改动。

  • SHOW MATERIALIZED VIEW 语句更名为 SHOW MATERIALIZED VIEWS。

  • 新增如下保留关键字:AUTO_INCREMENT、URRENT_ROLE、DEFERRED、ENCLOSE、ESCAPE、IMMEDIATE、PRIVILEGES、SKIP_HEADER、TRIM_SPACE、VARBINARY。

1赞

发布日期: 2023年5月31日

3.0.1

新增特性

  • [公测中] 支持大查询的算子落盘(Spilling),支持通过将中间结果落盘来降低大查询的内存消耗。更多信息,参考中间结果落盘

  • Routine Load 支持导入 Avro 格式的数据。

  • 支持 Microsoft Azure Storage (包括 Azure Blob Storage 和 Azure Data Lake Storage)。

功能优化

  • 存算分离集群支持 StarRocks 外表。

  • Information Schema 增加 load_tracking_logs 来记录最近的导入错误信息。

  • 忽略建表语句中多余的特殊字符。 #23885

问题修复

修复了如下问题:

  • 主键模型表 SHOW CREATE TABLE 返回的建表信息错误。#24237

  • Routine Load 过程中 BE crash。#20677

  • 创建分区表时指定不支持的 Properties 导致 NPE。#21374

  • SHOW TABLE STATUS 结果展示不全。#24279

大致是啥时候啊?