自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 云原生数据库海山(He3DB)PostgreSQL版核心设计理念

薛港,移动云高级研发工程师,负责云原生数据库海山PostgreSQL版架构设计。拥有逾十年数据库内核开发经验,在云计算基础设施与数据库整合领域具备丰富的实践知识。

2024-04-12 17:14:11 628

原创 海山数据库(He3DB)Redis技术实践:继承开源Redis精髓,强化升级企业级服务

数字化转型中的企业数据的处理速度和效率直接关系到企业的竞争力,Redis作为业界广泛使用的开源键值对存储系统,以其卓越的性能和丰富的数据结构,成为了众多开发者和企业的首选。

2024-04-11 15:08:28 987

原创 海山数据库(He3DB)原理剖析:浅析OLAP数据库计算引擎中的统计信息

张步涛,中国移动云能力中心数据库产品部-OLAP数据库开发工程师。主要参与OLAP内核研发/湖仓一体研发相关工作。

2024-04-10 10:48:06 928

原创 海山数据库(He3DB)原理剖析:浅析Doris跨源分析能力

张步涛,中国移动云能力中心数据库产品部-OLAP数据库开发工程师。主要参与OLAP内核优化/湖仓一体分析的研发。

2024-04-09 13:09:02 827

原创 海山数据库(He3DB)技术干货:StarRocks Compaction机制解析及性能调优

本文以StarRocks新发布的3.2.1版本为基准,介绍了新架构下生产者-消费者模型的Compaction任务管理框架。针对任务管理框架的核心问题,即如何挑选rowset进行Compaction,介绍了基于大小分层的rowset挑选策略,并分析了Compaction紧迫程度评估指标Score的影响因素,总结了该策略的优点;其次阐述了Compaction的调度执行流程;最后,从两个典型场景角度出发,作了Compaction性能调优的思考。

2024-04-08 14:48:29 751

原创 数据仓库发展历史与架构演进

但是数据仓库从概念上看是一个面向主题、集成、相对稳定和反映历史变化的数据集合,在数据仓库中信息是在不同的业务系统中进行集成,并经过一系列加工、整理和汇总等过程,形成规范性的关于确定主题的一致的全局信息,可以对这些数据进行频繁的可重复的分析。数据仓库的演进变革的因素有很多,例如快速的业务模式与群体规模的数据量带来的大数据处理技术、互联网的发展带来的数据源及数据类型的增多、人工智能的发展带来数智的融合、云计算交付模式的出现需要的细粒度的资源管理与隔离等,业务实时性的要求等都会带来数据仓库架构的变化。

2024-04-07 17:45:24 1067

原创 移动云海山数据库(He3DB)-SQL语句执行流程(2)

该函数会在很多地方被调用,这是因为SQL Rewrite的过程中,列会发生变化(例如derive table、subquery),生成表的列优化为物理表的列。调用init_read_record() 在records.cc中 读取第一条记录、提供了多种set up的方式 rr_unpack_from_buffer、rr_from_pointers、rr_unpack_from_tempfile、rr_from_tempfile、rr_from_cache、rr_quick、rr_sequential。

2024-01-03 14:15:40 796

原创 移动云海山数据库(He3DB)-SQL语句执行流程(1)

Mysqld_socket_listener *mysqld_socket_listener 此类表示Mysqld_socket_listener,它准备侦听器套接字以接收来自客户端的连接事件。void Global_THD_manager::add_thd(THD *thd) 在mysql_thd_manager.cc中 将该线程加入list中。关键调用函数: thd_manager->add_thd(thd) 在connection_handler_per_thread.cc中。

2024-01-03 14:15:09 369

原创 移动云海山数据库(He3DB)-MySQL关键类之row_search_mvcc

/索引//索引查询条件//当前游标//聚集索引(主键索引)

2024-01-02 10:38:32 330

原创 移动云海山数据库(He3DB)-MySQL关键类之THD

父类2:Query_arena 看它的元素定义Item * m_item_list,它内部一定维护着一个很大的列表 而Item又继承自Parse_tree_node,所以它内部一定维护着Query语句(存储过程)的相关解析后的元素,也就是抽象语法树的结节。MDL_context 元数据锁的上下文,维护元数据的锁,mdl.h代码中有其详细描述:元数据库锁的上下文信息,每个server都有这样一个上下文。THR_LOCK_INFO 线程锁信息,thr_lock.h代码中有其详细描述:拥有锁的线程的描述。

