DBLE

DBLE核心研发主讲:MySQL分布式中间件公开课开课啦

倖福魔咒の 提交于 2019-12-02 18:14:23
DBLE年龄 :2岁半 爱好 :开源 技能 :数据水平拆分、兼容MySQL、高可用性、SQL支持、复杂查询优化、分布式事务支持 特长 :兼容性、复杂查询、分布式事务的深入改进优化 为了使社区同学能够更清晰的了解开源分布式中间件DBLE的功能特性,DBLE核心研发团队历时3个月推出DBLE系列公开课。 DBLE公开课简介 课程目录 DBLE系列课程分为4章,共12节 3月15日起,每周五中午11:30前更新 课程咨询:DBLE技术交流群(669663113) 每天8:30-20:30即时疑问解答 适用人群 正在使用DBLE或MyCat的用户 当前中间件无法满足业务需求的用户 运维大体量数据库,需要考虑分库分表的DBA 为数据库架构选型发愁的研发人员 讲师介绍 ▽Attention▽ 为了让大家更好的了解课程内容以及评估课程质量,本期预热已发布第一期课程,大家可以先感受一下一股强烈的分布式旋风扑面而来是多么清爽。 第一章 DBLE的基本使用 1.1 DBLE概述 课程观看传送门: 方式1 :打开「 爱可生开源社区 」官网,点击技术博客,选择DBLE系列公开课即可观看 方式2 :点击“ 阅读原文 ”直达播放现场,一秒开始听课~ 如何获取课程 DBLE系列公开课自3月15日起将按照每周一节课程发布在「爱可生开源社区官网」,点击官网( http://opensource.actionsky

开源分布式中间件 DBLE 快速入门指南

泪湿孤枕 提交于 2019-12-02 18:14:11
环境准备 DBLE项目资料 DBLE官方网站:https://opensource.actionsky.com 可以详细了解DBLE的背景和应用场景,本文不涉及到的细节都可在官方文档获得更细节都信息;对于刚了解到同学,可以以本文为快速入门基础 DBLE官方项目:https://github.com/actiontech/dble 如对源码有兴趣或者需要定制的功能的可以通过源码编译 DBLE下载地址:https://github.com/actiontech/dble/releases 建议下载最新的releases版本,下载tar压缩包即可,如有源码编译需求的,可以下载源码包 DBLE社区交流:669663113 安装JDK环境 DBLE是使用java开发的,所以需要启动dble需要先在机器上安装java版本1.8或以上,并且确保JAVA_HOME参数被正确的设置; 这里通过yum源的方式安装了openjdk,同学们可以自行google jdk的几百种安装方式,这里不在赘述; # yum install java-1.8.0-openjdk 确认java环境已配置完成 # java -version openjdk version "1.8.0_191" OpenJDK Runtime Environment (build 1.8.0_191-b12) OpenJDK 64-Bit

分布式 | DBLE 如何实现 Prepared Statement 协议

陌路散爱 提交于 2019-12-02 00:40:24
原创: 鲍凤奇 本文摘要: DBLE 是一款企业级的开源分布式中间件,江湖人送外号 “MyCat Plus”。Prepared Statement 协议是 MySQL 5.1 版本新加入的功能。MyCat 从1.6版本实现了 Prepared Statement 协议,但 MyCat 存在一些至今仍未修复的Bug。 本文将从两名 DBLE 用户提交的Bug开始说起,详细解读 DBLE 是如何实现 Prepared Statement 协议的 事发当天 2019年4月12日下午,GitHub得到举报,两名 DBLE 用户各发现了一个极为凶残的Bug。DBLE 社区片儿警马上赶到案发现场进行取证并对Bug们开始展开调查。举报信息如下: BugOne ( https://github.com/actiontech/dble/issues/1122) error message: Dble has an error message 'unknown pStmtId when executing' when the client set useServerPrepStmts=true #1122 dble version: dble-9.9.9.9-884fc6b612d64cc22101226536f8fd1d24580857-20190221182143 BugTwo ( https:/

社区投稿 | DBLE和Mycat跨分片查询结果不一致案例分析

落爺英雄遲暮 提交于 2019-12-02 00:40:04
1.背景 某一零售业后端使用了分布式中间件+MySQL数据库作为后端存储。但是因为历史问题存在两种分布式中间件,分别是Mycat和DBLE,共用一组后端MySQL实例。分片规则以及后端数据完全一致。最近碰到了一个比较有意思的场景,财务结算单来往明细和业务来往单据的关联查询。一条跨节点join查询在DBLE、Mycat的查询得到的结果不一致。究竟谁对谁错? 2.DBLE项目介绍 DBLE官方网站: https://opensource.actionsky.com 可以详细了解DBLE的背景和应用场景,本文不涉及到的细节都可在官方文档获得更细节都信息;对于刚了解到同学,可以以本文为快速入门基础 DBLE 官方项目: https://github.com/actiontech/dble 如对源码有兴趣或者需要定制的功能的可以通过源码编译安装 DBLE 下载地址: https://github.com/actiontech/dble/releases DBLE 官方社区交流:669663113 3.环境准备 在虚拟机搭建类似架构,模拟场景,比较Mycat-DBLE在跨节点join上的异同点。 3.1测试架构 测试环境架构比较简单,DBLE与Mycat共用数据库。 3.2测试软件版本 软件名称 软件版本 端口 管理端口 DBLE DBLE-2.18.10.1-cb392c3

用户福利 | DBLE 社区支持免费 Mycat 问题诊断

断了今生、忘了曾经 提交于 2019-12-02 00:39:49
原创作者:[爱可生开源社区] 2017年10月24日,爱可生正式开源了自主研发的企业级分布式中间件 — DBLE,江湖人送外号 “Mycat Plus”。相对于 Mycat,DBLE 从以下四点进行了增强: 修复了大量 Mycat 历史遗留的 Bug https://actiontech.github.io/dble-docs-cn/0.overvi... 按月稳定的版本更新,持续的开发维护 https://github.com 活跃和谐的社群交流,快速的 issue 响应修复 jq.qq.com/?_wv=1027&k=5G8YoO 定期的线上线下交流,用户故事的学习分享 https://mp.weixin.qq.com/s/AagV1si3pTykO953_zNHz 简单稳定,持续维护,良好的社区环境和广大的群众基础使 DBLE 得到了社区的大力支持。 Mycat问题诊断支持 Mycat 作为一款开源的,面向企业应用开发的大数据库集群, 现在依旧有许多用户使用。然而除了 Mycat 自身存在的一些缺陷以外,近年来 Mycat 社区活跃质量也有所下降,很多社区用户在遇到问题时找不到官方的支持。因此,爱可生开源社区将决定为用户提供免费的 Mycat 问题诊断支持,其 目的 在于: 更好的帮助广大的 Mycat 用户 收集更多的Mycat问题场景,并在 DBLE 上得以加强

​深度分析 | MyCat与DBLE的对比性能调优

偶尔善良 提交于 2019-12-02 00:39:35
作者简介 蓝寅, 开源分布式中间件DBLE项目 负责人;持续专注于数据库方面的技术, 始终在一线从事开发;对数据复制,读写分离,分库分表的有深入的理解与实践。 问题起因: 用benchmarksql_for_mysql对原生MyCat-1.6.1和DBLE-2.17.07版做性能测试对比,发现DBLE性能只到原生版MyCat的70%左右。 问题分析过程: 分析过程主要有以下内容:包括现象,收集数据,分析猜测原因,验证猜测的方式来进行。 开源分布式中间件DBLE: 社区官网,获取DBLE快速入门指南及最新资讯: https://opensource.actionsky.com GitHub主页,查看官方文档: https://github.com/actiontech/dble 社区技术交流群,迅速获取官方支持: QQ群:669663113 1.分析瓶颈 1.1 先对两者进行一个CPU占用的堆栈分析 通过对CPU火焰图的比较,发现DBLE用在纯排序上的CPU占用在15%以上,而MyCat在排序上没有看到明显的CPU占用。( 复盘时的思考:这里有明显的可疑之处,应当及早观察两者是否公平) 1.2 首先猜测可能的原因 a.由于MyCat对以下这条用例实现有bug:具体方式是直接原句下发SQL到节点,收到各个节点的结果后直接做加法;而DBLE则是改写为select distinct s_i

技术分享 | MyCat的坑如何在分布式中间件DBLE上改善(内含视频链接)

守給你的承諾、 提交于 2019-12-02 00:39:23
作者简介 蓝寅,开源分布式中间件DBLE项目负责人;持续专注于数据库方面的技术, 始终在一线从事开发;对数据复制,读写分离,分库分表的有深入的理解与实践。 3月14日,爱可生开源社区联合IT168发布了一期《MyCat的坑如何在分布式中间件DBLE上改善》的直播,根据反馈,现将直播内容节选成文,以供大家回顾重温。 Tips:考虑到大家的不同口味,开源社区官网上线了完整版录播视频 ,无论是喜欢文字,爱好图文,青睐于完整版视频的同学都能找到自己喜欢的打开方式! 直播视频回顾请点击“ 录屏 ”,一键直达。 “ 以下为分享内容的正文部分 ” 背景 近年来,随着移动互联网、物联网、人工智能等技术的兴起,需要处理的数据越来越多,作为存储架构核心的关系型数据库不可避免的引发了需要扩容的问题,在这个过程中分库分表被发明出来。 分库分表最初不需要中间件,由各自应用的开发人员自己来负责,应用除了要了解业务逻辑以外,还需要明确完整的拆分规则,成本较高,对开发人员要求也很高,并且不利于任务和逻辑的解耦。因此,中间件应运而生。 分布式系统架构基本分成三层,最上面是一层是APP层,中间是中间件层,下面是数据存储层。 今天分享的内容主要为中间件,那么 一个理想的中间件应该是什么样的? 第一,透明性, 理想的中间件会向应用开发人员屏蔽后面具体拆分的细节。数据存储的工作被独立出来

回顾 | 开源分布式中间件DBLE社区分享活动总结

前提是你 提交于 2019-12-02 00:39:08
1月24日,我们发布了为期30天的「 如何获取全国 25场 MySQL 主题大会免费入场券 」有奖社区分享活动,希望社区同学能够分享测试或生产环境中DBLE使用上的难题,困惑,创新或收获,分享与DBLE相关的社区故事。 在经历春节在内的1个月中我们收到共了3位社区同学的4篇投稿,内容涉及 DBLE的基础配置系列 , DBLE的进阶使用系列 , DBLE实际应用案例分析 , 每篇内容都是社区同学自己在实际应用中的总结与整理,相信这些内容除了与大家分享外更重要的是对产品的具体使用与认知上的沉淀。 案例类 社区投稿 | DBLE和MyCat跨分片查询结果不一致案例分析 投稿:杨严豪 这篇文章的背景是社区同学刚好发现一条跨节点 join 查询在 DBLE、Mycat 的查询得到的结果不一致这样一个比较有意思的场景,于是准备测试环境进行分析比对并最终验证出了正确的数据来源。 Tips: 故障及案例分析思路可参考,同时提醒同学们重视数据的正确性 基础知识类 社区投稿 | DBLE rule.xml 配置解析 投稿:余朝飞 rule.xml 定义实际用到的拆分算法,熟悉各种拆分区算法的详细配置及其适用场景,方便我们在众多数据拆分场景选择并配置合适的拆分规则,同时这也是试用分库分表中间件的第一步。 将表的详细拆分算法写在配置中,这是一种很"傻"的方式,但是这也是万不得已的一种选择

分布式 | DBLE 负载均衡方案

删除回忆录丶 提交于 2019-12-01 10:01:59
原创作者: 冒飞 文章摘要: DBLE 是一款企业级的开源分布式中间件,江湖人送外号 “MyCat Plus”。为了分担 DBLE 的集群管理压力同时避免单点故障,需要为 DBLE 寻找一个负载均衡方案。我们找来了 Lvs+Keepalived 为 DBLE 实现负载均衡。 本文概要: 一、负载均衡环境介绍 1. 部署架构 2. 架构软件版本 二、环境搭建 1. 安装 DBLE 2. 安装 MySQL 3. 安装 Lvs+Keepalived 三、负载均衡实验 1. 场景一:DBLE被停掉到恢复过程中的负载均衡 2. 场景二:DBLE从网络断开到恢复的过程中的负载均衡 3. 场景三:整套环境在压力测试下负载均衡的稳定性 四、环境搭建过程中可能遇到的问题 一、负载均衡环境介绍 1.部署架构 外部对虚拟IP地址发出请求,负载均衡层一主一备避免单点故障,然后由 Lvs+Keepalived 实现 DBLE 层的负载均衡,DBLE 层用指定规则将数据在 MySQL 集群中分片存储。 2.架构软件版本 操作系统:Ubuntu 17.10 内核:Linux R820-08 4.13.0-32-generic x86_64 GNU/Linux 负载均衡:ipvsadm:v1.2.1 Keepalived:v1.3.2 (06/17,2017) 数据库:MySQL 5.7.13 压力测试工具

重磅预告 | 今晚直播:MyCat的坑如何在分布式中间件DBLE上改善

橙三吉。 提交于 2019-11-30 20:44:26
上周,DBLE团队历时3个月准备的 开源MySQL分布式中间件DBLE系列公开课发布了 ,为使社区同学能够更好的评估课程内容、质量以及对DBLE有更清晰深入的认知,我们联合IT168将在第二节课程发布前开放一期直播,跟大家聊聊DBLE与MyCat错综复杂的故事。 直播时间: 3月14日(今晚)20:00PM 分享嘉宾: DBLE项目负责人 蓝寅 分享主题: 《MyCat的坑如何在分布式中间件DBLE上改善》 课程亮点 跟你分享MyCat不为人知的一面 线上的复杂查询其实结果不对? 被MyCat默默吃掉的那些SQL! MyCat不太支持的那些语法! 不严谨代码导致的那些bug! 内容简介 分享将从DBA与研发两个角度进行说明 ,对于DBA同学最关心的SQL语言实现以及运维管理应当如何评估;开发者同学十分关注的bug修复质量,代码质量及代码科学管理如何判断 ,通过拆解两方对中间件的需求来吐槽MyCat到底有多少坑以及DBLE是如何避免的,为大家在MySQL的“读写分离”、“分库分表”等架构选型方面提供指引。 课程提纲 一.DBA角度 1. SQL语言实现 数据查询: 简单查询 / 聚合函数查询 / 函数嵌套查询 / union 查询 / 子查询 / Join查询 / 跨表Join查询 数据操作:Insert / 全局序列 上下文设置:上下文变量 2. 运维管理 用户权限:管理端用户权限