第0章:初识StarRocks

2024年大数据StarRocks(一) StarRocks概述,2024年最新大数据开发开发自学教程 StarRocks是新一代极速全场景MPP(Massively Parallel Processing)数据库,它充分吸收关系型OLAP数据库和分布式存储系统在大数据时代的优秀研究成果,在业界实践的基础上,进一步改进优化、升级架构,并增添了众多全新功能,形成了全新的企业级产品。 阅读详情

StarRocks是鼎石科技基于Apache Doris(incubating) 0.13打造出的企业级国产数据库产品,目前已在Github开源:

https://github.com/StarRocks/starrocks

一、StarRocks特性

StarRocks是一款极速全场景MPP分析型数据库,可以“一栈式”的响应企业各类低延迟场景的查询需求。

为了对StarRocks有一个准确的认知,我们不妨将StarRocks概念的关键词逐项展开介绍:“极速”、“全场景”、“MPP”和“分析型数据库”。

极速
StarRocks打造了原生向量化执行引擎,采用向量化技术,充分利用CPU的并行计算能力,在多维分析中实现亚秒级查询返回。StarRocks的向量化技术配合列式存储、智能物化视图和CBO查询优化器等诸多加速手段,实现较以往系统5-10倍的性能提升。

全场景
StarRocks兼容MySQL协议,我们可以方便的使用各种客户端和BI工具来访问它。StarRocks可以灵活的满足多类数据分析需求,例如固定历史报表,实时数据分析,交互式数据分析和探索式数据分析等,让用户摆脱冗杂的技术栈。让数据分析不再需要做Cube,也不需要打成宽表,而是通过星型模型、雪花模型等进行多表关联灵活join,真正的“一栈式”解决数据分析难题。

 同时,StarRocks还具有强大的联邦查询能力,支持创建外部表直接访问来自Hive、MySQL和Elasticsearch的数据,而无需导入。

MPP架构
StarRocks使用现代化MPP(Massively Parallel Processing,大规模并行处理)架构,简单来说,StarRocks会将任务并行的分散到集群多个服务器节点上,在每个节点上计算完成后,将各自部分的结果汇总在一起得到最终的结果。这种架构下,StarRocks集群每个节点都有独立的磁盘存储系统和内存系统,业务数据根据数据库模型和应用特点划分到各个节点上,每台数据节点通过网络互相连接,彼此协同计算,作为整体提供数据库服务。StarRocks的现代化MPP架构保证了StarRocks具有可伸缩、高可用、高性能、高性价比、高容错、易运维等优势。

分析型数据库
StarRocks的定位是OLAP分析型数据库,这也就是说它适合对大规模的数据进行多维度的查询分析,而不适合像OLTP类数据库(比如MySQL)一样对少量的数据进行大并发频繁的插入和修改。经过业界头部互联网公司的长期使用验证,StarRocks完全可以应对PB级别的结构化数据分析场景,查询时间一般可达到秒级或毫秒级。

二、StarRocks架构

StarRocks的架构很简洁,核心只有FE(Frontend)、BE(Backend)两类进程,不依赖外部组件,方便部署。同时,FE和BE都可以横向扩容,确保整个集群无单点,运维也非常省心。

针对上面的架构图,由上至下简单介绍几个基本概念:

Client
StarRocks没有自带客户端,推荐使用mysql-client进行访问。StarRocks兼容MySQL协议,所以我们可以使用任意的MySQL JDBC/ODBC客户端,例如SQLyog、DBeaver、Navicat等,将StarRocks视为MySQL进行连接访问。

FE
StarRocks的前端节点,使用Java语言编写,负责管理元数据,管理客户端连接,进行查询规划,查询调度等工作。准确来说,FE有两种角色:Follower和Observer,其中Follower会通过类raft的bdbje协议选主出一个Leader(实现选主需要集群中有半数以上的Follower实例存活),只有Leader会对元数据进行写操作。Observer和Follower的差别就是Observer不会参与选主。Observer同样不会进行任何的数据写入,只会参与读取,用来扩展集群的查询能力。每个FE节点都有一份完整的元数据,以此来达到元数据的高可用,保证单节点宕机的情况下,元数据能够实时地在线恢复,而不影响整个服务。

BE
StarRocks的后端节点,使用C++语言开发,负责数据存储,计算执行,以及compaction,副本管理等工作。StarRocks会将我们创建的表根据分区和分桶机制划分成多个Tablet多副本存储在不同BE节点上。这里的Tablet是StarRocks表的逻辑分片,也是StarRocks中副本管理的基本单位。

Broker
在上面的架构图中没有体现,它是StarRocks和外部HDFS/对象存储等外部数据对接的中转服务组件,辅助提供导入导出功能,可以视需求添加使用。Broker本身无状态,可以随意启停,不会影响集群。

三、StarRocks业务架构