2023-12-29 16:15:42 388

原创 移动云海山数据库(He3DB)-MySQL关键类之Lex

unit是整个表达式 fake:Helper query block for query expression with UNION or multi-level ORDER BY/LIMIT select是一个个查询块,通过链表连接all_select_list连接连接 第一个select查询块是unit的salve、unit是select的master节点。TABLE_LIST **query_tables_last: 指向前序链表中next_global数据的最后一个元素。执行案例:联表子查询。

2023-12-28 14:00:25 903

原创 移动云海山数据库(He3DB)-MySQL关键类之Handler

xxx_hton;其他ha_index_next ha_index_prev ha_index_first ha_index_last,调用相应的index_*函数,本质上存储引擎都有对应的实现 下图以innodb的index_next为例。调用index_read_last_map()函数,本质调用存储引擎层的index_read_last()函数。调用存储层函数:result= index_init(idx, sorted) 该方法首先在handler.h中定义的虚拟方法,调用时由上面的ha_

2023-12-26 17:06:27 376

原创 移动云海山数据库(He3DB)-InnoDB启动

1、重置start state为02、判断是否以只读模式启动3、阻止二次启动InnoDB4、将InnoDB正在启动状态设置为ture5、将是否使用native AIO设置为false5.1为false则使用线程创建的模拟AIO6、注册performance schema stages性能模式阶段7、文件刷新模式设置为FSYNC同步刷新8、设置可以在InnoDB内等待信号量的最大线程数。

2023-12-25 09:55:56 841

原创 移动云海山数据库(He3DB)-InnoDB后台线程(PurgeThread)

Purge Thread主要工作为回收已经使用并分配的undo页。InnoDB1.1开始,purge操作可以从Master Thread中独立到Purge Thread中进行;InnoDB1.2开始,支持多个Purge Thread,;默认为1个协调线程、3个工作线程,协调线程也会充当工作线程角色。

2023-12-22 12:02:25 800

原创 移动云海山数据库(He3DB)-InnoDB后台线程(MasterThread)

Master Thread是非常核心的后台线程,具有最高的线程优先级,主要负责将缓冲池中的数据异步刷新到磁盘,保证数据的一致性,包括:脏页的刷新;合并插入缓冲;undo页的回收等。

2023-12-22 12:01:41 330

原创 移动云海山数据库(He3DB)-服务端启动流程&客户端连接认证

【代码】移动云海山数据库(He3DB)-服务端启动流程&客户端连接认证。

2023-12-21 10:56:17 381

原创 移动云海山数据库(He3DB)-客户端连接认证

server 监听端口client 向server建立TCP连接server 向client发送挑战码报文(mysql认证采用的是CHAP 协议,即挑战握手认证协议,挑战码用于加密client输入的密码,从而避免了网络传输明文密码)client 使用挑战码加密密码,将加密后的密码包含在回包中,发送给serverserver 根据client的回包解密,检查是否与预期的结果相同,给client发送ok包或error包。

2023-12-21 10:55:44 809

转载 实力上榜!移动云海山数据库(He3DB)两项成果入选“星河”案例

近日,中国信息通信研究院、中国通信标准化协会大数据技术标准推进委员会(CCSA TC601)连续七年共同组织的大数据“星河(Galaxy)”案例征集活动发布公示——。

2023-12-13 11:13:00 12

转载 移动云海山数据库(He3DB)选型调研-浅析Doris跨源分析能力

现在流行的数据湖格式如Iceberg,其最亮眼的地方莫过于其多版本元数据管理能力,基于其多版本元数据,上层计算引擎可以做很多有意思的功能,比如timetravel、比如git风格的branch&tag特性,版本回滚等高阶能力。另一个更重要的是pipeline可以精细化控制单个节点内的资源管理,以及可以对算子进行更多的控制,比如大查询需要用的spill task(算子落盘,轻量级容错能力)来进行稳定查询,那么有了pipeline框架,就可以做更好的资源管理、算子控制,可以更多地稳定数据湖的海量数据查询。

