一文速通 StarRocks 数据库:核心概念、架构与特性

news2024/11/20 18:21:33

Author: Xinyao Tian

概述

本文档简要梳理了 StarRocks 的基本信息。

简介 Introduction

StarRocks 是面向下个时代的,高性能的数据分析仓库。其提供了实时、多维度、高并发的数据分析能力。

StarRocks is a next-gen, high-performance analytical data warehouse that enables real-time, multi-dimensional, and highly concurrent data analysis.

特性 Features

StarRocks 具有如下功能特性 [1]:

  • 基于 MPP 架构 (Massively Parallel Processing architecture)

  • 完全向量化处理引擎 (Fully vectorized execution engine)

  • 列式存储 (columnar storage)

  • 实时更新 (real-time updates)

  • 完全可自定义的基于成本的优化器 (Fully-customized cost-based optimizer)

  • 智能物化视图 (Intelligent materialized view)

  • 丰富数据源的实时数据注入 (real-time data ingestion from a variety data sources)

  • 丰富数据源的批量数据注入 (batch data ingestion from a variety data sources)

  • 无数据迁移的数据湖分析 (Directly analyze data stored in data lakes with zero data migration)

  • 兼容 Mysql 客户端连接协议 (compatible with MySQL protocols)

  • 可扩展、高可用、易运维 (highly scalable, available, and easy to maintain)

  • 广泛应用于业界 OLAP 分析领域 (widely adopted in the industry with OLAP scenarios)

Fast-speed multi-table joins = MPP + fully vectorized engine + CBO + intelligent materialized view

架构 Architecture [2]

宏观架构

亮点:组件简单、可水平扩展、metadata 也有 replica 提供高可用 (metadata 被完整存储于每台 FE 的内存)

主要分工:

FE (ForntEnd) 负责元数据管理、客户端连接、查询计划、查询调度:

  • Leader:元数据的变更,并通过 BDE JE 协议将 metadata 同步至其他 FEs (Follower 和 Observer)

  • Follower:参与竞选并在内存中同步存储完整的 metadata

  • Observer:不参与选举的 Follower,仅作为性能扩展的 FE

BE (BackEnd) 主要负责数据存储和 SQL 执行和计算:

  • 数据存储:BEs 接受从 FEs 分配来的数据,并将数据按照指定格式写入,并生成 Index

  • SQL 执行:BEs 接收从 FEs 处理后的物理执行计划并将目标数据缓存并执行查询

数据管理架构

StarRocks 同时使用分区 (Partitioning) 和分桶 (Bucketing) 机制对数据进行管理,以增强查询的效率和并发度。

如下图所示,一张表被根据时间分为四个分区,同时第一个分区内又被分为了四个数据小块 (Data Tablet) 。每个数据小块又创建了三份备份 (Replica) 并被分别存储在不同的 BE 上。由于一张表被分解成了多个数据小块,因此 StarRocks 可以将一个 SQL 查询语句分派到多个物理节点上并行执行,从而最大化物理主机和处理器的计算能力,同时还可以提升服务的可用性。用户可以轻松地按需扩展物理主机从而获得更高的并发性能。

亮点:No Need for manual data redistribution (StarRocks 会自动根据新加入或删除的物理节点进行数据小块再分配,而不需要手动进行数据均衡。StarRocks 默认的 Replica 数量为 3)

常见应用场景 Scenarios

StarRocks 基于上述的架构和功能特性可以为我们在如下场景中解决诸多问题。

OLAP multi-dimensional analytics

StarRocks 的 MPP 架构配合向量执行引擎可以让用户在不同的 schemas 之间进行选择并开发多维度分析报告。主要的应用场景包括:

  • 用户行为分析 (User behavior analysis)

  • 用户画像、用户标签、标签分析 (User profiling, user tagging, label analysis)

  • 高纬度指标分析报告 (High-dimensional metrics report)

  • 自助数据仪表板 (Self-service dashboard)

  • 服务异常探测和分析 (Service anomaly probing and analysis)

  • 跨场景分析 (Cross-theme analysis)

  • 金融数据分析 (Financial Data analysis)

  • 系统监测分析 (System monitoring analysis)

Real-time analytics

StarRocks 使用主键表来进行实时更新。在 StarRocks 的 TB 级数据库的数据改变可以被在数秒内得到同步并用于搭建实时数据仓库。主要的应用场景包括:

  • 在线促销分析 (Online promotion analysis)

  • 物流跟踪和分析 (Logistics tracking and analysis)

  • 金融领域的性能分析和指标计算 (Performance analysis and metrics computation for the financial industry)

  • 在线直播的质量分析 (Quality analysis for livestreaming)

  • 广告放置位置分析 (Ad placement analysis)

  • 驾驶舱管理 (Cockpit management)

  • 应用性能管理 (Application Performance Management (APM))

