You need to enable JavaScript to run this app.
导航

什么是 EMR Serverless OLAP

最近更新时间2024.03.11 15:14:11

首次发布时间2023.09.04 10:32:01

EMR Serverless OLAP是开源Doris、StarRocks在火山引擎上的全托管服务,您可以通过EMR Serverless OLAP灵活的创建和管理Doris或StarRocks实例以及数据。

1 StarRocks

StarRocks 是新一代极速全场景 MPP (Massively Parallel Processing) 数据库。StarRocks 的愿景是能够让用户的数据分析变得更加简单和敏捷。用户无需经过复杂的预处理,就可以用 StarRocks 来支持多种数据分析场景的极速分析。StarRocks 能很好地支持实时数据分析,并能实现对实时更新数据的高效查询。StarRocks 还支持现代化物化视图,进一步加速查询。使用 StarRocks,用户可以灵活构建包括大宽表、星型模型、雪花模型在内的各类模型。

StarRocks 兼容 MySQL 协议,支持标准 SQL 语法,易于对接使用,全系统无外部依赖,高可用,易于运维管理。StarRocks 还兼容多种主流 BI 产品,包括 Tableau、Power BI、FineBI 和 Smartbi。

1.1 StarRocks 产品特性

特性说明
MPP分布式执行框架StarRocks 采用 MPP (Massively Parallel Processing) 分布式执行框架。在 MPP 执行框架中,一条查询请求会被拆分成多个物理计算单元,在多机并行执行。每个执行节点拥有独享的资源(CPU、内存)。MPP 执行框架能够使得单个查询请求可以充分利用所有执行节点的资源,所以单个查询的性能可以随着集群的水平扩展而不断提升。

全面向量化执行引擎

StarRocks 通过实现全面向量化引擎,充分发挥了 CPU 的处理能力。全面向量化引擎按照列式的方式组织和处理数据。StarRocks 的数据存储、内存中数据的组织方式,以及 SQL 算子的计算方式,都是列式实现的。按列的数据组织也会更加充分的利用 CPU 的 Cache,按列计算会有更少的虚函数调用以及更少的分支判断从而获得更加充分的 CPU 指令流水。
另一方面,StarRocks 的全面向量化引擎通过向量化算法充分的利用 CPU 提供的 SIMD(Single Instruction Multiple Data)指令。这样 StarRocks 可以用更少的指令数目,完成更多的数据操作。经过标准测试集的验证,StarRocks的全面向量化引擎可以将执行算子的性能,整体提升 3~10 倍。

CBO 优化器StarRocks 从零设计并实现了一款全新的,基于代价的优化器 CBO(Cost Based Optimizer)。该优化器是 Cascades Like 的,在设计时,针对 StarRocks 的全面向量化执行引擎进行了深度定制,并进行了多项优化和创新。该优化器内部实现了公共表达式复用,相关子查询重写,Lateral Join,Join Reorder,Join 分布式执行策略选择,低基数字典优化等重要功能和优化。目前,该优化器已可以完整支持 TPC-DS 99 条 SQL 语句。
可实时更新的列式存储引擎StarRocks 实现了列式存储引擎,数据以按列的方式进行存储。通过这样的方式,相同类型的数据连续存放。一方面,数据可以使用更加高效的编码方式,获得更高的压缩比,降低存储成本。另一方面,也降低了系统读取数据的 IO 总量,提升了查询性能。此外,在大部分 OLAP 场景中,查询只会涉及部分列。相对于行存,列存只需要读取部分列的数据,能够极大地降低磁盘 IO 吞吐。
智能的物化视图StarRocks 支持用户使用物化视图进行查询加速。不同于一些同类产品的物化视图需要异步和原表做数据同步,StarRocks 的物化视图可以自动根据原始表更新数据。只要原始表数据发生变更,物化视图的更新也同步完成,不需要额外的维护操作就可以保证物化视图能够维持与原表一致。不仅如此,物化视图的选择也是自动进行的。StarRocks 在进行查询规划时,如果有合适的物化视图能够加速查询,那么 StarRocks 能够自动的将查询改写,使用合适的物化视图来加速用户的查询请求。
数据湖分析StarRocks 不仅能高效的分析本地存储的数据,也可以作为计算引擎直接分析数据湖中的数据,支持包括 Apache Hive、Apache Iceberg、Apache Hudi 等数据组织结构,支持 Parquet、ORC、CSV 等文件格式,也支持 HDFS、S3、OSS 、TOS 等存储方式。

