编辑

StarRocks version 3.0

3.0.6

发布日期:2023 年 9 月 12 日

新增特性

  • 聚合函数 group_concat 支持使用 DISTINCT 关键词和 ORDER BY 子句。#28778
  • 分区中数据可以随着时间推移自动进行降冷操作。#29335 #29393

功能优化

  • 对所有复合谓词以及 WHERE 子句中的表达式支持隐式转换,可通过会话变量 enable_strict_type 控制是否打开隐式转换(默认取值为 false)。#21870
  • 统一 FE 和 BE 中 STRING 转换成 INT 的处理逻辑。#29969

问题修复

修复了如下问题:

  • 如果 enable_orc_late_materialization 设置为 true,使用 Hive Catalog 查询 ORC 文件中 STRUCT 类型的数据时结果异常。#27971
  • Hive Catalog 查询时,如果 WHERE 子句中使用分区列且包含 OR 条件,查询结果不正确。 #28876
  • RESTful API show_data 对于云原生表的返回信息不正确。#29473
  • 如果集群为存算分离架构,数据存储在 Azure Blob Storage 上,并且已经建表,则回滚到 3.0 时 FE 无法启动。 #29433
  • 向用户赋予 Iceberg Catalog 下某表权限后,该用户查询该表时显示没有权限。#29173
  • BITMAPHLL 类型的列在 SHOW FULL COLUMNS 查询结果中返回的 Default 字段值不正确。#29510
  • 在线修改 FE 动态参数 max_broker_load_job_concurrency 不生效。#29964 #29720
  • Refresh 物化视图,同时并发地修改物化视图的刷新策略,有概率会导致 FE 无法启动。#29691
  • 执行 select count(distinct(int+double)) from table_name 会报错 unknown error#30054
  • 主键模型表 Restore 之后,BE 重启后元数据发生错误,导致元数据不一致。#30135

3.0.5

发布日期:2023 年 8 月 16 日

新增特性

功能优化

问题修复

修复了如下问题:

  • FE 中表级别 scan 统计信息错误,导致表查询和导入的 metrics 信息不正确。 #27779
  • 分区表中修改 sort key 列后查询结果不稳定。#27850
  • Restore 后同一个 tablet 在 BE 和 FE 上的 version 不一致。#26518
  • 建 Colocation 表时如果不指定 buckets 数量,则 bucket 数量自动推断为 0,后续添加分区会失败。#27086
  • 当 INSERT INTO SELECT 的 SELECT 结果集为空时,SHOW LOAD 显示导入任务状态为 CANCELED#26913
  • 当 sub_bitmap 函数的输入值不是 BITMAP 类型时,会导致 BE crash。#27982
  • 更新 AUTO_INCREMENT 列时会导致 BE crash。#27199
  • 物化视图 Outer join 和 Anti join 改写错误。 #28028
  • 主键模型部分列更新时平均 row size 预估不准导致内存占用过多。 #27485
  • 激活失效物化视图时可能导致 FE crash。#27959
  • 查询无法改写至基于 Hudi Catalog 外部表创建的物化视图。#28023
  • 删除 Hive 表后,即使手动更新元数据缓存,仍然可以查询到 Hive 表数据。#28223
  • 当异步物化视图的刷新策略为手动刷新且同步调用刷新任务(SYNC MODE)时,手动刷新后 information_schema.task_runs 表中有多条 INSERT OVERWRITE 的记录。#28060
  • LabelCleaner 线程卡死导致 FE 内存泄漏。 #28311 #28636

3.0.4

发布日期:2023 年 7 月 18 日

新增特性

  • 查询和物化视图的 Join 类型不同时,也支持对查询进行改写。#25099

功能优化

  • 优化异步物化视图的手动刷新策略。支持通过 REFRESH MATERIALIZED VIEW WITH SYNC MODE 同步调用物化视图刷新任务。#25904
  • 如果查询的字段不包含在物化视图的 output 列但是包含在其谓词条件中,仍可使用该物化视图进行查询改写。#23028
  • 切换至 Trino 语法 set sql_dialect = 'trino';,查询时表别名大小写不敏感。#26094 #25282
  • Information_schema.tables_config 表中增加了 table_id 字段。您可以基于 table_id 字段关联数据库 Information_schema 中的表 tables_configbe_tablets,来查询 tablet 所属数据库和表名称。#24061

问题修复