2023-12-01 09:59:45 100

转载 移动云海山数据库(He3DB)-数据仓库发展历史与架构演进

数据仓库从概念提出后随着用户使用需求的变化、新技术的出现等多种因素架构在不断演进,在这个过程中不同的厂商针对各自的观点和需求,例如原始数据(数据湖)、实时性、多模数据及机器学习等,不断的在进行架构优化和新技术的引入,针对数仓的概念也在不断的重新定义,下图对这些概念进行了总结:在图中数据库、数据仓库与数据湖是界限相对清晰的产品体系,但是随着技术的发展产品也在相互借鉴融合。数据仓库由于对数据实时性的需求演进到了实时数仓,在这个过程中数据的实时接入框架、查询性能的提升、交互式查询等能力让数仓的实现复杂化;

2023-12-01 09:46:11 64

转载 CCF ChinaSoft 2023 论坛巡礼 | 云计算标准化论坛

云原生绿色化既是端到端推动算力产业实现国家双碳目标的重要一环,也是助力企业解决高效发展问题的关键手段,目前业界头部公司已积极探索该方向。蚂蚁集团基于云原生技术不断演进发展,构建了以“高质量、绿色化、经济性”为特征的通用绿色计算体系,目前已在内部大规模应用并取得较大成效。在此基础上,蚂蚁集团积极探索绿色度量衡,实现业务碳排放的可量化;面向未来,蚂蚁集团也希望与业界共建云原生层面的绿色计算标准体系,共同推动计算绿色化的产业发展。

2023-11-30 11:59:49 84

转载 He3DB 系统架构02

RDS成本和云原生数据库产品力之间存在一个权衡,而正是这种权衡,促使我们决定研发He3DB,我们希望He3DB既能向下占据部分RDS市场,又能向上承接部分云原生数据库业务。以Aurora为代表的云原生数据库,通过架构改造,能够极大的改善了RDS存在的一些问题,例如读写性能相比RDS提升3-5倍,容量支持64T,支持实时备份并保证备份速率高效等能力。开发过程中,不会考虑任何高可用,性能,异常处理。

2023-10-24 10:23:44 32

转载 He3DB架构设计01

如果使用本地盘,将丢失使用云盘的优势:计算存储分离,存储在线动态扩容,高可用能力等。问题6:备节点支持的数量问题,即使业务能够接受最终一致性,备机数据也不能无限增加,目前增加备机两种方式,串联或者并联,无论那一种方式,备机数目的增加都会对挂载节点很大的负载(主要是网络负载),也增加cluster管理负担(状态监控,主备切换)问题2: 无论物理机部署,还是RDS,数据库读写瓶颈都不高,实际业务场景中,很容易出现单机无法承受业务负载压力,而不得不使用分库分表的方案,极大的增加业务架构的复杂性。

2023-10-24 10:22:44 23

转载 He3DB部署指南

pg_ctl start -D /data/jfspg/pg/ psql -p15431 //登录推进可以查看主操作的数据。目前仅支持he3pg的主节点与推进节点部署在同一台机器,并且部署he3pg时需要以非root用户部署。编译好的he3fs二进制程序位于当前目录,然后把该文件放到/usr/local/bin目录下。在第二步部署存储服务时,以挂载文件系统时指定的挂载点为/data/jfspg为例。目前he3fs的META-URL仅支持PostgreSQL。

2023-10-24 10:20:37 31

转载 中国移动云原生数据库:He3DB 设计的道与术

He3DB 受到 Aurora 论文启发,是基于开源数据库PostgreSQL改造的云原生数据库产品。架构上实现计算存储分寓,主备共享。一份数据,支持一主15备,RTO 绝对时间

2023-10-24 10:17:39 78

转载 He3DB是什么?

He3DB是移动云开源的云原生数据库产品。He3DB受Aurora论文启发,基于开源数据库PostgreSQL 改造的云原生数据库产品。架构上实现计算存储分离,主备节点共享一份数据(容量上限100T ),支持一主15备,RTO 绝对时间

2023-10-24 10:16:16 47

转载 He3DB-如何安装Navicat

