大数据技术8:StarRocks极速全场景MPP数据库

这篇具有很好参考价值的文章主要介绍了大数据技术8:StarRocks极速全场景MPP数据库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:StarRocks原名DorisDB,是新一代极速全场景MPP数据库。StarRocks 是 Apache Doris 的 Fork 版本。StarRocks 连接的多种源。一是通过这个 CDC 或者说通过这个 ETL 的方式去灌到这个 StarRocks 里面;二是还可以去直接的和这些老的 kafka 或者是这种 TP 的数据库或者这种 log 的话,直接可以进行灌入;三是 External table 目前支持这种 hive 、es、 MySQL ,当然这里边还支持 hudi 和 Iceberg。

大数据技术8:StarRocks极速全场景MPP数据库,大数据治理,StarRocks,StarRocks优势,StarRocks简介,MPP数据库,MPP大规模并行处理

StarRocks官网:https://docs.starrocks.io/zh/docs/introduction/StarRocks_intro/


一、StarRocks简介

1.1、StarRocks定义

StarRocks 是一款高性能分析型数据仓库,使用向量化、MPP 架构、CBO、智能物化视图、可实时更新的列式存储引擎等技术实现多维、实时、高并发的数据分析。StarRocks 既支持从各类实时和离线的数据源高效导入数据,也支持直接分析数据湖上各种格式的数据。StarRocks 兼容 MySQL 协议,可使用 MySQL 客户端和常用 BI 工具对接。同时 StarRocks 具备水平扩展,高可用、高可靠、易运维等特性。广泛应用于实时数仓、OLAP 报表、数据湖分析等场景。

在社区用户与开发者的共同努力下,Flink CDC 于 2023 年 12 月 7 日重磅推出了其全新的 3.0 版本 ,3.0 版本的发布对 Flink CDC 而言具有里程碑式的意义,自此 Flink CDC 从捕获数据变更的 Flink 数据源正式迈向为以 Flink 为基础的端到端流式 ELT 数据集成框架。在该版本中,社区首先支持实时同步 MySQL 数据至 Apache Doris 和 StarRocks 两条链路。

大数据技术8:StarRocks极速全场景MPP数据库,大数据治理,StarRocks,StarRocks优势,StarRocks简介,MPP数据库,MPP大规模并行处理

StarRocks 分为社区版和企业版,社区版为开源,企业版需付费使用。社区版支持了大部分的功能,但不支持StarRocks Manager(可视化运维监控平台),在数据库管理上不太方便。

大数据技术8:StarRocks极速全场景MPP数据库,大数据治理,StarRocks,StarRocks优势,StarRocks简介,MPP数据库,MPP大规模并行处理

StarRocks 是新一代极速全场景 MPP (Massively Parallel Processing) 数据库。StarRocks 的愿景是能够让用户的数据分析变得更加简单和敏捷。用户无需经过复杂的预处理,就可以用 StarRocks 来支持多种数据分析场景的极速分析。

StarRocks 架构简洁,采用了全面向量化引擎,并配备全新设计的 CBO (Cost Based Optimizer) 优化器,查询速度(尤其是多表关联查询)远超同类产品

StarRocks 能很好地支持实时数据分析,并能实现对实时更新数据的高效查询。StarRocks 还支持现代化物化视图,进一步加速查询。

使用 StarRocks,用户可以灵活构建包括大宽表、星型模型、雪花模型在内的各类模型。

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

1.2、新一代弹性 MPP 架构

下图是StarRocks 的架构,这个架构就是有一个 FE 和 BE ,而这个 FE 有几个模块。第一个模块就是 catter log 的一个模块,就是他会存这个原数据,然后他还有一个 planner ,相当于所有的 MySQL 的第一站全部打到 FE 里,然后 FE 进行 SQL 的整个的解析,到最后的这个分布式的物理的 plan 的生成,然后都搞完之后真正的做整个的这个计算,是要在 BE 里去做计算的。