修复了如下问题:

  • sum 聚合函数的查询改写至单表物化视图时,会因为类型推导问题导致 sum 的查询结果出错。#25512
  • 存算分离模式下,使用 SHOW PROC 查看 tablet 信息时报错。
  • 插入数据长度超出 STRUCT 定义的 CHAR 长度时,插入无响应。 #25942
  • 当 INSERT INTO SELECT 存在 FULL JOIN 时,返回结果有遗漏。#26603
  • 使用 ALTER TABLE 命令修改表的 default.storage_medium 属性时报错 ERROR xxx: Unknown table property xxx#25870
  • Broker Load 导入空文件时报错。#26212
  • BE 下线偶尔会卡住。#26509

3.0.3

发布日期:2023 年 6 月 28 日

功能优化

  • StarRocks 外表元数据的同步改为数据加载时进行。 #24739
  • 对于使用表达式分区的表,INSERT OVERWRITE 支持指定分区。 #25005
  • 优化了非分区表增加分区时的报错信息。 #25266

问题修复

修复了如下问题:

  • Parquet 文件中如果包括复杂类型,最大最小过滤时会获取列错误。 #23976
  • 库或者表已经被 Drop,但是写入任务仍然在队列中。 #24801
  • FE 重启时会小概率导致 BE crash。 #25037
  • "enable_profile = true" 时导入和查询偶尔会卡住。 #25060
  • 集群不满足 3 个 Alive BE 时,INSERT OVERWRITE 报错信息不准确。 #25314

3.0.2

发布日期:2023 年 6 月 13 日

功能优化

  • Union 查询在被物化视图改写后,谓词也可以下推。 #23312
  • 优化表的自动分桶策略#24543
  • 解除 NetworkTime 对系统时钟的依赖,以解决系统时钟误差导致 Exchange 网络耗时估算异常的问题。 #24858

问题修复

修复了如下问题:

  • Schema change 和数据导入同时进行时 Schema change 偶尔会卡住。 #23456
  • pipeline_profile_level = 0 时查询出错。 #23873
  • cloud_native_storage_type 配置为 S3 时建表报错。
  • LDAP 账号没有密码也能登录。 #24862
  • CANCEL LOAD 在表不存在时会失败。 #24922

升级注意事项

  • 如果您系统中有名为 starrocks 的数据库,请先通过 ALTER DATABASE RENAME 改名后再进行升级。

3.0.1

发布日期:2023 年 6 月 1 日

新增特性

  • [公测中] 支持大查询算子落盘 (Spill to disk),通过将中间结果落盘来降低大查询的内存消耗。
  • Routine Load 支持导入 Avro 格式的数据。
  • 支持 Microsoft Azure Storage (包括 Azure Blob Storage 和 Azure Data Lake Storage)。

功能优化

  • 存算分离集群 (shared-data) 支持通过 StarRocks 外表来同步其他 StarRocks 集群的数据。
  • Information Schema 增加 load_tracking_logs 来记录最近的导入错误信息。
  • 忽略建表语句中的中文空格。#23885

问题修复

修复了如下问题:

  • SHOW CREATE TABLE 返回的主键模型表建表信息错误。#24237
  • Routine Load 过程中 BE crash。#20677
  • 创建分区表时指定不支持的 Properties 导致 NPE。#21374
  • SHOW TABLE STATUS 结果展示不全。#24279

升级注意事项

  • 如果您系统中有名为 starrocks 的数据库,请先通过 ALTER DATABASE RENAME 改名后再进行升级。

3.0.0

发布日期:2023 年 4 月 28 日

新增特性

系统架构

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

存储和导入

数据湖分析

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

权限与安全

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

查询

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

SQL 语句和函数

功能优化

部署

存储与导入

  • 数据导入提供了更丰富的 CSV 格式参数,包括 skip_headertrim_spaceencloseescape。参见 STREAM LOADBROKER LOADROUTINE LOAD
  • Primary Key 模型表解耦了主键和排序键,支持通过 ORDER BY 单独指定排序键。
  • 优化 Primary Key 模型表在大数据导入、部分列更新、以及开启持久化索引等场景的内存占用。 #12068 #14187 #15729
  • 提供异步 ETL 命令接口,支持创建异步 INSERT 任务。更多信息,参考INSERTSUBMIT TASK。 (#20609)

物化视图

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

查询

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

数据湖分析

  • 优化元数据统计信息收集。
  • Hive Catalog、Iceberg Catalog、Hudi Catalog 和 Delta Lake Catalog 支持通过