High-concurrency analytics

StarRocks 借助高效的数据分布,灵活的 Index 和智能化物化视图来促进面向用户的高并发分析。主要的应用场景包括:

  • 广告商报告分析 (Advertiser report analysis)

  • 零售业渠道分析 (Channel analysis for the retail industry)

  • Saas 面向用户分析 (User-facing analysis for SaaS)

  • 多表仪表板分析 (Multi-tabbed dashboard analysis)

Unified analytics

StarRocks 提供了一致性的数据分析体验。

  • 一个系统提供了应对多种分析场景的能力,显著降低系统复杂度和总体采购成本 (TCO)

  • 提供了统一的数据湖和数据仓库接口。

核心机制与技术 Core Mechnism and Tech

StarRocks 使用了许多先进的技术为用户在大数据集的场景提供侵略如火般的实时分析体验。其核心技术如下所示,在此处暂不做原理的解释和说明。详情请参考 [3]。

  • MPP 架构 (MPP Framework): StarRocks 并行处理大规模数据的核心理论依据

  • 完全向量化的执行引擎 (Fully Vectorized Execution Engine)

  • 基于成本的优化器 (Cost-based Optimizer)

  • 实时的,可更新的列式存储引擎 (Real-time, updatable columnar storage engine)

  • 智能的物化视图 (Intelligent materialized view): 物化视图自动更新 (无需手动操作和人工介入) 且自动进行查询优化

  • 数据湖直连分析 (Data lake analytics): 通过 Catalog 达成湖仓直连无需转换或导数

References

  • [1] StarRocks DB 简介: https://docs.starrocks.io/en-us/latest/introduction/StarRocks_intro

  • [2] StarRocks 架构: https://docs.starrocks.io/en-us/latest/introduction/what_is_starrocks

  • [3] StarRocks 特性: https://docs.starrocks.io/en-us/latest/introduction/Features

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1154732.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C#和HttpClient结合示例:微博热点数据分析

概述 微博是中国最大的社交媒体平台之一,它每天都会发布各种各样的热点话题,反映了网民的关注点和舆论趋势。本文将介绍如何使用C#语言和HttpClient类来实现一个简单的爬虫程序,从微博网站上抓取热点话题的数据,并进行一些基本的…

9. linux系统设置开机自启动发射热点

1. 说明 某种情况下需要使用wifi进行通信时,可以在linux系统中发射一个热点让以使别的设备能够连接,然后进行通信。一般情况下可以在有无线wifi发射器的情况下,每次linux系统开机后,手动设置开启热点,但这种方式比较麻…

打造美团外卖新体验,HarmonyOS SDK持续赋能开发者共赢鸿蒙生态

从今年8月起,所有升级到HarmonyOS 4的手机用户在美团外卖下单后,可通过屏幕上的一个“小窗口”,随时追踪到“出餐、取餐、送达”等订单状态。这个能让用户实时获悉订单进度的神奇“小窗口”,就是实况窗功能。 实况窗:简…

githu访问慢解决方法-mac系统

1.访问链接:https://site.ip138.com/github.global.ssl.fastly.net/ 2.分别输入github.com,github.global.ssl.fastly.net进行ip解析 3.打开host文件 sudo vim /etc/hosts4.将在2步骤中的信息添加到host文件中 20.205.243.166 gith…

AI芯片2022-架构师(六十五)

1、AI芯片是当前人工智能技术发展的核心技术,其能力要支持训练和推理。通常,AI芯片的技术架构包括()第三种。 A、GPU、FPGA、ASIC B、CPU、PPGA、DSP C、GPU、CPU、ASIC D、GPU、FPGA、SOC 解析: GPU图形处理&am…

信号完整性分析基础知识之有损传输线、上升时间衰减和材料特性(七):有损传输线的衰减

当正弦波信号沿着传输线传播时,电压幅度呈指数下降。总衰减(以 dB 为单位)随长度线性增加。在 FR4 中,1 GHz 信号的典型衰减可能为 0.1 dB/英寸。在传播1英寸时,衰减为0.1dB,信号幅度已下降至在传播 10 英寸…

逻辑漏洞挖掘之CSRF漏洞原理分析及实战演练 | 京东物流技术团队

一、前言 2月份的1.2亿条用户地址信息泄露再次给各大公司敲响了警钟,数据安全的重要性愈加凸显,这也更加坚定了我们推行安全测试常态化的决心。随着测试组安全测试常态化的推进,有更多的同事对逻辑漏洞产生了兴趣,本系列文章旨在…