他整个的这个架构是非常简单的,就是说在 FE 目前是一个稍微老一些的,因为这个其实是从 Doris 演化过来的,所以这是一个当时 Doris 有的时候还没有这个 raft 的这种玩法,但是现在社区 StarRocks 要慢慢的把 FE 改成这种基于 raft 的这种结构,它是目前现在是基于 Borken DB的,但是可以认为跟 raft 也差不太多,他是几台高可用的 FE 再加上这种 BE 。 BE 实际上做的就是这种 Execution Engine 还有这种存储引擎 storage engine 基本他就是这两个大的模块。实际上整个链路就是 MySQL 第一条打到查询的时候打到 FE ,FE 再把这个 SQL 文本翻译成这个分布式的执行计划,分布式的执行计划的数据都是按这种 buget 的方式去存到 BE 里。这一个这张表或者说查的这些 SQL 都命中了哪些 tablet ,会把这个相应的 SQL 的执行引擎给他搞到这个 BE 上,然后 BE 算完之后再回给 FE ,大概整个就是这么一个数据流。

大数据技术8:StarRocks极速全场景MPP数据库,大数据治理,StarRocks,StarRocks优势,StarRocks简介,MPP数据库,MPP大规模并行处理

1.3、StarRocks适用场景​

StarRocks 可以满足企业级用户的多种分析需求,包括 OLAP (Online Analytical Processing) 多维分析、定制报表、实时数据分析和 Ad-hoc 数据分析等。

(1)OLAP 多维分析​

利用 StarRocks 的 MPP 框架和向量化执行引擎,用户可以灵活的选择雪花模型,星型模型,宽表模型或者预聚合模型。适用于灵活配置的多维分析报表,业务场景包括:

  • 用户行为分析

  • 用户画像、标签分析、圈人

  • 高维业务指标报表

  • 自助式报表平台

  • 业务问题探查分析

  • 跨主题业务分析

  • 财务报表

  • 系统监控分析

(2)实时数据仓库​

StarRocks 设计和实现了 Primary-Key 模型,能够实时更新数据并极速查询,可以秒级同步 TP (Transaction Processing) 数据库的变化,构建实时数仓,业务场景包括:

  • 电商大促数据分析

  • 物流行业的运单分析

  • 金融行业绩效分析、指标计算

  • 直播质量分析

  • 广告投放分析

  • 管理驾驶舱

  • 探针分析APM(Application Performance Management)

(3)高并发查询​

StarRocks 通过良好的数据分布特性,灵活的索引以及物化视图等特性,可以解决面向用户侧的分析场景,业务场景包括:

  • 广告主报表分析

  • 零售行业渠道人员分析

  • SaaS 行业面向用户分析报表

  • Dashboard 多页面分析

(4)统一分析​

  • 通过使用一套系统解决多维分析、高并发查询、预计算、实时分析查询等场景,降低系统复杂度和多技术栈开发与维护成本。

  • 使用 StarRocks 统一管理数据湖和数据仓库,将高并发和实时性要求很高的业务放在 StarRocks 中分析,也可以使用 External Catalog 和外部表进行数据湖上的分析。


二、StarRocks特性

StarRocks的架构设计融合了MPP数据库,以及分布式系统的设计思想,具有以下特性:

架构精简

StarRocks内部通过MPP计算框架完成SQL的具体执行工作。MPP框架本身能够充分的利用多节点的计算能力,整个查询并行执行,从而实现良好的交互式分析体验。 StarRocks集群不需要依赖任何其他组件,易部署、易维护,极简的架构设计,降低了StarRocks系统的复杂度和维护成本,同时也提升了系统的可靠性和扩展性。

标准SQL

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

全面向量化引擎

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

智能查询优化

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

联邦查询

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

高效更新

StarRocks支持多种数据模型,其中更新模型可以按照主键进行upsert/delete操作,通过存储和索引的优化可以在并发更新的同时实现高效的查询优化,更好的服务实时数仓的场景。

智能物化视图

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

流批一体

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

极简运维

StarRocks具有高可用易扩展的特性,元数据和数据都是多副本存储,并且集群中服务有热备,多实例部署,避免了单点故障。集群具有自愈能力,可弹性恢复,节点的宕机、下线、异常都不会影响StarRocks集群服务的整体稳定性。

