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

上新啦|请查收StarRocks 2.5 LTS 版本特性介绍

StarRocks 2023-02-02
1162

各位StarRocks的新老朋友们大家好!

🎉新年开工第一周,和大家分享一个好消息:StarRocks 2.5 版本发布了 

核心功能有:

  • Catalog 支持 Delta Lake、支持 Apache Hudi MOR 表、支持查询湖上 MAP及STRUCT 数据类型、提供 Local Cache;

  • 多表物化视图支持基于外表、物化视图创建,并支持查询改写;

  • 支持 Query Cache;

  • 支持 Lambda 表达式和高阶函数;

  • 主键模型表支持条件更新等。

2.5 版本也将是 StarRocks 的 LTS(Long Term Support)版本迎伙伴们使用体验。若喜欢我们的项目,大家可以在 GitHub 上 Star 一下✨。
体验地址🔗:https://github.com/StarRocks/starrocks

#01
StarRocks 2.5版本介绍

StarRocks 是新一代极速全场景 MPP 数据库,致力于让用户无需经过复杂的预处理,就可以支持多种数据分析场景的极速分析。StarRocks 相信数据科学的创新将全面驱动业务发展,希望能帮助企业建立“极速统一”的湖仓新范式,助力企业全面数字化经营。
2.5 版本是 3.0 之前的最后一个版本,囊括了很多重要功能。在 2.5 版本中:
  • 数据湖进一步增强,在数据源生态、查询速度、使用体验上都做了大量优化,让您可以更加方便、快捷地进行数据湖分析。
  • 多表物化视图进一步完善,在物化视图构建、刷新机制优化上都取得了新的进展,并且支持了透明加速,让您可以更加方便地基于物化视图来简化数据建模流程。
  • Query Cache 让“语意等价”的查询性能更上一层楼。
  • Lambda 表达式和高阶函数让您的查询分析更加灵活。
  • 主键模型的条件更新能够解决乱序数据更新问题。
2.5 版本的功能较多,下文挑选了几个重要功能进行详细介绍,更多功能请见官方发布记录:https://docs.starrocks.io/zh-cn/main/release_notes/release-2.5 。

#02
新增核心功能介绍
1
Data Lake Analytics

2.5 版本对数据湖进行了大量增强,具体包括:
更多数据源生态对接
  • 支持 Delta Lake Catalog:使您无需数据迁移,即可分析 Delta Lake 当中的数据。
  • 支持 Apache Hudi 的 MOR 表:借助该特性,在数据实时入湖场景(例如上游 Apache Flink CDC 到 Hudi),StarRocks 就可以更好地支持用户对实时落盘数据的分析需求。
  • 支持 Parquet/ORC 文件外表:您无需借助 Metastore 也可以直接对 DFS/对象存储的文件直接进行分析。
  • 支持集成AWS Glue作为湖分析的 Metastore(支持 Apache Hive Apache Hudi Apache Iceberg Deltalake),更好的对接 AWS 公有云生态。
更快的查询性能
  • 支持 Local Cache:通过对切分后的原始文件进行本地缓存(支持本地磁盘和内存作为混合存储介质),在热点查询场景下大幅度提升从对象存储的数据拉取效率,进一步提升数据湖分析的性能,测试结果接近 StarRocks 内部表。
  • 优化 Apache Hive, Apache Hudi, Apache Iceberg 在查询规划阶段的元数据访问效率。
更好的查询体验
  • 开箱即用的 Meta Cache Policy:借助该特性,Adhoc 场景里的业务团队无需关心和感知具体的分区数据更新,也可以在 StarRocks 访问到保证正确性的数据结果。
  • 湖分析支持 Map/Struct 数据类型:Hive Catalog 完整支持分析 Parquet/ORC 文件格式中的 Map 和 Struct 数据类型,让您的数据分析更加流畅。
想要了解更加完整的数据湖功能介绍,请点击这里

2
物化视图

在 2.4 版本中,StarRocks 支持了异步刷新的多表物化视图。在2.5 版本中,物化视图的能力进行了进一步增强,具体包括:
提供多种构建方式,完善建模能力
  • 支持基于外部 Catalog 构建物化视图,并且支持各类复杂查询和内外 Catalog 的关联,使您可以更加方便地在 StarRocks 内直接基于湖中原始数据进行建模,并构建查询加速层。
  • 支持基于物化视图来创建物化视图,简化了多层建模流程。
  • 支持独立的物化视图生命周期管理,完善了数据管控。
