微课程 | 第十一课《Hint 简介和演示》

2019-12-23
阅读 2 分钟
3.1k
我们先介绍一下 hint,hint 是一种有效注释,将业务应用指定一个分库,实现中间件可以用指定的方式去下发 SQL。基本上是这样的,hint 里面是有一个路由的结果,比如我这里面 ID=1。通过拆分算法求模,我知道 ID=1 会下发给哪个库,但是真正的执行的 SQL 是另外一种 SQL,这里面这个 SQL 也不是很好,但是能表达功能。通...

微课程 | 第十课《ER 表实现方法 2》

2019-12-20
阅读 1 分钟
2.7k
如图,有这样的 6 张表 tableA-F。这些表我设置了拆分列、分布节点和拆分算法。把它们分为三组,可以看到表格最后一列的分组号为 1 的,它们的分布节点以及拆分算法完全一样时,这三张表其实可以互为 ER。因为拆分列在将来做 JOIN 的时候是要用作 ON 的条件。但只要规则分布相同,他们之间可以互为 ER。另外几张表,一个...

微课程 | 第九课《ER 表实现方法 1》

2019-12-16
阅读 2 分钟
2.7k
ER 表是一个什么样的概念,我们可以看一下上图的右边。sales 和 sales_detail 这两个表其实就有逻辑外键关系的两张表。有外键关系的表可以用外键来拆分,或者是依赖于外键节点。比如某个列 A 和外键列关系是 1: N,外键可以唯一决定它路由的归属。中间件可以通过某个列 A 拆分以后,在另一张表按照对应列进行拆分,因为...

微课程 | 第八课《Global 表简介》

2019-12-13
阅读 2 分钟
1.8k
我们有一个定义:对于数据量不大的字典表(比如超市商品)。对于零售系统来说,比如超市商品 SKU 可能有几十万规模的数据量,并且 SKU 不会出现大量增删改,也不会出现并发增删改。对于这样的数据特性来说,非常适合做 Global 全局表。

微课程 | 第七课《不同拆分规则的表》

2019-12-09
阅读 2 分钟
2.7k
现在我有四个节点,四个节点是按照求模拆分的,tb_mod 上有这样 5 条数据。这边 6 7 打个括号,意思是如果有 6 7 的话将会是这样一个数据分布。然后通过 jump hash 算法拆分后是这样的,1 2 3 分布在 dn2 上,4 6 分布在 dn1 上。这时我要做一个 tb_mod 和 jump_hash 的 JOIN,如果直接把 JOIN 下发是不对的。看图可以知...

微课程 | 第六课《复杂查询》

2019-12-06
阅读 2 分钟
2.9k
首先基本的 DML 我们已经介绍过了,在这里介绍下复杂查询。如图所示,所谓复杂查询大概是这样的一个定义。包括一些跨库分布的的数据查询、聚合函数、JOIN、UNION、子查询、复杂表达式和视图等等。dble 除了相关子查询是不支持的,其他都已经支持了。我们可以通过这张图来看是怎么做的。从上往下看,首先是一个客户端,然...

技术分享 | wrapper 和 dble 之间的那些事

2019-12-04
阅读 3 分钟
3.3k
在即将发布的 dble 2.19.09.0 版本中,我们将升级 dble 中 JSW 的版本,将 JSW 版本从 3.2.3 版本升级到 3.5.41 版本。升级的原因在于我们在使用过程中发现了几个比较严重的 bug,这几个 bug 会导致 dble 的守护进程异常退出和 hang 死。hang 死的案例可参考 issue:[链接]。看到这里的同学,有些同学可能对 JSW 可能还...

微课程 | 第五课《水平拆分》

2019-12-02
阅读 3 分钟
2.5k
dble 最核心的功能就是数据的水平拆分。首先说数据拆分,如果不太了解数据拆分是怎么回事,我这里先简单的介绍一下。本来我们一张表是完整的,但是这张表过大,超过一亿条数据。单表查询也好,增删改也好,都会遇到很大的问题。

微课程 | 第四课《目录结构演示》

2019-11-29
阅读 2 分钟
1.3k
[链接] 上一期我们介绍了 DBLE 的普通安装方式,这一期我们来了解一下安装好的目录结构。 [链接] DBLE 安装目录介绍 首先是一个算法的目录,存放自定义算法。然后是 bin 目录,存放启动脚本和初始化集群状态的脚本,然后还有小工具命令。conf 目录是最重要的,存放配置文件,我们后面详细说它。pid 是守护进程文件,如果...

