EMR Serverless StarRocks是开源StarRocks在阿里云上的全托管服务,您可以通过其灵活地创建和管理实例以及数据。本文为您介绍StarRocks的核心特性,并详述EMR Serverless StarRocks在此基础之上所引入的诸多增强功能与服务优势。
StarRocks介绍
StarRocks是一款支持MySQL协议的分析型数据库,它集成了向量化处理、MPP架构、代价基础优化器(CBO)、智能物化视图和实时更新的列式存储技术,从而实现了快速、实时、高效的多维数据分析。您可以轻松地将实时或离线数据源导入到StarRocks中,也可以直接对数据湖中的多种数据格式进行分析。由于其与MySQL协议的兼容性,您可以简便地使用MySQL客户端和常用BI工具进行接入。此外,StarRocks还提供水平扩展能力,并具备高可用、高可靠和易于运维的特点,适用于实时数据仓库、OLAP报表、数据湖分析等多种业务场景。
StarRocks特性
MPP分布式执行框架
StarRocks采用MPP(Massively Parallel Processing)分布式执行框架。在这一架构下,一条查询请求会被拆分成多个物理计算单元,在多台机器上并行执行。每个执行节点拥有独享的资源,包括CPU与内存。MPP框架能够使得单个查询请求充分利用所有执行节点的资源,因此随着集群水平的扩展,单个查询的性能可以不断提升。
全面向量化引擎
StarRocks的计算层全面采用了向量化技术,将所有算子、函数、扫描过滤和导入导出模块进行了系统性优化。向量化引擎最大化了CPU的处理能力,通过列式数据组织和处理方式极大地提升效率。数据的存储和内存中的组织、SQL算子的计算都基于列式实现,使得CPU缓存使用更有效,减少了虚函数调用和分支判断,从而实现更顺畅的CPU指令流水线操作。
利用CPU提供的SIMD(Single Instruction Multiple Data)指令,StarRocks的全面向量化引擎以更少的指令执行更多的数据操作,标准测试集验证表明,这能够让执行算子的性能整体提升3到10倍。
除了算子全面向量化之外,StarRocks执行引擎中还包含了额外的优化技术,例如“Operation on Encoded Data”。此技术允许直接在编码后的字段上,无需解码,执行各类算子,包括关联、聚合、表达式计算等。这显著降低了SQL执行过程中的计算复杂度,使相关查询速度提升了2倍以上。
存储计算分离
StarRocks 3.0版本支持了全新的存算分离模式,实现了计算资源与存储资源的完全解耦,提升了系统的灵活性、性能和可靠性,同时降低了成本。
在存储计算分离模式中,存储和计算成为了独立服务,可以单独进行伸缩,有效避免了传统存算一体模式中由于等比例扩缩容带来的资源浪费问题。这种解耦使计算节点能在几秒内动态伸缩,极大地提高了资源利用率。
对于存储层,StarRocks利用了对象存储的几乎无限容量和高可用性特点,不仅支持多种云上对象存储,也兼容HDFS,确保数据的大规模存储和持久化。
StarRocks的存储计算分离模式保留了与传统存算一体模式相同的功能,无论是数据写入还是热数据查询性能均可相比肩。在此模式下,您同样能够应对数据更新、数据湖分析、物化视图加速等多样化的数据场景需求。
CBO优化器
在多表关联查询场景下,即使拥有高性能的执行引擎也不足以保证最佳的执行效能。这是因为在此类场景中,不同执行计划的效率差异可能相差极大,尤其是随着关联表数量的增加,有效执行计划的数量也呈指数级增长,从而使得寻找最优执行计划成为一个复杂度极高的NP-Hard问题。因此,一款能够准确选择最佳查询计划的优秀查询优化器对于实现最优的多表查询性能至关重要。
StarRocks设计并实现了一个全新的、基于代价的优化器(CBO,Cost Based Optimizer)。该优化器采用Cascades-like架构,深度定制以充分利用StarRocks全面向量化的执行引擎,并引入了众多创新优化措施。CBO不仅能实现公共表达式的复用和相关子查询的重写,还支持Lateral Join、Join Reorder以及针对Join操作的分布式执行策略选取,以及优化了低基数词典编码等关键性能提升功能。目前,这款优化器已经能够全面支持TPC-DS的99条SQL语句。
得益于这款先进的CBO,StarRocks相较于同类产品在应对多表关联查询,尤其是复杂多表关联查询方面表现出色,极大地发挥了向量化执行引擎的性能潜力。
可实时更新的列式存储引擎
StarRocks采用了先进的列式存储引擎,将相同类型的数据以按列的方式进行连续存放。这种存储方法使数据能够采用更为高效的编码策略,不仅提升了数据的压缩率,降低了存储成本,同时也减少了查询过程中的磁盘I/O需求,显著提升查询速度。在典型的OLAP场景中,由于查询通常只聚焦于特定几个列,列式存储额外减少了读取非必要列的数据量,从而能够在很大程度上削减磁盘I/O的负担,实现大幅度的吞吐量节省。
StarRocks能够实现秒级的导入延迟,提供近乎实时的数据处理能力。其存储引擎在导入数据的同时保障了ACID事务特性,保证了批量导入的原子性,确保操作要么全部导入成功,要么全部导入失败。这种设计允许多个事务并行处理,同时提供快照隔离(Snapshot Isolation)级别的事务隔离保护。
StarRocks的存储引擎还特别适用于Partial Update和Upsert等操作。使用Delete-and-Insert的实现方式,通过主键索引快速过滤数据,避免读取阶段的Sort和Merge操作。此外,该引擎还能够利用其他二级索引,在大规模数据更新的场景下,依然能够保持对查询请求的超高速响应。
智能物化视图
-
自动化数据同步与实时更新:StarRocks支持使用物化视图进行查询加速和数仓分层。StarRocks的物化视图能够实现自动同步。每当原始表中的数据发生任何变更,物化视图能即时感知并自动完成相应的更新操作,确保与原表数据始终保持一致。此外,StarRocks还具备智能选择物化视图的功能。在查询规划阶段,若检测到有能够提升查询效率的物化视图存在,StarRocks将自动执行查询改写,确保使用最优物化视图进行查询。
-
灵活创建与管理物化视图:StarRocks物化视图支持按需灵活创建与删除。您可以在使用过程中视实际使用情况来判断是否需要创建或删除物化视图。整个过程在后台自动完成,无需人工干预。
-
简化ETL流程与数据处理:StarRocks的物化视图能够替代传统的ETL建模流程。您无需在上游应用中进行数据转换操作,便可以直接在使用物化视图的过程中实现数据的转换与加工,简化了数据处理流程。
数据湖分析
StarRocks不仅能高效地分析本地存储的数据,也可以作为计算引擎直接分析数据湖中的数据。您可以通过StarRocks提供的External Catalog,轻松查询存储在Apache Hive、Apache Iceberg、Apache Hudi、Delta Lake等数据湖上的数据,无需进行数据迁移。支持Parquet、ORC、CSV等文件格式;也支持HDFS、S3、OSS等存储方式。
在数据湖分析场景中,StarRocks主要负责数据的计算分析,而数据湖则主要负责数据的存储、组织和维护。使用数据湖的优势在于可以使用开放的存储格式和灵活多变的Schema定义方式,可以让BI、AI、AdHoc、报表等业务维持在统一的单点身份可信(Single Source of Truth),而StarRocks作为数据湖的计算引擎,可以充分发挥向量化引擎和CBO(Cost Based Optimizer)的优势,大大提升了数据湖分析的性能。
Serverless StarRocks增强特性
EMR Serverless StarRocks主要在企业级功能方面做了以下增强:
-
全托管的免运维产品服务形态,大大降低了运维和使用的复杂度以及成本。
-
可视化的StarRocks实例管理控制台,使得实例的整体运维和管理更加方便。
-
可视化的监控及运维能力。
-
支持大、小版本自动升级,方便StarRocks进行版本升级管理。
-
增加EMR StarRocks Manager,提供了企业级的StarRocks管理能力:
-
安全能力:支持用户及权限管理。
-
诊断分析:支持可视化慢SQL,及SQL查询分析能力。
-
数据管理:提供数据库、表、分区、分片、任务的查询能力,方便运维管理。
-
-
AI+OLAP(Beta):支持在 OLAP 分析流程中使用SQL调用大语言模型,在一条 SQL 内实现从数据处理、分析到 AI 推理的全过程。详情请参见AI 能力。
EMR Serverless StarRocks 对应 OSS Bucket 的默认 QPS 限流阈值是多少?如何监控?
当前 OSS QPS 限流阈值已调整为 20000,调整前为 10000。目前暂不支持直接查看 StarRocks OSS Bucket 流控调整的专属监控指标,建议通过云监控设置 QPS 告警作为替代监控方案。
为什么 StarRocks FE Leader 节点会发生切换?是否与 Full GC 有关?
FE Leader 节点切换可能由 Full GC 触发的重新选举导致。当 FE 节点发生 Full GC 时,会触发 Leader 重新选举,从而变更 Leader 节点。这是 G1 垃圾回收器在大堆内存(上限 51 GiB)及停顿优先策略下的正常行为,并非系统故障。
AI 能力
EMR Serverless StarRocks 内置 AI Function,将大语言模型的能力嵌入 OLAP 分析流程。您可以在一条 SQL 内完成数据处理、分析和 AI 推理,不需要把数据导出到外部系统再处理。
核心优势
-
数据不出湖:原始数据始终留在 StarRocks 内,AI 函数仅按需加密传输待处理字段至模型服务,避免数据复制与跨系统流转。
-
用标准 SQL 调用:通过内置 AI Function 调用模型能力,无需学习新的编程语言或工具。
-
结果可直接参与计算:AI 函数返回的结果可以立即参与后续的 JOIN、聚合、过滤,无需二次导入。
-
Token 成本优化:通过谓词下推减少调用量、缓存消除重复请求,同样的任务费用可降低 30% 以上。
-
零运维限流:内置三层防护机制,您无需理解 RPM、TPM 等限流机制即可平稳运行。
函数能力
AI Function 按能力类型划分如下:
|
能力类型 |
典型函数 |
说明 |
|
文本分析 |
ai_sentiment、ai_classify、ai_extract、ai_summarize |
对文本做情感分析、标签分类、实体提取和内容总结。 |
|
文本处理 |
ai_translate、ai_fix_grammar、ai_redact |
机器翻译、语法纠错,以及个人敏感信息(PII)脱敏。 |
|
语义筛选 |
ai_filter、ai_similarity |
按语义条件过滤数据,或计算两段文本的语义相似度。 |
|
向量化 |
ai_embed、ai_embed_multimodal |
生成文本向量,或对图像、视频等多模态内容生成向量,用于检索场景。 |
|
AI 聚合 |
ai_agg、ai_agg_summary |
按维度对多行内容做 AI 汇总,例如汇总某个商品的全部评论。 |
|
自定义模型 |
ai_custom_query、ai_custom_embedding、ai_custom_multimodal_embedding |
调用您通过 AI 中心注册的自定义模型。 |
支持的模型
文本生成使用 qwen3.6-plus;文本向量化使用 qwen3-vl-embedding 或 text-embedding-v4;多模态向量化使用 qwen3-vl-embedding 或 tongyi-embedding-vision-plus。其中 qwen3-vl-embedding 为统一向量空间模型,文本向量与图像、视频向量可以直接跨模态比对,适合跨模态检索场景。
版本要求
实例版本需为 3.3.20-2.1.1 或 3.5.16-2.1.1 及以上。
典型场景
-
语义筛选与分类分流,例如从工单中筛出投诉类内容并自动分派。
-
多模态检索与训练集构建。
-
客户、商品等维度的 AI 汇总。
-
敏感数据脱敏后再分析。
-
批量内容生成与翻译。
函数语法与参数说明,请参见 AI Function;场景化用法,请参见 AI Function最佳实践。
智能运维
除 AI Function 外,EMR Serverless StarRocks 还提供 EMR AI 助手。它连接您的实例,读取系统表、Query Profile(查询执行详情)和监控指标,用于性能诊断与健康巡检。详情请参见 EMR AI助手。