什么是EMR Serverless StarRocks

更新时间: 2023-06-05 14:06:34

EMR Serverless StarRocks是开源StarRocks在阿里云上的全托管服务,您可以通过EMR Serverless StarRocks灵活的创建和管理StarRocks实例以及数据。StarRocks作为一款兼容MySQL协议的OLAP分析引擎,提供了极致的性能和丰富的OLAP场景模型,包括OLAP多维分析、数据湖分析、高并发查询以及实时数据分析。

StarRocks介绍

  • StarRocks是新一代极速全场景MPP(Massively Parallel Processing)数据库,致力于构建极速和统一分析体验。

  • StarRocks兼容MySQL协议,可使用MySQL客户端和常用BI工具对接StarRocks来分析数据。

  • StarRocks采用分布式架构:

    • 对数据表进行水平划分并以多副本存储。

    • 实例规模可以灵活伸缩,支持10 PB级别的数据分析。

    • 支持MPP框架,并行加速计算。

    • 支持多副本,具有弹性容错能力。

StarRocks特性

架构精简

  • StarRocks内部通过MPP计算框架完成SQL的具体执行工作。MPP框架能够充分的利用多节点的计算能力,整个查询可以并行执行,从而实现良好的交互式分析体验。

  • StarRocks实例不需要依赖任何其他组件,易部署、易维护和极简的架构设计,降低了StarRocks系统的复杂度和维护成本,同时也提升了系统的可靠性和扩展性。管理员只需要专注于StarRocks系统,无需学习和管理任何其他外部系统。

全面向量化引擎

StarRocks的计算层全面采用了向量化技术,将所有算子、函数、扫描过滤和导入导出模块进行了系统性优化。通过列式的内存布局、适配CPU的SIMD指令集等手段,充分发挥了现代CPU的并行计算能力,从而实现亚秒级别的多维分析能力。

智能查询优化

StarRocks通过CBO优化器(Cost Based Optimizer)可以对复杂查询自动优化。无需人工干预,就可以通过统计信息合理估算执行成本,生成更优的执行计划,大大提高了AdHoc和ETL场景的数据分析效率。

联邦查询

StarRocks支持使用外表的方式进行联邦查询,当前可以支持Hive、MySQL、Elasticsearch、Iceberg和Hudi类型的外表,您无需通过数据导入,可以直接进行数据查询加速。

高效更新

StarRocks支持明细模型、聚合模型、主键模型和更新模型,其中主键模型可以按照主键进行Upsert或Delete操作,通过存储和索引的优化可以在并发更新的同时实现高效的查询优化,更好的服务实时数仓的场景。

智能物化视图

  • StarRocks支持智能的物化视图。您可以通过创建物化视图,预先计算生成预聚合表用于加速聚合类查询请求。
  • StarRocks的物化视图能够在数据导入时自动完成汇聚,与原始表数据保持一致。
  • 查询的时候,您无需指定物化视图,StarRocks能够自动选择最优的物化视图来满足查询请求。

标准SQL

  • StarRocks支持标准的SQL语法,包括聚合、JOIN、排序、窗口函数和自定义函数等功能。
  • StarRocks可以完整支持TPC-H的22个SQL和TPC-DS的99个SQL。
  • StarRocks兼容MySQL协议语法,可以使用现有的各种客户端工具、BI软件访问StarRocks,对StarRocks中的数据进行拖拽式分析。

流批一体

  • StarRocks支持实时和批量两种数据导入方式。
  • StarRocks支持的数据源有Kafka、HDFS和本地文件。
  • StarRocks支持的数据格式有ORC、Parquet和CSV等。
  • StarRocks可以实时消费Kafka数据来完成数据导入,保证数据不丢不重(exactly once)。
  • StarRocks也可以从本地或者远程(HDFS)批量导入数据。

高可用易扩展

  • StarRocks的元数据和数据都是多副本存储,并且实例中服务有热备,多实例部署,避免了单点故障。

  • 实例具有自愈能力,可弹性恢复,节点的宕机、下线和异常都不会影响StarRocks实例服务的整体稳定性。

  • StarRocks采用分布式架构,存储容量和计算能力可近乎线性水平扩展。StarRocks单实例的节点规模可扩展到数百节点,数据规模可达到10 PB级别。

  • 扩缩容期间无需停服,可以正常提供查询服务。

  • StarRocks中表模式热变更,可通过一条简单SQL命令动态地修改表的定义,例如增加列、减少列和新建物化视图等。同时,处于模式变更中的表也可以正常导入和查询数据。

数据湖分析

StarRocks不仅能高效的分析本地存储的数据,也可以作为计算引擎直接分析数据湖中的数据,支持Apache Hive、Apache Iceberg、Apache Hudi等数据组织结构;支持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查询分析能力。

    • 数据管理:提供数据库、表、分区、分片、任务的查询能力,方便运维管理。

阿里云首页 开源大数据平台E-MapReduce 相关技术圈