mysql中间件

学习历程-02DBProxy

ぃ、小莉子 提交于 2020-02-28 18:52:50
DBProxy是一个位于前端应用与后端MySQL数据库之间的中间件,它使得应用程序员无需再关心读写分离、分表等与MySQL相关的细节,可以专注于编写业务逻辑,同时使得DBA的运维工作对前端应用透明,上下线DB前端应用无感知。 DBProxy 的前身是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目Atlas。Atlas是在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量bug,添加了很多功能特性。Atlas项目在360公司内部得到了广泛应用,很多MySQL业务已经接入了Atlas平台,每天承载的读写请求数达几十亿条。 美团点评 自2015年在开源Atlas版本基础上进行了开发,满足了公司内部各项业务的场景需求,最终演化成了美团点评内部使用的中间件DBProxy。 参考链接: https://www.cnblogs.com/olinux/p/6626347.html https://blog.csdn.net/w892824196/article/details/82658764 https://github.com/IronsDu/DBProxy https://www.jianshu.com/p/733f96700d53 https://github.com/IronsDu/DBProxy 来源:

MySQL家族"新"成员——MySQL Shell

我怕爱的太早我们不能终老 提交于 2020-02-27 07:22:31
本文转载自“MySQL解决方案工程师”公众号,由徐轶韬翻译 标题虽然叫做MySQL家族新成员,但如果从发布时间上来看,MySQL Shell已经不能算做新成员了,它的正式版与MySQL8.0同一天诞生,2018年4月19日,但还有很多人对它比较陌生,所以称之为“新”。在这篇文章里,我将会介绍一下它的部分功能和使用方法。 首选概括一下它的功能,MySQL Shell是一个统一的命令行客户端,使用它可以对MySQL进行管理和操作。它支持多种语言,包括JavaScript,Python和SQL,并且支持编写脚本。此外,它同时支持文档型和关系型数据库模式,并且具有完整的开发和管理API。 看到这里,您可能会发现MySQL Shell与传统的MySQL数据库的客户端mysql的区别了,旧的mysql客户端缺失了脚本功能(可能有人会说可以通过编写SQL命令进行批处理),但是想要通过脚本语言对数据库进行管理的用户会发现,并没有专门适用于合并脚本语言的工具,MySQL Shell的出现弥补了这一点。 使用MySQL Shell除了可以对数据库里的数据进行操作,还可以对数据库进行管理,特别是对Innodb Cluster的支持,使用它可以十分方便的对Innodb Cluster进行管理,配置。您可以理解为MySQL Shell就是为Innodb Cluster 而生的

MySQL 中间件 - DBLE 简单使用

假装没事ソ 提交于 2020-02-26 23:04:55
DBLE 是企业级开源分布式中间件,江湖人送外号 “MyCat Plus”;以其简单稳定,持续维护,良好的社区环境和广大的群众基础得到了社区的大力支持; 环境准备 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

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

强颜欢笑 提交于 2020-02-26 23:00:22
GitHub:https://github.com/actiontech/dble 官方中文文档:https://actiontech.github.io/dble-docs-cn/ 一、环境准备 DBLE项目资料 安装JDK环境 二、安装DBLE 三、配置DBLE 应用场景一:数据拆分 应用场景二:读写分离 四、总结 环境准备 DBLE 项目资料 DBLE 是企业级开源分布式中间件,江湖人送外号 “MyCat Plus” ;以其简单稳定,持续维护,良好的社区环境和广大的群众基础得到了社区的大力支持; DBLE官方网站: https://opensource.actionsky.com 可以详细了解DBLE的背景和应用场景,本文不涉及到的细节都可在官方文档获得更细节都信息;对于刚了解到同学,可以以本文为快速入门基础 DBLE 官方项目: https://github.com/actiontech/dble 如对源码有兴趣或者需要定制的功能的可以通过源码编译安装 DBLE 下载地址: https://github.com/actiontech/dble/releases DBLE 官方社区交流群 :669663113 安装 JDK 环境 DBLE 是使用 java 开发的,所以启动 DBLE 需要先在机器上安装 java 版本 1.8 或以上,并且确保 JAVA_HOME

