StarRocks是什么
StarRocks 是新一代极速全场景 MPP 数据库。
StarRocks 充分吸收关系型 OLAP 数据库和分布式存储系统在大数据时代的优秀研究成果,在业界实践的基础上,进一步改进优化、升级架构,并增添了众多全新功能,形成了全新的企业级产品。
StarRocks 致力于构建极速统一分析体验,满足企业用户的多种数据分析场景,支持多种数据模型(明细模型、聚合模型、更新模型),多种导入方式(批量和实时),支持导入多达10000列的数据,可整合和接入多种现有系统(Spark、Flink、Hive、 ElasticSearch)。
StarRocks 兼容 MySQL 协议,可使用 MySQL 客户端和常用 BI 工具对接 StarRocks 来进行数据分析。
StarRocks 采用分布式架构,对数据表进行水平划分并以多副本存储。集群规模可以灵活伸缩,能够支持10PB 级别的数据分析; 支持 MPP 框架,并行加速计算; 支持多副本,具有弹性容错能力。
StarRocks 采用关系模型,使用严格的数据类型和列式存储引擎,通过编码和压缩技术,降低读写放大;使用向量化执行方式,充分挖掘多核 CPU 的并行计算能力,从而显著提升查询性能
StarRocks的架构
StarRocks 架构简洁,整个系统的核心只有 FE(Frontend)、BE(Backend)两类进程,不依赖任何外部组件,方便部署与维护。FE 和 BE 模块都可以在线水平扩展,元数据和业务数据都有副本机制,确保整个系统无单点。StarRocks 提供 MySQL 协议接口,支持标准 SQL 语法。用户可通过 MySQL 客户端方便地查询和分析 StarRocks 中的数据。
StarRocks的特点
1、采用 MPP (Massively Parallel Processing) 分布式执行框架。在 MPP 执行框架中,一条查询请求会被拆分成多个物理计算单元,在多机并行执行。每个执行节点拥有独享的资源(CPU、内存)。MPP 执行框架能够使得单个查询请求可以充分利用所有执行节点的资源,所以单个查询的性能可以随着集群的水平扩展而不断提升。
2、通过实现全面向量化引擎,充分发挥了 CPU 的处理能力
3、从零设计并实现了一款全新的,基于代价的优化器 CBO(Cost Based Optimizer),使StarRocks 比同类产品更好地支持多表关联查询,特别是复杂的多表关联查询,让全面向量化引擎能够发挥极致的性能
4、实现了列式存储引擎,数据以按列的方式进行存储,可实时更新
5、支持用户使用物化视图(materialized view)进行查询加速和数仓分层
6、可以作为计算引擎直接分析数据湖中的数据
StarRocks的优势
1、高性能:使用向量化、MPP架构、CBO、智能物化视图、可实时更新的列式存储引擎等技术实现多维、实时、高并发的数据分析。
2、易用性:支持 SQL 语言,兼容 MySQL 5.7 协议和 MySQL 生态,提供全面向量化引擎与多种数据源联邦查询等重要特性。
3、可扩展性:支持水平在线扩缩容,金融级高可用。
4、多场景应用:适用于对性能要求较高的数据分析场景。
StarRocks的应用场景
1、数据仓库:适用于数据仓库、数据湖等多维、实时、高并发的数据分析场景。
2、金融行业:适用于金融行业的数据分析场景,如风险控制、交易分析等。
3、电商行业:适用于电商行业的数据分析场景,如用户画像、商品分析等。
4、游戏行业:适用于游戏行业的数据分析场景,如用户行为分析、游戏运营分析等。
总结
StarRocks 是一款高性能分析型数据仓库,使用向量化、MPP 架构、CBO、智能物化视图、可实时更新的列式存储引擎等技术实现多维、实时、高并发的数据分析。StarRocks 既支持从各类实时和离线的数据源高效导入数据,也支持直接分析数据湖上各种格式的数据。StarRocks 兼容 MySQL 协议,可使用 MySQL 客户端和常用 BI 工具对接。同时 StarRocks 具备水平扩展,高可用、高可靠、易运维等特性。广泛应用于实时数仓、OLAP 报表、数据湖分析等场景。