StarRocks采用分布式架构,存储容量和计算能力可近乎线性水平扩展。StarRocks单集群的节点规模可扩展到数百节点,数据规模可达到10PB级别。 扩缩容期间无需停服,可以正常提供查询服务。 另外StarRocks中表模式热变更,可通过一条简单SQL命令动态地修改表的定义,例如增加列、减少列、新建物化视图等。同时,处于模式变更中的表也可也正常导入和查询数据。

StarRocks是一个自治的系统。节点的上下线,集群扩缩容都可通过一条简单的SQL命令来完成。


三、StarRocks优势

极速SQL查询

  • 全新的向量化执行引擎,亚秒级查询延时,单节点每秒可处理多达100亿行数据。
  • 强大的MPP执行框架,支持星型模型和雪花模型,极致的Join性能
  • 综合查询速度比其他产品快10-100倍
  • 查看性能测试报告

实时数据分析

  • 新型列式存储引擎,支持大规模数据实时写入,秒级实时性保证。
  • 支持业务指标实时聚合,加速实时多维数据分析。
  • 新型读写并发管理模式,可同时高效处理数据读取和写入。

高并发查询

  • 灵活的资源分配策略,每秒可支持高达1万以上的并发查询。
  • 可高效支持数千用户同时进行数据分析。

极简运维

  • 支持在大数据规模下进行在线弹性扩展,扩容不影响线上业务。集群可扩展至数百节点,PB量级数据。
    集群运行高度自治化,故障自恢复,运维成本低。

国产核心软件

  • 完全自主创新,全球领先。
  • 更完善的本地化专家服务体系。

四、StarRocks VS ClickHouse

指标 ClickHouse StarRocks
MPP架构 Scatter-Gather模式,聚合操作依赖单点完成,操作数据量大时有瓶颈 现代化MPP架构,可以实现多层聚合、大表Join
架构 依赖ZooKeeper进行DDL和Replica同步 内置分布式协议进行元数据同步Master/Follower/Observer节点类型
事务性 100万以内原子性,DDL无事务保证 事务保证数据ACID
数据规模 单集群 < 10PB 单集群 < 10PB
标准SQL的支持 不支持标准的SQL语言 支持,兼容Mysql协议
分布式Join 不支持Join,仅支持大宽表模式 支持主流分布式Join,不仅支持大宽表模型,还支持星型和雪花模型
高并发查询 不支持高并发 支持高并发
外表 支持MySQL/Hive的表 外查MySQL/ES/Hive的表
Exactly Once语义 不支持事务,无法保证数据写入不丢不重 支持事务,可实现数据不丢不重
集群扩容 扩容需人工操作,工作量巨大,且影响线上服务 扩容只需要迁移部分数据分片,系统自动完成,不影响线上服务
运维要求 依赖ZK,运维和维护成本高 不依赖外部系统,极简运维

参考链接:

Flink CDC 3.0 正式发布,详细解读新一代实时数据集成框架

什么是 StarRocks | StarRocks

StarRocks调研

开源大数据 OLAP 引擎最佳实践 | 学习笔记(二)-阿里云开发者社区文章来源地址https://www.toymoban.com/news/detail-756319.html