MySQL使用ProxySQL实现读写分离

本秂侑毒 提交于 2020-02-26 16:04:18
1 ProxySQL简介: ProxySQL是一个高性能的MySQL中间件,拥有强大的规则引擎。 官方文档: https://github.com/sysown/proxysql/wiki/ 下载地址: https://github.com/sysown/proxysql/releases/ 2 环境: 系统:CentOS7.5 ProxySQL版本:proxysql-1.4.8-1-centos7.x86_64.rpm Mysql版本:MySQL 5.7.22 ProxySQL主机IP:192.168.1.101 Mysql主库IP:192.168.1.102 Mysql从库IP:192.168.1.103 3 前提条件: 防火墙和selinux已关闭; Mysql主从同步已经配置完成; 4 安装ProxySQL: 4.1 安装 # 配ProxySQL源 [root@ProxySQL ~]# cat <<EOF | tee /etc/yum.repos.d/proxysql.repo [proxysql_repo] name= ProxySQL baseurl=http://repo.proxysql.com/ProxySQL/proxysql-1.4.x/centos/\$releasever gpgcheck=1 gpgkey=http://repo.proxysql.com

MySQL读写分离(ProxySQL)

六眼飞鱼酱① 提交于 2020-02-26 16:01:55
MySQL读写分离(ProxySQL) 读写分离原理 读写分离就是用户在发送请求时,请求经过中间件,中间件将请求中的读和写操作分辨出来将读请求发送给后端的从服务器,将写请求发送给后端的主服务器,再又主服务器通过主从复制将数据复制给其他从服务器 常见MySQL中间件 名称 公司 站点地址 mysql-proxy Oracle https://downloads.mysql.com/archives/proxy Atlas Qihoo https://github.com/Qihoo360/Atlas/blob/master/README_ZH.md dbproxy 美团 https://github.com/Meituan-Dianping/DBProxy Cetus 网易乐得 https://github.com/Lede-Inc/cetus Amoeba https://sourceforge.net/projects/amoeba/ Cobar 阿里巴巴 Amoeba的升级版 Mycat 基于Cobar http://www.mycat.io ProxySQL https://proxysql.com/ 本文以ProxySQL为例来介绍读写分离的使用方法 ProxySQL简介 ProxySQL为MySQL的中间件,其有两个版本官方版和percona版

Mysql使用ProxySQL实现读写分离

本秂侑毒 提交于 2020-02-26 15:59:58
ProxySQL简介: ProxySQL是一个高性能的MySQL中间件,拥有强大的规则引擎。 详细的中文介绍: 别人写的,基本跟官方无差别 官方文档: https://github.com/sysown/proxysql/wiki/ 下载地址: https://github.com/sysown/proxysql/releases 准备工作 本文所用环境: 系统均为CentOS7.4,并且关闭防火墙和selinux ProxySQL版本:proxysql-1.4.8-1-centos7.x86_64.rpm Mysql版本:mariadb 5.5.56-2.el7 ProxySQL主机IP:192.168.100.2 Mysql主库IP:192.168.100.3 Mysql从库IP:192.168.100.4 前提条件: Mysql主从已经配置好了同步 开始安装ProxySQL 安装ProxySQL: wget https://github.com/sysown/proxysql/releases/download/v1.4.8/proxysql-1.4.8-1-centos7.x86_64.rpm yum install -y proxysql-1.4.8-1-centos7.x86_64.rpm #proxysql需要依赖一些perl库,所以使用yum安装 #安装生成的文件:

MySQL中间件之MyCat