在对StarRocks的架构有了基本的了解后,我们再简单介绍一下企业使用StarRocks时,大数据架构的整体设计。下图就是一个常见的大数据业务架构图,StarRocks在整个大数据架构中一般会处在比较靠上的位置,我们会将数据ETL后导入至StarRocks,而后提供给上层的各类业务系统进行展示和分析。

在这套架构中,Hadoop作为大数据存储和批量处理的行业标准,用于原始数据的落地和存储。Kafka用于支持实时数据的传输。Hive,Spark,Flink作为数据加工和处理的工具,将经过清洗和处理的明细数据导入StarRocks。根据业务对数据实时性的要求,我们既可以按照“T+1”的方式批量导入,也可以进行实时的导入。在StarRocks中对明细数据进行进一步的计算、聚合、建立物化视图等处理后,便可以直接提供给上层的各类线上业务系统。

上层应用可以根据自身需要,通过标准SQL语句直接查明细数据,或者查聚合数据。查询的灵活性完全由SQL语句来提供,不需要再额外开发其他用于数据处理的程序模块。

如果用户的数据规模不大,上图中的业务架构还可以进一步简化。比如我们就不用再搭建架构较重的Hadoop集群,也不需要再使用Flink等外部计算框架,而是直接使用Kafka作为缓冲,在外部数据进入Kafka后通过StarRocks自带的Routine Load流式拉取数据,来将所有的原始数据直接存放在StarRocks中。

同时,我们可以在StarRocks中使用insert into select配合物化视图构建上卷的模型,实现内部的ETL操作。这种简洁的架构可以极大的降低企业的运维成本,并且让企业的数据分析体系更加简单。

四、StarRocks数据生态

StarRocks拥有完备的数据生态,可以灵活的对接企业当前的数据架构,进行数据导入和数据迁移。当前社区提供了多种导入方式,我们可以根据数据源位置、数据量大小、导入频率等需求选择最适合自己业务需求的导入方式:

 StarRocks 目前主要提供了5种不同的导入方式来适配不同的数据导入需求。各导入方式的使用场景、数据源类型以及适合的数据规模等信息如下表,我们可以先有一个初步的认识:

除表中的5种主要方式外,StarRocks还开发了Flink-Connector-StarRocks和DataX-StarRocksWriter数据导入插件,让我们可以对接更多类型的数据源完成数据的高效导入和迁移。

至此,我们已经对StarRocks有了基本的了解。接下来,我会用一系列的文章详细展开对StarRocks的介绍,让大家可以快速上手部署使用。
 

StarRocks 简介 简介 StarRocks(原 Apache Doris)是一款支持对海量数据进行快速分析的MPP(Massively Parallel Processing)大规模并行处理数据库 定位 StarRocks 的定位是面向在线报表和分析的数据仓库系统。可以对标于商业的MPP 数据仓库系统,比如Greenplum、Vertica、Teradata 等。甚至在查询性能上远超当代最快的开源数据库 clickhouse 整体架构 https://www.tqwba.com/x_d/jishu/275756.html 阅读详情

相关推荐

第1.3章:StarRocks部署--单机部署

严格来说,StarRocks并没有所谓的“Standalone运行模式”,生产环境下更是进行单实例部署。这里将单机部署整理出来,主要是考虑当用户,那么也可以在一台机器上简易部署把StarRocks跑起来。以服务器“starrocks(192.168.110.98)”为例,在进行完“第1.2章:StarRocks部署--部署环境准备”中的准备工作后,我们开始进行单节点的部署。为方便演示,我们使用root用户通过XShell工具访问服务器,单节点架构设计如下:机器节点部署服务1 BE。

wr_java的博客 1627

10分钟带你全面了解StarRocks

StarRocks 是一款极速全场景 MPP 企业级数据库产品,具备水平在线扩缩容,金融级高可用,兼容 MySQL 5.7 协议和 MySQL 生态,提供全面向量化引擎与多种数据源联邦查询等重要特性。StarRocks 致力于在全场景 OLAP 业务上为用户提供统一的解决方案,适用于对性能,实时性,并发能力和灵活性有较高要求的各类应用场景。

hellozhxy的博客 1万+

第2.4章 StarRocks表设计——分区分桶与副本数

2.4 StarRocks表设计——分区分桶与副本数

爱吃辣条的博客 6549

新一代MPP数据库:StarRocks

OLAP数据库(Online Analytical Processing Database,在线分析处理数据库)

zhiyikeji的博客 5169

第3.3章:StarRocks数据导入——Stream Load

第3.3章:StarRocks数据导入--Stream Load

爱吃辣条的博客 3043

第7.1章:StarRocks性能调优——查询分析

第7.1章:StarRocks性能调优——查询分析

爱吃辣条的博客 6476

第3.0章:StarRocks数据导入——总览

第3.0章:StarRocks数据导入——总览

爱吃辣条的博客 1870