分布式 | DBLE Release Notes 详细解读 2.19.09.0

2019-11-26
阅读 5 分钟
1.5k
以下对 DBLE 2.19.09.0 版本的 Release Notes 进行详细解读,文章主要分为以下三部分内容: 一、DBLE 项目介绍 二、新版本主要更新解读 三、完整 Release Notes 及翻译 一、DBLE 项目介绍 DBLE — 企业级开源分布式中间件,江湖人送外号 “MyCat Plus”;以其简单稳定,持续维护,良好的社区环境和广大的群众基础得到了社区...

微课程 | 第三课《普通安装方式》

2019-11-25
阅读 3 分钟
1.4k
我这里同样有一个安装视频演示,理论上应该搭建两个 MySQL 的真实环境来做,但是 MySQL 今天不是我们的重点,所以 MySQL 还是用容器方式做的。我们的 DBLE 是使用单独的一个压缩包安装的,DBLE 手册中有一个 quick start ,可以抽空去看。接下来安装演示。

微课程 | 第二课《Docker 安装方式介绍》

2019-11-22
阅读 2 分钟
2.4k
微课程 | 第二课《Docker 安装方式介绍》视频[链接] 上一期我们介绍了 DBLE 的基本概况,下面进入我们的正题,正题基本分为这四个部分。 本次课程目录结构 1. 安装演示 会介绍我们两种快速开始的方式。让大家在不太熟悉,不知道是什么结构,甚至不了级上期结构图的情况下,快速开始。 2. 基本功能 详细介绍一下我们 DBLE...

微课程 | 第一课《DBLE 项目介绍》

2019-11-20
阅读 3 分钟
1.4k
我叫阎虎青,在 GitHub 上账号是 yanhuqing666,666 就是我发明的,用了 20 年了。目前我在爱可生负责 DBLE 方面的开发的工作,以前也玩过一些读写分离、数据备份之类的 MySQL 中间件。我个人的兴趣爱好比较广泛什么唐宋元明史、唐诗宋词、F1 啊、环法啊,什么都关心一点,什么都略懂一点。所以经常会有一些莫名其妙的梗...

技术分享 | MySQL 的 join_buffer_size 在内连接上的应用

2019-11-01
阅读 5 分钟
2.3k
本文详细介绍了 MySQL 参数 join_buffer_size 在 INNER JOIN 场景的使用,OUTER JOIN 不包含。在讨论这个 BUFFER 之前,我们先了解下 MySQL 的 INNER JOIN 分类。

新特性解读 | 组复制成员的自动保护模式

2019-10-29
阅读 2 分钟
1k
原文:[链接]作者:Nuno Carvalho 翻译:管长龙Nuno Carvalho 是 Oracle 的首席软件工程师和 MySQL 复制服务团队负责人,该团队负责 MySQL 组复制插件。他的研究兴趣包括复制技术,可靠的系统和高可用性。在加入 MySQL 团队之前,他是葡萄牙米尼奥大学的研究生和研究员,在那里他设计和实现了改善分布式系统可伸缩性的技...

社区回顾 | 10.26 DBLE用户见面会 北京站 总结

2019-10-28
阅读 2 分钟
2.6k
​10月26日,爱可生开源社区在北京举办了线下互动式分享会议「分布式中间件 DBLE 用户见面会」,会议当天共有四十余位从事数据库相关行业的技术爱好者前来参加,分享内容主要是为正在使用 DBLE 中间件或是对 DBLE 感兴趣的同学提供相关技术方面的内容和过往经验。本次进行分布式中间件 DBLE 相关内容分享的讲师是来自爱可...

新特性解读 | MySQL 8.0 轻松改配置,云上友好

2019-10-11
阅读 9 分钟
2.4k
MySQL 5.7 及之前版本下修改配置,如果能动态修改的,可以用 set global 语法,不能动态修改的,只能修改 /etc/my.cnf 配置文件,之后重启生效。如果需要持久化动态修改的参数,也只能同时修改 /etc/my.cnf 配置文件。

分布式 | DBLE 内存管理模块源码解读

2019-10-10
阅读 8 分钟
1.2k
简单说明一下这两点:第一点比较好理解,网络读的时候需要从通道中读取字节流到内存中,以便进一步处理,网络写的时候也需要将字节流从内存中写入到通道中,以便发送信息。第二点就比较复杂一些了,DBLE 获取到 MySQL 端的数据后,会经过 DBLE 然后再发送给客户端,如果是简单查询的话,DBLE 端只是起到一个中转的作用,...