QCustomPlot 瀑布图色度条

1、单独应用在一个QWidget中。 通过新建一个瀑布图后移除瀑布图即可只留住色度条。 QCustomPlot *customPlot ui->widget;QCPColorScale *colorScale new QCPColorScale(customPlot);customPlot->plotLayout()->addElement(0, 1, colorScale); // add it to the ri…

龙迅LT2611UXC 双PORT LVDS转HDMI(2.0)+音频

.描述: LT2611UXC是一个高性能的LVDS到HDMI2.0的转换器,用于STB,DVD应用程序。 LVDS输入可配置为单端口或双端口,有1个高速时钟通道,3~4个高速数据通道,最大运行1.2Gbps/通道,可支持高达9.6Gb…

Android 10适配外部存储方案

Android Api 29 对文件和文件夹进行了重大更改。不允许使用外部存储,如下方法: Environment.getExternalStorageDirectory() /mnt/sdcard Environment.getExternalStoragePublicDirectory(“test”) /mnt/sdcard/test 只能使用内部存储 getExterna…

实用篇-Linux

一、Linux介绍 linux特点 免费开源多用户多任务 Linux系统版本分为内核版和发行版 发行版是基于内核版进行扩展,由各个Linux厂商开发和维护,因为我们真正使用linux最终安装的其实是linux的发行版 下面以CentOS为例来学习Linux 二、Linux安装 安装方式…

S32DS踩坑日记三-使用EEPROM

这个片子的EEPROM是用普通的flash模拟的,所以配置比较复杂。需要先增加flash,然后再配置模拟EEPROM那块的电路。 这个模拟的大概意思是这样:片子内置一块用于数据存储的flash,叫D-flash,大小是64K,起始地址…

SHCTF-校外赛道 2023 WEB部分题解wp()

[WEEK1]babyRCE 开题,直接给了源码,简单过滤。 被过滤绕过方法cat/tacuniqflagfla?空格%09 payload: ?rcels%09/?rceuniq%09/fla?[WEEK1]1zzphp 考点:intval()函数绕过(数组)、PCRE回溯次数限制绕过 直接给了…

大数据之LibrA数据库系统告警处理(ALM-12005 OKerberos资源异常)

告警解释 告警模块对Manager中的Kerberos资源的状态进行监控,当Kerberos资源异常时,系统产生此告警。 当Kerberos资源恢复时,且告警处理完成时,告警恢复。 告警属性 告警参数 对系统的影响 Manager中的Kerberos资源异常&#…

网课 - 网页视频-倍速播放-快进-拖动进度条-增大音量 - 火狐Firefox浏览器

本文使用的浏览器为火狐Firefox浏览器。 用浏览器播放视频,比如看网课、看在线电影电视剧时,经常能遇到的情况与解决方案: 音量太小,即使调整到100%还是不够响亮 这时可以安装插件“600% Sound Volume”, 安装之后可在原来音量的…

843. n-皇后问题

文章目录 QuestionIdeasCode Question n− 皇后问题是指将 n 个皇后放在 nn 的国际象棋棋盘上,使得皇后不能相互攻击到,即任意两个皇后都不能处于同一行、同一列或同一斜线上。 现在给定整数 n ,请你输出所有的满足条件的棋子摆法。 输入格…

mybatis-plus 使用 mybatis-plus-join 增强多表关联查询能力

一、mybatis-plus-join mybatis-plus 原生的能力不支持多表关联,对于这种场景只能通过写SQL进行实现,而mybatis-plus-join 则是建立在 mybatis-plus 基础之上的扩展框架,可以在不影响原有能力之上通过简单的API即可实现多表关联能力而无需编…

致远OA wpsAssistServlet任意文件上传漏洞复现 [附POC]

文章目录 致远OA wpsAssistServlet任意文件上传漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 致远OA wpsAssistServlet任意文件上传漏洞复现 [附POC] 0x01 前言 免责声明:请勿利用…

突破时空局限:数字调度系统引领煤炭行业新纪元

随着社会经济的发展,能源需求不断增加,煤炭作为重要的能源资源,在全球能源结构中扮演着重要角色。然而,煤炭行业面临着许多挑战,包括资源开采的不可回复性、环境污染问题以及安全生产隐患等。在这样的背景下&#xff0…

Android Groovy 迁移到 KTS

文章目录 Groovy 迁移到 KTS概述迁移流程setting.gradleproject/build.gradlemodule/build.gradle处理ext扩展函数依次创建如下目录和文件使用 源码 Groovy 迁移到 KTS 概述 Android Studio是使用Gradle来编译,而默认的构建语言是Groovy,但是Gradle实际…