自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 海山数据库(He3DB)从方法到实践,构建以场景为中心的体验管理体系

竞品分析,为的不是死磕对手,而是思考产品本质,是为自身服务,知己知彼,才能洞悉竞争格局,紧跟市场步伐。为了从更多视角发现更多体验问题,产品每个季度进行一次交叉走查或专家走查,扩大走查人员的范围,发动不同的角色参与到产品的体验中,发现一些被忽略和隐藏的问题,并从6个维度对产品进行评分,进而为产品优化助力。为了从更多视角发现更多体验问题,产品每个季度进行一次交叉走查或专家走查,扩大走查人员的范围,发动不同的角色参与到产品的体验中,发现一些被忽略和隐藏的问题,并从6个维度对产品进行评分,进而为产品优化助力。

2024-05-23 19:23:00 877

原创 海山数据库(He3DB)数据仓库发展历史与架构演进:(一)传统数仓

数据仓库的演进变革的因素有很多,例如快速的业务模式与群体规模的数据量带来的大数据处理技术、互联网的发展带来的数据源及数据类型的增多、人工智能的发展带来数智的融合、云计算交付模式的出现需要的细粒度的资源管理与隔离等,业务实时性的要求等都会带来数据仓库架构的变化。随着业务的发展,单机数据仓库的数据存储和计算模式不能满足大量数据处理的需求,在这个背景下基于MPP架构的数据仓库成为主流的解决方案,这阶段的数仓产品以在2000年代后出现的Teradata、Greenplum、Vertica等为代表。

2024-05-23 19:22:00 1094

原创 海山数据库(He3DB)数据仓库发展历史与架构演进:(三)云数仓

数据仓库的演进变革的因素有很多,例如快速的业务模式与群体规模的数据量带来的大数据处理技术、互联网的发展带来的数据源及数据类型的增多、人工智能的发展带来数智的融合、云计算交付模式的出现需要的细粒度的资源管理与隔离等,业务实时性的要求等都会带来数据仓库架构的变化。传统数仓将计算与存储部署在同一个节点,集群的扩容复杂,需要进行数据的迁移,同时架构存在木桶效应,单节点故障会影响整体的性能,且资源管理不灵活,无法满足不同场景下资源隔离及动态调整的需求。,这些产品之间的功能基本相同,只是在技术细节的实现各有不同。

2024-05-23 19:21:11 1054

原创 海山数据库(He3DB)数据仓库发展历史与架构演进:(二)大数据数仓

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

2024-05-23 19:20:16 1066 1

原创 海山数据库(He3DB)代理ProxySQL使用详解:(一)架构说明与安装

后端的MySQL实例可根据用途配置到不同的hostgroup中,由ProxySQL基于7层网络协议,将来源于APP的流量路由到对应的hostgroup内,从而实现负载均衡或者读写分离。通常用于黑名单功能,即如果匹配该规则后,如果其error_msg不为空,则客户端的操作将会接受到error_msg设置的错误信息;transaction_persistent:表示是否持久化事务,设置为1表示开启一个事务后,该事务的所有操作均在同一个hostgroup中操作完成,其会忽略设置的任何查询规则;

2024-05-23 19:15:47 757

原创 海山数据库(He3DB)代理ProxySQL使用详解:(二)功能实测

后面启动会就不会读取proxysql.cnf文件了!如果想要让proxysql.cnf文件里的配置在重启proxysql服务后生效(即想要让proxysql重启时读取并解析proxysql.cnf配置文件),则需要先删除/var/lib/proxysql/proxysql.db数据库文件,然后再重启proxysql服务。这样就相当于初始化启动proxysql服务了,会再次生产一个纯净的proxysql.db数据库文件(如果之前配置了proxysql相关路由规则等,则就会被抹掉)。

2024-05-23 19:14:21 447

原创 海山数据库(He3DB)线程池方案详解

同时,由于保留了一定数量的连接,当业务端新请求到达时可直接复用、无需新建连接,节省业务侧建连时间。判断当前请求是否属于高优先级队列,若属于,则放入高优先级队列,反之,则放入低优先级队列;移动云优化后的线程池会将工作线程数控制在一定范围内,随着并发数的增加,性能基本与最高点持平,无明显下降趋势。线程池的不足在于当请求偏向于慢查询时,工作线程阻塞在高时延操作上,难以快速响应新的请求,导致系统吞吐。的状态,同时,对延迟的容忍度较低,因此,线程池节流效果不太理想。不过,即使在这种情况下,也可以通。

2024-05-23 19:13:11 426

原创 He3DB MySQL计算下推优化设计

计算下推是数据库优化器优化查询性能的一种常见手段,早期的数据库系统提及的计算下推一般是指谓词下推,其。谓词下推是指将查询语句中的过滤表达式尽可能下推到距离数据源最近的地方做计算,以尽早完成数据的过滤,进。层做查询优化时,为了避免下推后导致结果集有误,需先判断是否满足下推条件(单表查询、的同时,还可以把数据存放在其他的存储引擎上。之间直接比较的效率,在这种情况下,条件被下推到存储引擎做计算。这种采用经典火山模型的关系型数据库,最常见的就是谓词下推。念逐步流行,计算下推的涵盖范围由此从基本的谓词。

2024-05-20 13:45:51 1012

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

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

2024-04-12 17:14:11 668

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

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

2024-04-11 15:08:28 1947

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

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

2024-04-10 10:48:06 1570

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

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

2024-04-09 13:09:02 869

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

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

2024-04-08 14:48:29 861

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

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

2024-04-07 17:45:24 1726

原创 移动云海山数据库(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 818

原创 移动云海山数据库(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 372

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

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

2024-01-02 10:38:32 335

原创 移动云海山数据库(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 397

原创 移动云海山数据库(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 928

原创 移动云海山数据库(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 390

原创 移动云海山数据库(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 864

原创 移动云海山数据库(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 824

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

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

2023-12-22 12:01:41 335

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

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

2023-12-21 10:56:17 400

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

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

2023-12-21 10:55:44 811

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

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

2023-12-13 11:13:00 13

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

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

2023-12-01 09:59:45 130

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

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

2023-12-01 09:46:11 86

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

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

2023-11-30 11:59:49 90

转载 He3DB 系统架构02

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

2023-10-24 10:23:44 38

转载 He3DB架构设计01

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

2023-10-24 10:22:44 24

转载 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 36

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

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

2023-10-24 10:17:39 96

转载 He3DB是什么?

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

2023-10-24 10:16:16 73

转载 He3DB-如何安装Navicat

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

2023-10-23 14:07:15 38

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

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

2023-10-23 14:05:40 23

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

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

2023-10-23 14:04:28 44

转载 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 22

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

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

2023-10-23 14:01:22 25

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

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

2023-10-23 13:58:52 86

空空如也

空空如也

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

TA关注的人

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