你。 提交于 2020-02-25 23:37:09
MySQL中间件之MyCat 一、MyCat基础概念 1、什么是MyCat 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务、ACID、可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群 一个融合内存缓存技术、NoSQL技术、HDFS大数据的新型SQL Server 结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品 一个新颖的数据库中间件产品 2、为什么使用MyCat 如今随着互联网的发展,数据的量级也是撑指数的增长,从GB到TB到PB。对数据的各种操作也是愈加的困难,传统的关系性数据库已经无法满足快速查询与插入数据的需求。这个时候NoSQL的出现暂时解决了这一危机。它通过降低数据的安全性,减少对事务的支持,减少对复杂查询的支持,来获取性能上的提升。但是,在有些场合NoSQL一些折衷是无法满足使用场景的(比如有些使用场景是绝对要有事务与安全指标的。这个时候NoSQL肯定是无法满足的)。所以还是需要使用关系性数据库。如何使用关系型数据库解决海量存储的问题呢?此时就需要做数据库集群,为了提高查询性能将一个数据库的数据分散到不同的数据库中存储,为应对此问题就出现了——MyCat MyCat作用: 能满足数据库数据大量存储;提高了查询性能 读写分离 数据分片 垂直拆分(分库)、水平拆分(分表)、垂直+水平拆分

MySQL重要知识点(总结)

拥有回忆 提交于 2020-02-24 20:29:00
最近一段时间都学习mysql,将重要的知识点总结如下: 一、字段、表、索引设计规范相关 二、事务相关 三、锁相关 四、存储引擎相关 五、大表优化相关 六、索引优化相关 七、语句优化相关 一、字段、表、索引设计规范 1、字段设计规范 ① 字段类型优先选择符合存储需要的最小类型 字段类型优先级:整型>date;time >enum>char;varchar>blob 原因:整型,time运算快,节省内存;enum列内部是用整型存储的,char,varchar要考虑字符集的转换和排序的校对集,速度慢;blob无法使用临时表。 ② 够用就行(如smallint,varchar(N)) 原因:大的字段浪费内存,影响速度,如varchar(10),varchar(300),虽然存储的内容一样,但是,在表联查时,varchar(300)要花更多内存 ③ 尽量避免使用允许为null() 原因:null不利于索引,要用特殊的字节标注,在磁盘上占的空间其实更大 例子:建两个相同字段的表,一个允许为null,一个不允许。可以发现为null的索引更大些。 ④ 避免使用ENUM类型 修改ENUM值需要使用ALTER语句 ENUM类型的ORDER BY操作效率低,需要额外操作 禁止使用数值作为ENUM的枚举值 ⑤ 使用TIMESTAMP(4个字节)或DATETIME类型(8个字节)存储时间 TIMESTAMP

Scrapy安装与应用教程

ぃ、小莉子 提交于 2020-02-24 15:49:34
1 scapy介绍 scrapy是一个基于twisted(python)的开源的爬虫框架,注意它是一个框架,不同于requests和urllib,这两个是库,很多功能都需要自己去实现 scrapy优点 耦合度低,可扩展性强 可以快速灵活定制需求,例如实现log,参数配置,监控,数据处理 针对爬虫中遇到的各类问题(反爬虫策略,数据解析,数据持久化等),只需完成指定模块的开发就可以实现功能 异步实现,并发量大,适用于大规模爬取数据 上图是scrapy的框架,包括以下几个部分 engine:负责处理整个系统的数据流,出发事务 spider:负责发起requests,解析response的数据内容为item,并将解析后的item返回给引擎 item pipelines:负责处理items,包括过滤,分析,存储等,常见的应用就是将数据存入数据库 downloader:负责根据request内容下载数据并返回response middleware:处理request和response的中间件,常见应用包括设置数据请求头,代理和代理IP等 scheduler:负责接受引擎发送来的请求,并将其加入队列中。 2 scrapy安装 pip install scrapy 3 scrapy项目启动 #创建一个scrapy项目:scrapy startpoject 项目名称 scrapy