论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
云原生
›
【参天引擎】华为参天引擎内核架构源码架构,多线程服务 ...
【参天引擎】华为参天引擎内核架构源码架构,多线程服务,数据节点管理,多 ...
北冰洋以北
金牌会员
|
2024-6-13 13:25:48
|
显示全部楼层
|
阅读模式
楼主
主题
582
|
帖子
582
|
积分
1746
cantian引擎源码结构
专栏内容
:
参天引擎内核架构
本专栏一起来聊聊参天引擎内核架构,以及如何实现多机的数据库节点的多读多写,与传统主备,MPP的区别,技术难点的分析,数据元数据同步,多主节点的环境下对故障容灾的支持。
手写数据库toadb
本专栏主要介绍如何从零开发,开发的步骤,以及开发过程中的涉及的原理,碰到的问题等,让各人能跟上并且可以一起开发,让每个需要的人成为到场者。
本专栏会定期更新,对应的代码也会定期更新,每个阶段的代码会打上tag,方便阶段学习。
开源贡献
:
toadb开源库
个人主页
:我的主页
管理社区
:开源数据库
座右铭:天行健,君子以发奋图强;地势坤,君子以厚德载物.
前言
国内数据库的发展风起云涌,每年的各种大会都会听到好消息,今年除了数据库本身的各种技术演进之外,华为发布了参天引擎,而且是做为数据库的一种基座情势,也就是所有数据库可以在参天引擎基础上,构建形成多主分布式架构的数据库系统,这也就是它叫引擎的目的。
本专栏就来具体聊一聊参天引擎内部架构,以及如何适配参天引擎。
概述
cantian引擎核心代码已经根本开源,也让爱好者们跃跃欲试,今天给各人分享一下参天引擎的源码结构。
源码地址
gitee地址
源码目次结构
源代码主要在pkg/src目次下:
[senllang@hatch src]$ ll
total 44
drwxr-xr-x. 2 senllang develops 4096 Dec 9 14:03 cluster
-rw-r--r--. 1 senllang develops 792 Dec 9 14:03 CMakeLists.txt
drwxr-xr-x. 4 senllang develops 94 Dec 9 14:03 cmd
drwxr-xr-x. 4 senllang develops 56 Dec 9 14:03 cms
drwxr-xr-x. 3 senllang develops 8192 Dec 9 14:03 common
drwxr-xr-x. 3 senllang develops 39 Dec 9 14:03 driver
drwxr-xr-x. 2 senllang develops 4096 Dec 9 14:03 gstbox
drwxr-xr-x. 18 senllang develops 4096 Dec 9 14:03 kernel
drwxr-xr-x. 2 senllang develops 4096 Dec 9 14:03 mec
drwxr-xr-x. 2 senllang develops 4096 Dec 9 14:03 protocol
drwxr-xr-x. 2 senllang develops 66 Dec 9 14:03 rc
drwxr-xr-x. 3 senllang develops 4096 Dec 9 14:03 server
drwxr-xr-x. 4 senllang develops 4096 Dec 9 14:03 tse
drwxr-xr-x. 2 senllang develops 60 Dec 9 14:03 upgrade_check
drwxr-xr-x. 4 senllang develops 52 Dec 9 14:03 utils
drwxr-xr-x. 2 senllang develops 72 Dec 9 14:03 version
复制代码
如上图,可以看到以模块命名的目次。
主要模块介绍
主要有几个模块:
cantianLib
可以做为一个单独的节点存在,如数据节点,大概和谐节点等。一样平常做为数据节点,也就是管理数据的存储,它仅仅是管理和谐的功能,实现数据和装备由CMS节点负责。
cantianlib是数据库引擎与CMS节点之间的桥梁,它会处置处罚各种SQL实行场景下对数据的请求,以及对于事件日记的记录。
源码目次
cantianLib 代码位于
./pkg/src/server/
系统架构
它也是多线程架构实现,它的前端是DB agent,通过监听来自它的网络请求,比如登陆数据库,实行DDL,DML等,将它们转换为对数据的请求,再发往CMS。主要包罗几个服务:
kernel服务,主要用于数据和锁的请求处置处罚,并且负责buffer管理,catalog元数据管理等;
DB背景服务,主要处置处罚来自于DB agent的请求,将SQL场景转换为数据请求;通过将session绑定到线程服务中,可以处置处罚数据并发访问;
CMS模块
CMS是一个核心服务,主要对分布式资源,分布式锁进行调度管理,另有存储装备进行管理。整体是一个多线程的架构,通过网络与前端进行交互,响应资源的请求,并从存储文件系统中进行获取。
源码目次
CMS模块的源码位于
./pkg/src/cms/cms
系统架构
它的代码架构如下图所示
模块主要有三个阶段:
初始化;包罗设置加载和初始化,各服务的初始化,以及服务线程的启动,装备和网络的启动;
运行阶段;主要处置处罚来自message的变乱,对消息进行处置处罚响应;这里要主要差别资源,锁的请求分配;
退出;在cms退出时,清理和落盘数据;
总结
总得来看,参天引擎分为三大块,
一是数据库计算联合的agent,这里并没有看到开源,它主要是在数据库计算时,需要的数据,向数据节点申请开释;
二是cantianLib,也就是数据节点,这部分维护数据库相干的数据,如数据的缓存,数据库的元数据等,在多节点间进行同步,另有一些多节点需要和谐的业务,如备份,checkpoint,事件提交等;
第三部分是CMS,也就是物理存储部分,将数据时行分散到存储装备,管理数据分布,在请求数据时可以从物理装备读写数据;
当然对应的物理存储装备也算第四部分,可以对应NFS,也可以是DBstor,这部分的优化也没有开源。
末端
非常感谢各人的支持,在欣赏的同时别忘了留下您宝贵的批评,如果以为值得鼓励,请点赞,收藏,我会更加努力!
作者邮箱:study@senllang.onaliyun.com
如有错误大概疏漏欢迎指出,互相学习。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
北冰洋以北
金牌会员
这个人很懒什么都没写!
楼主热帖
Unity的AssetPostprocessor之Model之动 ...
零代码,让业务人员实现应用创造自由 ...
Blazor WebAssembly的初次访问慢的优化 ...
如何快速而优雅的解决问题(提问的智慧 ...
Linux基础篇(6)---》常用命令大全(网络 ...
[翻译]-Query and Transaction size in ...
java基础_基本数据类型
Spring AOP中增强Advice的执行顺序 ...
鸿蒙最新功能及承载设备详解:HarmonyO ...
行云部署成长之路--慢SQL优化之旅 | 京 ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表