He3DB是移动云开源的云原生数据库产品。He3DB受Aurora论文启发,基于开源数据库PostgreSQL 改造的云原生数据库产品。架构上实现计算存储分离,主备节点共享一份数据(容量上限100T ),支持一主15备,RTO 绝对时间

2023-10-23 14:07:15 27

转载 He3DB安装-(5)问题总结

在前序的安装步骤中,我们带领大家共同完成了Tikv的安装、二进制安装文件的导入和部署脚本的执行三个必备步骤。但在实际的操作中,特别是执行相关命令时,经常会因为目录位置、权限访问、节点环境等一系列问题出现预期之外的安装BUG。为此,本文结合自己在He3DB安装过程中的踩过的坑,及时为大家整理总结出了一套避坑指南。

2023-10-23 14:05:40 19

转载 He3DB-部署集群(4)集成Prometheus Client

需要安装prom、promhttp两个库,其中promhttp依赖microhttd库;

2023-10-23 14:04:28 31

转载 He3DB-部署集群(3)备节点部署

1、在node1复制pgdata_sp下的文件到pgdata_s1。1、在node2复制pgdata_sp下的文件到pgdata_s2。请等待一会,备节点数据库正在同步数据,稍后再连接数据库即可。2、在node1输入以下命令,配置conf文件。2、在node2输入以下命令,配置conf文件。4、启动node1备库和备1推进节点。4、启动node2备库和备2推进节点。3、修改node1文件夹权限。3、修改node2文件夹权限。

2023-10-23 14:03:29 18

转载 He3DB-部署集群(2)主节点部署

前一步:注意:务必要在每台机器的postgres用户下配置环境变量,即添加。

2023-10-23 14:01:22 23

转载 He3DB-部署集群(1)TIKV部署

TiKV 是一个分布式事务型的键值数据库,提供了满足 ACID 约束的分布式事务接口,并且通过 Raft 协议保证了多副本数据一致性以及高可用。TiKV 作为 TiDB 的存储层,为用户写入 TiDB 的数据提供了持久化以及读写服务,同时还存储了 TiDB 的统计信息数据。

2023-10-23 13:58:52 71

转载 He3DB组件Tikv的安装

TiKV(TiKV: 分布式可扩展存储系统)是一种完全开源、分布式计算框架,可以解决大规模互联计算中的数据问题。它基于Rust语言,采用分布式演算法,可实现分布式存储系统,在源码层面实现了一致性哈希、Raft和Placement Driver(PD),以及高可用、高可扩展、大规模下的系统稳定性。TiKV支持灵活的模型,可以与其它存储系统无缝集成,比如MySQL和Redis,而利用Raft协议实现强一致性,可以满足对分布式系统数据一致性要求。

2023-10-23 13:56:04 30

转载 He3DB数据类型

He3DB数据库提供了丰富的数据类型,包括数值类型、字符类型、时间类型、布尔类型、货币类型、json类型等等,本文展示了几种常见的数据类型。

2023-10-23 13:50:28 19

转载 Navicat连接He3DB

Navicat是一个强大的数据库管理和开发工具。Navicat为专业开发者提供了一套强大的足够尖端的工具,但它对于新用户仍然是易于学习。

2023-10-23 13:49:02 32

转载 He3DB的二进制文件

完成Tikv集群部署之后,He3DB的安装就正式开始了。为了最大化方便用户的部署,我们采用二进制文件的方式安装,避免了源码安装的繁琐。一起来看看吧~

2023-10-23 13:45:40 21

转载 He3DB命令使用

本文继续介绍He3DB的基本使用,专题介绍通用SQL命令的基本操作。

2023-10-23 12:46:20 17

转载 He3DB知识点-数据类型

He3DB数据库提供了丰富的数据类型,包括数值类型、字符类型、时间类型、布尔类型、货币类型、json类型等等,本文展示了几种常见的数据类型。

2023-10-23 12:39:49 42

转载 He3DB-常用命令(2)

15、备份数据库可以使用pg_dump和pg_dumpall来完成。

2023-10-23 12:37:26 21

转载 He3DB-常用命令(1)

1、到/home/postgres目录下,输入以下命令连接数据库2、先配置环境变量,再连接数据库。

2023-10-23 12:33:43 34

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除