到了这里,关于大数据技术8:StarRocks极速全场景MPP数据库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库

    Apache Doris是一个基于MPP架构的易于使用,高性能和实时的分析数据库,以其极高的速度和易用性而闻名。海量数据下返回查询结果仅需亚秒级响应时间,不仅可以支持高并发点查询场景,还可以支持高通量复杂分析场景。 这些都使得 Apache Doris 成为报表分析、即席查询、统一

    2024年02月03日
    浏览(57)
  • GBASE南大通用分析型MPP数据库GBase8a的安全特性(2)

    GBase南大通用自主研发的 GBase 8a MPP Cluster 产品(简称GBase8a)是大数据时代成熟的分析型MPP数据库,具有多样化的平台选择、与时俱进的逻辑架构、海量数据高效存储、海量数据高速加载、海量数据高性能分析、弹性服务器资源伸缩、完善的系统资源管理、多级别的高可用、跨

    2024年01月25日
    浏览(55)
  • GBASE南大通用分析型MPP数据库GBase8a的安全特性(1)

    GBase南大通用自主研发的 GBase 8a MPP Cluster 产品(简称GBase8a)是大数据时代成熟的分析型MPP数据库,具有多样化的平台选择、与时俱进的逻辑架构、海量数据高效存储、海量数据高速加载、海量数据高性能分析、弹性服务器资源伸缩、完善的系统资源管理、多级别的高可用、跨

    2024年01月25日
    浏览(47)
  • CloudQuery + StarRocks:打造高效、安全的数据库管控新模式

    随着技术的迅速发展,各种多元化的数据库产品应运而生,它们不仅类型众多,而且形式各异,国产化数据库千余套,开源数据库百余套 OceanBase 、PolarDB 、StarRocks…还有一些像 Oracle、MySQL 这些传统数据库。这些数据库产品有着各自的优势和特点,能够满足不同业务需求。如

    2024年02月08日
    浏览(44)
  • Docker一键极速安装Nacos,并配置数据库!

    1.2.1 Clone 项目 1.2.2 单机模式 Derby: 单机模式的MySQL: MySQL5.7: MySQL8: 1.2.3 集群模式 属性名称 描述 选项 MODE 系统启动方式: 集群/单机 cluster/standalone默认 cluster NACOS_SERVERS 集群地址 p1:port1空格ip2:port2 空格ip3:port3 PREFER_HOST_MODE 支持IP还是域名模式 hostname/ip 默认 ip NACOS_SERVER_POR

    2024年02月03日
    浏览(50)
  • 快速构建 SAP ERP 内置数据库 HANA 到 StarRocks 的数据迁移同步任务

    SAP HANA 是由 SAP 开发的一款内存列式数据库, 具有预测分析、空间数据处理、文本分析、文本搜索、流分析、图形数据处理等高级分析功能。 HANA 内存列式数据库特性,即启动后可以把所有数据载入内存,相比传统基于硬盘的数据库,性能提升10~10,000倍。 HANA 一般内置在 SAP

    2024年02月08日
    浏览(53)
  • 白山云基于StarRocks数据库构建湖仓一体数仓的实践

    随着每天万亿级别的业务数据流向数据湖,数据湖的弊端也逐渐凸显出来,例如: 数据入湖时效性差:数据湖主要依赖于离线批量计算,通常不支持实时数据更新,因此无法保证数据的强一致性,造成数据不及时、不准确; 查询性能差:在传统架构下,数据湖的查询速度较

    2024年01月18日
    浏览(49)
  • NoSQL数据库使用场景以及架构介绍

    其它相关推荐: 系统架构之微服务架构 系统架构设计之微内核架构 鸿蒙操作系统架构 架构设计之大数据架构(Lambda架构、Kappa架构) 所属专栏:系统架构设计师 NoSQL(Not-onlySQL):不仅仅只是SQL,泛指非关系型的数据库。 是对关系型数据库的补充和完善,它不使用传统的表格

    2024年02月06日
    浏览(63)
  • Spring Boot应用中如何动态指定数据库,实现不同用户不同数据库的场景

    当在 Spring Boot 应用程序中使用Spring Data JPA 进行数据库操作时,配置Schema名称是一种常见的做法。然而,在某些情况下,模式名称需要是动态的,可能会在应用程序运行时发生变化。比如:需要做数据隔离的SaaS应用。 所以,这篇博文将帮助您解决了在 Spring Boot 应用程序中如

    2024年04月26日
    浏览(48)
  • Apache Doris 数据库有哪些应用场景?

    首先声明,本人无意叛变,依然是ClickHouse的忠实信徒。 对于Doris,一直听圈内的人在说,吹得神乎其神,但到底有多强,从来没有真正的去尝试一把。 直到这次,被人狠狠上了一课。 在一次全文检索的模糊查询的场景PK中,ClickHouse一败涂地,让本人很是没面子,咳咳,大哥

    2024年01月22日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包