提供多种刷新策略,降低不必要的刷新开销
  • 可以设置单次刷新的最大分区数,以保证大的刷新任务可以分批、稳定完成。
  • 可以设置刷新排除表,以避免不必要的历史数据重刷。
  • 可以定义自动刷新范围,仅刷新最近数据。
实现透明查询改写,享受无缝查询加速
  • 支持 Select Projection Join Group by 的查询改写。
  • 支持部分分区、谓词的 Union 改写。
  • 支持嵌套物化视图的查询改写。
通过上述功能的加强,相较 2.4 版本,物化视图真正具备了数据建模的基础能力。未来,StarRocks 会继续对多表物化视图进行增强,包括支持增量更新、支持主键模型的物化视图等。

3
Query Cache

Query Cache 在 BE 的内存中缓存了查询的中间计算结果,给那些“语意等价”的查询进行复用,来降低延迟,提高 QPS 。目前,SELECT,GROUP BY,ORDER BY 以及 WHERE 中谓词的重排等操作均可以对 Cache 进行复用,并且也可以充分利用 WHERE 中谓词的分区 Cache,从而提升查询性能。
Query Cache 在如下的几个场景中更能发挥作用:
  • 宽表模型下的单表聚合查询。
  • 聚合查询以非 GROUP BY 聚合和低基数 GROUP BY 聚合为主。
  • 查询的数据以按时间分区追加的形式导入,并且在不同时间分区上的访问表现出冷热性。
未来,StarRocks 也会继续对 Query Cache 进行优化,包括支持多表 join 聚合查询的复用等。

4
Lambda 表达式及高阶函数

StarRocks 致力于为用户提供灵活好用的分析引擎,2.5 版本中 StarRocks 发布了 Lambda 表达式和数组类型的高阶函数。目前支持了 4 个高阶函数:array_map, array_filter, array_sum, array_sortby。通过这些函数,用户可以方便的对 array 内的元素进行计算、筛选、排序等操作,在变量捕捉、用户行为分析等场景都起到了重要作用。
未来,StarRocks 也会继续补充更多高阶函数,致力于为用户提供更加灵活、方便的数据分析体验。

5
主键模型

  • 主键模型支持条件更新,通过条件更新您可以指定某一非主键列为更新条件,只有当导入的数据中该列的值大于当前值的时候,更新才会生效,从而保证新的数据不被老的数据覆盖,保证数据的正确性。
  • 优化主键模型表导入数据时的内存占用,峰值内存占用降低 50%。
未来 ,StarRocks 将持续在主键模型更新能力上进行优化,包括更全面的 upate 能力支持、更高的 partial update 执行效率。

6
数据导入

StarRocks 在 2.5 版本中对数据导入进行了诸多优化,包括:
  • 支持通过资源组对导入计算进行资源隔离,从而间接控制导入任务对集群资源的消耗。
  • 支持按物理存储进行数据复制的模式,整体性能提升 1 倍。
  • Broker Load 支持定义导入作业的优先级。
  • 无需部署 Broker 即可从对象存储(S3、OSS 等) 或 HDFS 里进行数据导入。
  • 优化 Broker Load 在大量 ORC 小文件场景下的导入性能。

7
备份恢复

StarRocks 历史版本中,备份恢复仅支持表级别,并且对表的类型也有一定限制。在 2.5 版本中,备份恢复的功能全面覆盖所有模型,新增主键模型的备份恢复支持。同时也支持数据库级别的备份恢复,简化备份恢复管理。

8
其他特性

  • 支持在建表时自动设置适当的分桶数,用户无需显式指定分桶数。
  • 支持用户自定义变量,您可以自行设置变量,并在后续 SQL 中使用,以简化 SQL 语句的编写并避免重复计算。
  • 新增 zstd、snappy、zlib 数据压缩的支持,用户可在建表时指定压缩算法。
  • 建表时支持指定 uuid() 或 uuid_numeric() 函数返回的结果作为列默认值。
  • 优化 information_schema
    数据库中的 tables
    表和 columns
    表数据信息;新增 table_config
    表,用于访问表的配置属性等信息。
  • 函数新增/优化:
    1. 窗口函数支持使用 QUALIFY 来筛选查询结果;
    2. 新增 map_size、map_keys、map_values、max_by、sub_bitmap、bitmap_to_base64、host_name、date_slice ;
    3. unnest 函数支持变参;
    4. window_funnel 函数支持严格递增模式,防止计算重复的时间戳;
    5. array_agg,array_sort,array_concat,array_slice,reverse 函数支持 JSON 数据类型。

