是什么
StarRocks是一个MPP架构的关系型OLAP数据库
它可以满足企业级用户的多种分析需求,BI报表、实时分析、高并发查询....
有什么
兼容mysql协议、多种数据源导入方式、向量化计算技术、智能CBO、智能物化视图......
架构
FE:前端节点,它的功能是由下面几个细化分的模块组成的,可简单记忆为负责sql解析、逻辑计划生成和元数据管理。
FE模块功能细则:
Catalog:记录库、表分区,Tablet副本等信息
SQL Layer:对sql进行解析,生成逻辑执行计划
Planner:根据逻辑执行计划生成可分布式的物理计划
bdbje(replication):选主、主从同步元数据信息等功能
BE:后端节点,负责计算、管理tablet、compaction任务等。
Tablet:StarRocks中表的逻辑分片,也是StarRocks中副本管理的基本单位,每个表根据分区和分桶机制被划分成多个Tablet存储在不同BE节点上
BE模块功能细则:
Executor:内部计算复杂待研究之后再更新
ColumnarStorage:列存,查询时,BE会读本地的列存储引擎获 取数据并且通过索引和谓词下推来达到过滤数据的目的。
关于角色(为了高可用)
FE可分为:Maser、Follower、Observer三个角色
Master:执行所有的更改状态(非master节点也可以发起更改,但最终会转发到master去完成)操作,可从它这里读取最新的状态
Follower:复制协议的可投票成员,参与选主和提交日志
Observer:非投票成员,用于异步订阅复制日志,它的状态会落后于Follower
BE可分为:Coordinator、Worker两个角色
Coordinator的角色在某些场景下的作用是十分重要的,在后续的博客中会写一些实例来深入讨论它。
第一次写博客,如果哪里写的不清楚,也可以到官网去了解~
StarRocks官网