社区投稿 | 线程简介和 MySQL 调试环境搭建

2019-09-19
阅读 9 分钟
1.3k
作者:高鹏 文章末尾有他著作的《深入理解MySQL主从原理 32讲》,深入透彻理解MySQL主从,GTID相关技术知识。本文节选自《深入理解MySQL主从原理》第29节注意:本文分为正文和附件两部分,都是图片格式,如果正文有图片不清晰可以将附件的图片保存到本地查看。

社区投稿 | gh-ost 原理剖析

2019-09-18
阅读 9 分钟
2.4k
作者简介:杨奇龙,网名“北在南方”,7年DBA老兵,目前任职于杭州有赞科技DBA,主要负责数据库架构设计和运维平台开发工作,擅长数据库性能调优、故障诊断。

分布式 | DBLE Release Notes 详细解读 2.19.07.0

2019-09-16
阅读 7 分钟
1.6k
DBLE 是企业级开源分布式中间件,江湖人送外号 “MyCat Plus”;以其简单稳定,持续维护,良好的社区环境和广大的群众基础得到了社区的大力支持;

社区活动 | 10.26 DBLE用户见面会 北京站

2019-09-12
阅读 1 分钟
1.1k
活动报名链接:[链接]

技术分享 | 从库数据的查找和参数 slave_rows_search_algorithms

2019-09-11
阅读 7 分钟
1.4k
作者:高鹏 文章末尾有他著作的《深入理解MySQL主从原理 32讲》,深入透彻理解MySQL主从,GTID相关技术知识。本文节选自《深入理解MySQL主从原理》第24节注意:本文分为正文和附件两部分,都是图片格式,如果正文有图片不清晰可以将附件的图片保存到本地查看。 本节包含一个笔记如下:[链接]

分布式 | dble 沿用 jumpstringhash,移除 Mycat 一致性 hash 原因解析

2019-09-10
阅读 3 分钟
2.3k
MyCat 对于字符串类型为分片字段的数据,有三种分片模式,分别是:模值 hash(求模法),jumpstringhash(跳跃法),一致性 hash(环割法)

技术分享 | 快速定位令人头疼的全局锁

2019-09-09
阅读 5 分钟
2k
在用 xtrabackup 等备份工具做备份时会有全局锁,正常情况锁占用时间很短,但偶尔会遇到锁长时间占用导致系统写入阻塞,现象是 show processlist 看到众多会话显示 wait global read lock,那可能对业务影响会很大。而且 show processlist 是无法看到哪个会话持有了全局锁,如果直接杀掉备份进程有可能进程杀掉了,但锁...

技术分享 | 从 MySQL 8.0 复制到 MySQL 5.7

2019-09-06
阅读 5 分钟
3.3k
本文中,我们将讨论如何设置从 MySQL 8.0 到 MySQL 5.7 的复制。在某些情况下,使用此配置可​​能会有所帮助。例如,在 MySQL 升级的情况下,将使用较新版本的 MySQL 主服务器作为回滚计划用于较旧版本的从服务器会很有用。另一个,则是在升级主主(master master)复制的情况。

新特性解读 | MySQL 8.0 错误日志增强特性

2019-09-05
阅读 7 分钟
2.8k
以 JSON 输出错误日志后可读性和可操作性增强了许多。这里可以用 Linux 命令 jq 或者把这个字串 COPY 到其他解析 JSON 的工具方便处理。

技术分享 | 优化 InnoDB 的主键

2019-09-04
阅读 11 分钟
1.5k
作为 Percona 的首席架构师,我的主要职责之一是对客户的数据库进行性能方面的优化,这使得工作复杂且非常有趣。在这篇文章中,我想讨论一个最重要的问题:选择最佳的 InnoDB 主键。

技术分享 | MySQL 查询优化

2019-09-03
阅读 6 分钟
4.4k
1. 基于成本的 MySQL 查询优化。2. 监视、分析和查询优化的工具有哪些?3. 数据访问方法与如何选择索引。4. 如何对连接进行优化。5. 如何影响优化器。接下来,简明介绍一下相关内容。

社区投稿 | 基于 WRITESET 的并行复制方式

2019-09-02
阅读 10 分钟
3.6k
本文节选自《深入理解MySQL主从原理》第16节注意:本文分为正文和附件两部分,都是图片格式,如果正文有图片不清晰可以将附件的图片保存到本地查看。