StarRocks+Prometheus+Grafana安装部署

说明 root 为 StarRocks 默认内置 user,密码为空,端口为 fe/conf/fe.conf 中的 query_port 配置项,默认值为 9030。-----------------------------单机版实例----------------------------------,因为json文件是需要通过浏览器上传的,所以这里不是下载到Linux服务器上,而是需要下载到咱们打开Web所用的机器上。浏览器打开下载地址,右键,另存为,在桌面保存即可。

XiaoQiong.Zhang的博客 1883

第3.6章:StarRocks数据导入——DataX StarRocksWriter

第3.6章:StarRocks数据导入——DataX StarRocksWriter

爱吃辣条的博客 2538

starrocks集群搭建

3.修改follower角色为observer角色,原starrock架构为1台leader,4台follower,现架构为1台leader,2台follower,3台observer,需要停止FE和BE进程并且删除FE服务的元数据和BE服务的数据文件。修改配置文件 be/conf/be.conf 主要内容如下。starrocks库中添加BE节点信息。starrocks库中添加BE节点信息。下载StarRocks-3.3.2。先注册表节点信息,然后启动节点服务。先注册表节点信息,然后启动节点服务。

weixin_41939388的博客 1290

Doris、StarRocks 压测对比

1、在多表查询下,仅在一个场景下Doris速度逊于StarRocks ,大部分场景是Doris优于StarRocks的。 2、在单表查询下,StarRocks 在部分场景下优于Doris,但是二次查询,二者不分伯仲。3、在cpu和内存的事使用上,doris会比starrocks多吃1.5倍的资源。使用doris-master\tools\ssb-tools下的压测脚本。 4、本次测试,未调优二者的参数,开箱起服务,直接测试的,部署架构一致。创建表:./create-ssb-tables.sh。

xiaokebiubiubiu的博客 7315

第6.4章:StarRocks冷热分区

在大数据业务中,虽然每天都有大量的数据入库,但通常只有时间最新的,如一个月内,甚至一周内的数据才会被频繁更新和访问。动态分区表调度创建的分区会使用集群默认配置的存储介质和到期时间,若需要为动态分区表自动配置冷热分区,可以将集群默认的存储介质调整为。,但这个属性仅会用于表创建时的三个分区,后面新建的分区若不指定,还是会使用默认的存储介质。支持为不同分区的数据设置不同的存储介质,目前支持的介质为机械硬盘(盘中,以节省数据存储的成本,此时这个分区就变成了数据存储在。在某些数据具有冷热特性的业务中,我们可以将。

流木的博客 6681

第6.2 章:StarRocks查询加速——视图和物化视图

第2.6章:StarRocks查询加速--视图和物化视图

爱吃辣条的博客 5577

第3.1章:StarRocks数据导入--Insert into

Insert Into是我们在MySQL中常用的导入方式,StarRocks同样也支持使用Insert into的方式进行数据导入,并且每次insert into操作都是一次完整的导入事务。 在StarRocks中,Insert的语法和MySQL等数据库的语法类似,具体可以参考官网文档: Insert Into 导入 @ InsertInto @ StarRocks Docshttps://docs.starrocks.com/zh-cn/main/loading/InsertInto INSERT

流木的博客 1万+

StarRocks实战——多点大数据数仓构建

StarRocks实战——多点大数据数仓构建

爱吃辣条的博客 3324

Zynq AXI DMA实战:5分钟搞懂S_AXIS_S2MM和M_AXIS_MM2S数据流(附Vivado配置截图)

本文通过Vivado实战配置,清晰解析了Zynq平台AXI DMA IP核中S_AXIS_S2MM和M_AXIS_MM2S数据流的核心概念与连接方法。文章重点阐述了数据流向、主从关系及接口命名规则,并提供了从ADC数据采集到DDR存储,再从DDR读取数据发送至DAC的完整双向数据流搭建指南,帮助工程师快速避坑。

weixin_29200741的博客 450

第3.4章:StarRocks数据导入——Routine Load

第3.4章:StarRocks数据导入-Routine Load

爱吃辣条的博客 2667

FPGA实战 —— 基于UART的多设备串口通信系统设计

本文深入探讨了基于FPGA的多设备UART串口通信系统设计。针对工业控制与物联网应用中一对多通信的需求,文章对比了共享总线式、多路独立式等硬件连接方案,并详细阐述了可配置UART IP核、波特率自适应算法以及多路数据仲裁与分发逻辑等核心设计要点。最后,通过一个四传感器采集节点的实战案例,展示了从硬件连接到Verilog代码实现的完整系统构建过程。

weixin_29172963的博客 233
上一篇: 篇五|ClickHouse数据导入(Flink、Spark、Kafka、MySQL、Hive)
下一篇: 第1.1章:StarRocks部署--源码编译
wrr-cat
博客等级 码龄9年 128粉丝 302原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值