昆仑分布式数据库架构介绍
一、前言
昆仑分布式数据库集群(下文简称昆仑数据库)是一个分布式关系数据库管理系统,面向TB和PB级别海量数据处理,以高吞吐量和低延时处理海量数据高并发读写请求。
它提供健壮的事务ACID保障,高效易用的分布式查询处理,高可扩展性,高可用性和透明的分库分表数据处理功能,业务层和终端用户无感知的水平扩展能力,是典型的 NewSQL分布式数据库系统。应用软件开发者按照使用单节点关系数据库相同的方法使用昆仑数据库,就可以得到所有上述NewSQL数据库的优点,完全不需要考虑数据的分区方式等存储细节。
这样,应用开发者就可以非常快速的开发健壮可靠的,高可用和高可扩展的信息系统,来处理PB级海量数据。所有的海量数据管理的挑战和困难都由昆仑系统来解决,从而大大降低了开发分布式系统的时间成本和资金成本和技术难度,并且全面提升其产品质量,大大加快应用开发和变更过程中的上线进度。
二、架构
昆仑分布式数据库架构图解
一个昆仑数据库集群有3类组件构成:一个或者多个计算节点,一个或者多个存储shard以及一个元数据集群。
2.1 计算节点
本软件是昆仑数据库的计算节点,基于PostgreSQL-11.5开发。为了实现自动的DDL同步及复制以及分布式事务,分布式查询处理等高级功能,我们大量地修改了PostgreSQL源代码,而不是直接使用其FDW接口。我们的代码保持了很好的模块化,方便将来可以继续跟随PostgreSQL版本更新。
kunlun-storage是昆仑数据库的存储节点,它是我们基于percona-server-8.0深度优化开发的MySQL分支。用户必须使用kunlun-storage软件组建昆仑数据库的存储集群和元数据集群,因为昆仑数据库集群需要的关键功能只存在于kunlun-storage中,并且它还包含了社区版MySQL-8.0 XA事务处理的所有容灾缺陷的修复;最后,kunlun-storage在XA事务处理方面比社区版mysql有大幅性能优化。计算节点使用PostgreSQL协议(后续会支持MySQL客户端协议)接收和验证用户的连接请求,验证通过后,就接收和处理连接上发来的查询并返回结果给客户端。
2.2 存储shard
用户可以根据工作负载来增减计算节点,每个计算节点彼此平等和独立,没有依赖关系,都可以处理用户连接和读写请求。计算节点含有每个数据表以及其他数据库对象的元数据,但是用户数据存储在存储shard中。
执行一个SQL时,计算节点解析该语句,然后对它做分布式查询优化,然后通过与后端存储shard做交互来完成分布式查询执行。交互的方法就是根据SQL语句的需要和数据在后端shard的分布信息,为相关的后端存储shard生成SQL语句。
如果执行的SQL语句是 SELECT 或者 INSERT/DELETE/UPDATE...RETURNING 而不是简单的 INSERT/DELETE/UPDATE, 那么计算节点会并发地发送语句然后接收结果,最后合并处理所有后端存储shard返回的结果,形成最终的查询结果,返回给客户端。
每个存储shard 存储着一部分用户表或者表分区,每个shard的数据子集没有交集;每个存储shard是一个MySQL binlog复制集群,通过标准的MySQL MGR single master 模式或者基于传统的row based binlog复制的强同步机制来实现高可用性。
一个shard的主节点接受来自计算节点的读写请求,执行请求并返回结果给计算节点;启用了备机读功能时,shard的备节点可以接收和处理来自计算节点的只读请求。
用户可以根据数据量的增加和减少来增加和较少存储shard,数据会自动均匀分散到所有shard上面,从而达到自动和透明的高可扩展性。
2.3 元数据集群
元数据集群也是一个MySQL binlog复制集群,存储着一个昆仑数据库集群的元数据。多个数据库集群 推荐阅读:可以共用同一个元数据集群。
最后,昆仑数据库还有一个cluster_mgr程序,它负责维护正确的集群和节点状态,占用资源极少。
原文链接:
KunlunBase架构介绍 - Powered by MinDoc (kunlunbase.com)http://www.kunlunbase.com:8181/docs/b/b-1dnl0ff08vm42KunlunBase技术优势介绍 - Powered by MinDoc (kunlunbase.com)http://www.kunlunbase.com:8181/docs/b/b-1dnl0hidnehicKunlunBase技术特点介绍 - Powered by MinDoc (kunlunbase.com)http://www.kunlunbase.com:8181/docs/b/b-1dnl0gmd9l44gKunlun-Storage vs PostgreSQL OLTP 测试 - Powered by MinDoc (kunlunbase.com)http://www.kunlunbase.com:8181/docs/b/b-1dq86ad4auj8ePostgreSQL vs MySQL TPC-H 测试 - Powered by MinDoc (kunlunbase.com)http://www.kunlunbase.com:8181/docs/b/b-1dp6drao3djef
END
昆仑分布式数据库架构介绍相关推荐
- 昆仑分布式数据库Sequence功能及其实现机制
昆仑分布式数据库(下文简称昆仑或者昆仑数据库)的计算节点源自PostgreSQL,因此继承了PostgreSQL的Sequence功能,本文介绍昆仑分布式数据库的Sequence的功能用法.用例和实现 ...
- 昆仑分布式数据库技术特点
上章节介绍了昆仑分布式数据库的架构,这章节接着介绍昆仑分布式数据库的技术特点! 一.高可用性(HA) 兼容多种强一致性,高可用性方案(strong consistency,high availabil ...
- 黄东旭:Cloud-Native 的分布式数据库架构与实践
19 日,我司 CTO 黄东旭同学在全球云计算开源大会上,发表了<Cloud-Native 的分布式数据库架构与实践>主题演讲,以下为演讲实录~~ 大家好,今天我的题目是 Cloud-Na ...
- 基于内存数据库的分布式数据库架构
[摘要] 本文提出了一种通过引入内存数据库层,建立两层多分区分布式数据库架构.此方案用于解决海量高并发系统的数据存储和访问问题,尤其适用于电子商务等数据模型复杂且业务复杂的互联网站. 这些年互联网站发 ...
- Mycat社区出版: 分布式数据库架构及企业实践——基于Mycat中间件
书名: 分布式数据库架构及企业实践--基于Mycat中间件 作者:周继锋 冯钻优 陈胜尊 左越宗 ISBN:978-7-121-30287-9 出版年月:2016年11月 定价:79元 开本:787× ...
- 分布式数据库架构及企业实践--基于Mycat中间件pdf
下载地址:网盘下载 内容提要 编辑 <分布式数据库架构及企业实践--基于Mycat中间件>由资深 Mycat 专家及一线架构师.DBA 编写而成.全书总计 8 章,首先简单介绍了分布式系统 ...
- 腾讯T14级SQL首席专家开源分布式数据库架构实践手册
"软件吞噬世界,开源吞噬软件,云原生吞噬开源",这是全球技术界流传的三句话. 而随着互联网在线业务的蓬勃发展,数据库面临着数据量大.高并发和超高峰值等诸多挑战.分布式数据库已成为业 ...
- GitHub腾讯T14级SQL首席专家开源分布式数据库架构实践手册
"软件吞噬世界,开源吞噬软件,云原生吞噬开源",这是全球技术界流传的三句话. 而随着互联网在线业务的蓬勃发展,数据库面临着数据量大.高并发和超高峰值等诸多挑战.分布式数据库已成为业 ...
- 惊爆GitHub!腾讯T14级SQL首席专家开源分布式数据库架构实践手册
"软件吞噬世界,开源吞噬软件,云原生吞噬开源",这是全球技术界流传的三句话. 而随着互联网在线业务的蓬勃发展,数据库面临着数据量大.高并发和超高峰值等诸多挑战.分布式数据库已成为业 ...
最新文章
- springside / springside4—CRUD页面教程
- Ansible简单介绍及安装部署详解
- 从双十一强化体验认知,看苏宁的“自增强回路”增长飞轮
- id3与软件测试,ID3算法的实现
- QT5获取运行程序的工作目录与程序所在的目录
- 信息学奥赛一本通(1247:河中跳房子)
- LCD1602液晶显示
- Code Chef May Challenge 2019题解
- 功夫小子实践开发-开发环境的基本搭建和配置
- ios社交app源码_iOS中的社交媒体集成
- 微信支付app支付怎么快速开通
- Mac iOS Simulator录制Gif图
- [PC]极品飞车2 特别版
- 人工智能就业前景越来越严峻了,你还在坚持吗?
- SLT 定义vetctor对象,vector构造函数
- QuickTester对象,对象侦测器和对象库
- 微信小程序--解密用户信息
- linux截图后不见,xubuntu14.04截图,彻底到Linux一个半月后记
- vue组件的v-model
- 5th-Generation Mobile Communication Technology(一)
热门文章
- c语言完全二叉树原理,C语言判断完全二叉树
- 笔记本电脑没有鼠标怎么右键_电脑鼠标右键没有反应怎么办?鼠标右键无法使用的解决方法...
- 浅读 John Backus 图灵奖获奖演讲论文
- 【联邦学习 + 区块链】《联邦学习vs区块链:谁是“可信媒介”技术领域最强王者?》阅读记录与提问
- 人教版初中信息技术电子课本_人教版 九年级化学上册 高清电子课本(下载查看文末)...
- 可以发布外链的平台有哪些
- 国内人工智能实验室的用意
- 如何下载、安装并注册VMware Workstation Pro虚拟机软件
- 指针数组和数组指针的区别及其详解
- 如何解决BO连接不上Oracle的问题