各位 StarRocks 的新老用户:
1024 程序员节高兴!值此大日子,StarRocks 社区来上道硬菜!StarRocks 近期公布了 2.4 版本,外围性能有:多表物化视图,无状态的 Compute Node(CN)以及 StarRocks Kubernetes (K8s) Operator,catalog 反对 Apache Hudi(以下简称 Hudi)和 Apache Iceberg(以下简称 Iceberg),Impersonate,FQDN 反对等。
欢送体验新版本性能,若喜爱咱们的我的项目,大家能够在 GitHub 上 Star 一下✨ 体验地址:https://github.com/StarRocks/…
以下是具体介绍,欢迎您降级应用、多多反馈!
#01
StarRocks 2.4 版本介绍
—
StarRocks 是新一代极速全场景 MPP 数据库,致力于让用户无需通过简单的预处理,就能够反对多种数据分析场景的极速剖析。
在 2.4 版本中,StarRocks 补齐了不少性能:增加了 Hudi 和 Iceberg 的 catalog 反对,让您能够在不创立表面的状况下间接拜访查问 Hudi 和 Iceberg 里的数据;专门为实时 OLAP 剖析而生的主键索引模型(primary key model)也失去了补强,主键索引磁盘长久化(persistent primary key index)模式新增 VARCHAR 数据类型反对,和常驻内存模式反对数据类型达成统一;反对了多表物化视图,为您多表 JOIN 的查问进一步减速。
同时,StarRocks 也在这个版本中做了大胆的尝试:为了在数据湖查问峰谷的状况下节约资源,公布了无状态的计算节点(CN)和 StarRocks K8s Operator,您能够在 K8s 集群里部署和治理无状态的 StarRocks CN 并实现 CN 的主动横向扩缩容;为了高并发等多表高负载查问场景下简化数据建模,公布了异步更新的多表物化视图。
#02
StarRocks 2.4 新增性能详解
—
1、多表物化视图
为了进一步晋升多表查问性能,用户常常须要在 StarRocks 上游或者外部做 JOIN 预计算并落盘,为数据管道(data pipeline)带来更多依赖(dependencies)的同时,两头表的保护也带来额定的调度运维压力。
在 2.4 版本中,StarRocks 反对了异步刷新的多表物化视图,在无需内部调度的状况下,StarRocks 外部基于 insert overwrite 语义主动保护异步物化视图表:由此解脱提前打宽的数据建模形式,晋升数据建模和查问的灵活性的同时,简化数据预处理管道(data preprocessing pipeline)的复杂性。
StarRocks V2.4 是对多表物化视图的首次尝试。在后续版本里,StarRocks 会持续对多表物化视图进行补强,包含反对增量更新、查问主动改写等等。纵情期待!
2、弹性数据湖剖析
最无效的节约产生在零碎闲置的时候:在即席查问(ad-hoc query)主导的场景下(例如数据湖剖析),时常有计算资源被占用然而没有负载的状况产生,导致计算资源的节约。这时候,咱们须要一种能够随着负载一起疾速弹性伸缩的架构。2.4 版本是 StarRocks 首次在无状态弹性伸缩上的尝试。
StarRocks 计算节点(Compute Node)
在 2.4 版本,StarRocks 在 FE、BE 根底上,提供了 Compute Node(CN)。CN 是一种反对基于 K8s 的可容器化部署的无状态计算服务,本身不保护数据,防止扩缩容过程中数据重散布的代价,实现无状态弹性伸缩。CN 在整个 SQL 生命周期当中承当了数据 shuffle 后的计算以及湖上数据的 Scan 等计算过程,高效撑持湖上查问负载。
StarRocks Operator
Operator 是 K8s 提供的一种扩大软件,容许您通过定制资源来治理应用服务和组件。StarRocks Operator 定制 StarRocks CN 的资源并可将其部署到您的 K8s 环境内,由此解放简单的运维治理。能够通过 K8s 的 Pod 程度主动扩缩 (HPA) 能力实现基于负载的计算资源主动弹性扩缩容,做到主动在闲置时开释资源,负载时横向裁减资源,在计算峰谷的场景(例如数据湖剖析)下,节约资源,降低成本。
3、反对 Hudi 和 Iceberg Catalog
2.4 版本中,external catalog 反对了 Hudi 和 Iceberg 数据源,您能够在不创立表面的状况下间接拜访 Hudi 和 Iceberg 的数据,从而更好地基于 StarRocks 构建湖仓一体化的剖析体验。
4、Tablet 反对多线程并行 Scan
在此前版本,一个 Tablet 只能被一个线程扫描(Scan),因此须要在一个磁盘里配置多个 Tablet 以达到最优的 Scan 性能。在 2.4 版本中,BE 反对多线程 Scan 一个 Tablet,大幅升高了 Scan 性能对 Tablet 数量的依赖,设置同磁盘数量相等的 Tablet 即可达到最优的 Scan 性能,从而也简化了 Tablet 数量的配置。
5、Fully Qualified Domain Name 反对
在数据库运维中,如果用 IP 作为节点的惟一标识,会呈现因为 IP 变动而导致服务不可用的问题。在 2.4 版本中,反对了 Fully qualified domain name(FQDN)。您能够用域名或联合主机名与端口的形式作为 FE 或 BE 节点的惟一标识,无效防止因 IP 变更导致无法访问的问题。
6、其余性能与优化
- 反对通过 INSERT OVERWRITE 语句批量写入并笼罩数据。
- Outer Join 反对通过
<
、<=
、>
、>=
、<>
等比拟操作符对多表进行非等值关联。 - 反对查问 CSV 格局 Apache Hive™ 表中的 ARRAY 列。
- 反对通过 DESC 语句查看内部数据的表构造。
- 反对通过 GRANT 或 REVOKE 语句授予或撤销用户特定角色或 IMPERSONATE 权限,并反对通过 EXECUTE AS 语句应用 IMPERSONATE 权限执行以后会话。
- flink-connector-starrocks 反对主键模型 Partial Update。
- 主键模型反对长久化 VARCHAR 类型主键索引。
自 2.4.0 版本起,主键模型的主键索引磁盘长久化模式和常驻内存模式反对雷同的数据类型。 - 优化表面查问性能。
反对查问 Parquet 格式文件时提早物化,晋升小范畴过滤场景下的数据湖查问性能。
查问数据湖时,反对通过合并小型 I/O 以升高存储系统的拜访提早,进而晋升表面查问性能。 - 优化窗口函数性能。
- Cross Join 反对谓词下推,性能晋升。
- 统计信息反对直方图,并进一步欠缺全量统计信息采集。
- 反对 Tablet 自适应多线程 Scan,升高 Scan 性能对同磁盘 Tablet 数量的依赖,从而能够简化对分桶数量的设定。
- 去除数据导入主键模型时的 final_merge 操作,主键模型大数据量单批次导入性能晋升至两倍。
- 函数相干:
新增 array_contains_all 函数,用于判断特定数组是否为另一数组的子集。
新增 percentile_cont 函数,用于通过线性插值法计算百分位数。
count distinct 反对多个字段,可计算多字段组合去重后的后果数目。
窗口函数 max 和 min 反对滑动窗口。
优化函数 window_funnel 性能。 - 行为变更
默认开启 Page Cache,Cache Size 为零碎内存大小的 20%。 - 其余
现已正式反对资源隔离性能。
现已正式反对 JSON 数据类型及相干函数。
在这个版本中, 135 位贡献者共提交 1751 个 Commits,感激他们:
Astralidea, gengjun-git, banmoy, amber-create, EsoragotoSpirit, sevev, packy92, ZiheLiu, lixiaoer666, evelynzhaojie, femiiii, stdpain, zaorangyang, mofeiatwork, ABingHuang, meegoo, sduzh, decster, xiaoyong-z, liuyehcf, hellolilyliuyi, Linkerist, HangyuanLiu, padmejin, nshangyiming, GavinMar, dirtysalt, rickif, Youngwb, Smith-Cruise, mxdzs0612, Seaven, mergify[bot], waittttting, silverbullet233, zombee0, trueeyu, hongli-my, chaoyli, choury, caneGuy, Pslydhh, adzfolc, satanson, smartlxh, blackstar-baba, zddr, QingdongZeng3, stephen-shelby, feihengye, dulong41, wanpengfei-git, wyb, ucasfl, predator4ann, shshenhua, RowenWoo, abc982627271, harveyyue, TszKitLo40, starrocks-xupeng, kevincai, leoyy0316, kangkaisen, DorianZheng, xuzifu666, mchades, wanghuan2054, xlwh, wuleistarrocks, hiliuxg, liukun4515, cbcbq, imay, huangfeng1993, zhuxt2015, TBCCC, jaogoy, wuxueyang96, Crystal-LiuJing, samredai, miomiocat, fzhedu, aaawuanjun, rubiesvelt, harui7890, kateshaowanjou, only2yangcao, even986025158, goodqiang, Johnsonginati, minchowang, tomscut, wangsimo0, changli6, screnwei, zhongyuankai, dreamay, chen9t, sym-liuyang, MonsterChenzhuo, titianqx, wangxiaobaidu11, happut, wangruin, Zhangruichao, shyamrox, itweixiang, zdsg1024, ylcq, laotan332, zbtzbtzbt, ss892714028, long2ice, etr2460, liuqian1990, dufeng1010, mklzl, chenyjsr, DeepThinker666, johndinh391, karan-kap00r, creatstar, Gabriel39, Ielihs, hffariel, SaintBacchus, bigdata-kuxingseng, staman96, Gri-ffin, jsinwell, DebayanSen96, RishiKumarRay, Ccuurryy, wuqiao
对于 StarRocks
面世两年多来,StarRocks 始终专一打造世界顶级的新一代极速全场景 MPP 数据库,帮忙企业建设“极速对立”的数据分析新范式,助力企业全面数字化经营。
以后曾经帮忙腾讯、携程、顺丰、Airbnb、滴滴、京东、众安保险等超过 170 家大型用户构建了全新的数据分析能力,生产环境中稳固运行的 StarRocks 服务器数目达数千台。
2021 年 9 月,StarRocks 源代码凋谢,在 GitHub 上的星数已超过 3400 个。StarRocks 的寰球社区飞速成长,至今已有超百位贡献者,社群用户冲破 7000 人,吸引几十家国内外行业头部企业参加共建。