这个版本一共包含了2418 个 Commits,共有 165 位贡献者为此版本做出了贡献,感谢他们:
packy92, leoyy0316, Linkerist, DorianZheng, luohaha, meegoo, evelynzhaojie, amber-create, mchades, Astralidea, satanson, mofeiatwork, ZiheLiu, Seaven, trueeyu, sevev, stdpain, banmoy, Smith-Cruise, ABingHuang, fzhedu, xiaoyong-z, decster, gengjun-git, HangyuanLiu, wuyunfeng, stephen-shelby, alvin-coding, chaoyli, shshenhua, titianqx, Knight0xffff, hellolilyliuyi, Youngwb, EsoragotoSpirit, sduzh, rickif, dirtysalt, shileifu, waittttting, xlfjcg, zombee0, kevincai, wangsimo0, ss892714028, starrocks-xupeng, hffariel, nshangyiming, zaorangyang, liuyehcf, tomscut, femiiii, srlch, silverbullet233, choury, GavinMar, caneGuy, Pslydhh, JackeyLee007, jiacheng-celonis, LiShuMing, kangkaisen, dulong41, imay, guangxuCheng, zhenxiao, miomiocat, padmejin, motto1314, wanpengfei-git, wangruin, huangfeng1993, kateshaowanjou, wyb, wanweiqiangintel, Johnsonginati, QingdongZeng3, smartlxh, wangshisan, cbcbq, hiliuxg, blackstar-baba, abc982627271, zuyu, mxdzs0612, lixiaoer666, southernriver, dufeng1010, badboynt1, mateng0915, kingpluspk, amorynan, chen9t, xuzifu666, melt-code, selectbook, mapleFU, Alittleben, TszKitLo40, adzfolc, Toms1999, ucasfl, zddr, mikedias, srikker, hongli-my, feihengye, liukun4515, ryanyuan, predator4ann, RowenWoo, harveyyue, wanghuan2054, xlwh, wuleistarrocks, zhuxt2015, TBCCC, jaogoy, wuxueyang96, Crystal-LiuJing, samredai, aaawuanjun, rubiesvelt, harui7890, only2yangcao, even986025158, goodqiang, minchowang, changli6, screnwei, zhongyuankai, dreamay, sym-liuyang, MonsterChenzhuo, wangxiaobaidu11, happut, Zhangruichao, shyamrox, itweixiang, zdsg1024, ylcq, laotan332, zbtzbtzbt, long2ice, etr2460, liuqian1990, mklzl, chenyjsr, DeepThinker666, johndinh391, karan-kap00r, creatstar, Gabriel39, Ielihs, SaintBacchus, bigdata-kuxingseng, staman96, Gri-ffin, jsinwell, DebayanSen96, RishiKumarRay, Ccuurryy, wuqiao

关于 StarRocks 

StarRocks 是数据分析新范式的开创者、新标准的领导者。面世三年来,StarRocks 一直专注打造世界顶级的新一代极速全场景 MPP 数据库,帮助企业建立“极速统一”的湖仓新范式,是实现数字化转型和降本增效的关键基础设施。
StarRocks 持续突破既有框架,以技术创新全面驱动用户业务发展。当前全球超过 200  家市值 70 亿元以上的头部企业都在基于 StarRocks 构建新一代数据分析能力,包括腾讯、携程、平安银行、中原银行、中信建投、招商证券、众安保险、大润发、百草味、顺丰、京东物流、TCL、OPPO 等,并与全球云计算领导者亚马逊云、阿里云、腾讯云等达成战略合作伙伴。
拥抱开源,StarRocks 全球开源社区飞速成长。截至 2022 年底,已有超过 200 位贡献者,社群用户近万人,吸引几十家国内外行业头部企业参与共建。项目在 GitHub 星数已超 3800 个,成为年度开源热力值增速第一的项目,市场渗透率跻身中国前十名。




“极速统一” 数据分析新范式:
网易邮箱  首约汽车  众安保险   携程   微信
 理想汽车  汽车之家   滴滴   美团餐饮SaaS
腾讯游戏  波克城市  欢聚集团  37手游  游族
顺丰   京东物流   跨越速运  京东到家   58同城
小米   搜狐   小红书   华米  360  得物  大润发
酷家乐   DMALL   华润万家   百草味  中纺
   马蜂窝   松果出行   酷开   中原银行   TCL

StarRocks 技术内幕:
大数据自动管理     查询原理浅析
实时更新与极速查询如何兼得
基于全局字典的极速字符串查询
向量化编程精髓  Pipeline 执行框架
Join 查询优化   多表物化视图的设计与实现
StarRocks 支持 Apache Hudi 原理解析

👇 阅读原文了解 StarRocks 产品详细信息

文章转载自StarRocks,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论