1.2 EMR Serverless StarRocks增强特性

EMR Serverless StarRocks主要在企业级功能方面做了以下增强:

  • 全托管的免运维产品服务形态,大大降低了运维和使用的复杂度以及成本。

  • 可视化的StarRocks实例管理控制台,使得实例的整体运维和管理更方便。

  • 支持大、小版本自动升级,方便StarRocks进行版本升级管理。

  • 可视化SQL诊断能力,自动生成查询诊断和调优建议。

  • 支持行存表、行列混存表,增强高频点查和更新能力,满足企业混合负载诉求。

  • 支持外表形式读取EMR Hive、LAS(湖仓一体分析服务)数据。

2 Doris

Apache Doris 是一个现代化的 MPP 分析型数据库产品。仅需亚秒级响应时间即可获得查询结果,可高效地进行实时数据分析。Apache Doris 的分布式架构非常简洁,易于运维,并且可以支持10PB以上的超大数据集。

Apache Doris 可以满足多种数据分析需求,例如固定历史报表,实时数据分析,交互式数据分析和探索式数据分析等。

2.1 Doris 产品特性

特性说明

MySQL 协议兼容

Doris 兼容 MySQL 连接协议,用户可直接使用 MySQL 的相关库或者工具对Doris集群进行连接访问。
兼容上层应用,降低用户学习曲线,方便用户上手使用。

现代化 MPP 架构Doris 使用 MPP 分布式计算架构进行任务计算,能够支持聚合,排序,连接等计算任务的高效执行。Doris支持复杂 Join,支持多层嵌套子查询。

数据更新

Doris 支持按主键删除和更新数据。
能够方便的从 MySQL 等关系型数据库中同步实时更新的数据。

高可用和高可靠

Doris 中 FE 的元数据和 BE 的数据都会有副本机制。
FE 节点通过主从方式,元数据会分发到所有FE实例。
BE 中的数据都会设置副本, 一般推荐用户使用3副本。部分节点宕机的情况下, Doris能够保证服务的高可用和数据的高可靠。

极简运维, 弹性伸缩FE 节点和 BE 节点都可以进行横向扩展。扩展BE 节点后,Doris 会自动根据节点间的负载情况,进行数据分片的自动均衡,无需人工干预。

物化视图和预聚合引擎

Doris 支持通过物化视图或 Rollup 表的形式对数据预聚合计算后的结果进行存储,从而加速部分聚合类场景的查询效率。
同时,Doris 能够保证物化视图和基础表之间的数据一致性,从而使得物化视图会查询和导入完全透明。Doris 内部会自动根据用户的查询语句,选择合适的物化视图进行数据摄取。

联邦查询Doris 可以高效的分析本地存储的数据,也可以作为计算引擎直接联邦查询数据湖中的数据,支持包括 Apache Hive、Apache Iceberg、Apache Hudi 等数据组织结构,支持 Parquet、ORC、CSV 等文件格式,也支持 HDFS、TOS 等存储方式。使用 Doris 查询数据湖数据, 可以充分发挥向量化引擎的优势, 大大提升了数据湖分析的性能。

2.2 EMR Serverless Doris增强特性

  • 全托管的免运维产品服务形态,大大降低了运维和使用的复杂度以及成本。

  • 可视化的Doris实例管理控制台,使得实例的整体运维和管理更方便。

  • 支持大、小版本自动升级,方便Doris进行版本升级管理。

  • 可视化SQL诊断能力,自动生成查询诊断和调优建议。