分布式存储系统数据库中间件-Mycat
分布式存储系统数据库中间件-Mycat
官方文档网站:http://mycat.org.cn/
Mycat基本定义
一个彻底开源的,面向企业应用开发的大数据库集群
支持事务、ACID、可以替代MySQL的加强版数据库
一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群
一个融合内存缓存技术、NoSQL技术、HDFS大数据的新型SQL Server
结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品
一个新颖的数据库中间件产品
常用应用场景
- 单纯的读写分离,本身支持读写分离,主从切换
- 分库分表,对于超过1000万的表进行分片,最大支持1000亿的单表分片
- 多租户应用,每个应用一个库,但应用程序只是连接Mycat,从而不改造程序本身,实现多租户化
- 报表系统,借助于Mycat的分表能力,处理大规模报表的统计
- 替代Hbase,分析大数据
- 作为海量数据实时查询的一种简单有效方案,比如100亿条频繁查询的记录需要在3秒内查询出来结果,除了基于主键的查询,还可能存在范围查询或其他属性查询,此时Mycat可能是最简单有效的选择
数据库中间件基本架构图
中间件是介于数据库和应用之间,进行数据处理和交互的中间服务,能有效的管理数据底层的交互处理,让应用只需要集中在业务处理上,底层的数据让中间件来处理,提高整个系统的稳定性和扩展性
MySQL读写分离方案及Mycat接入
标准的读写分离方案是主从模式,一个主节点负责数据写入,多个从节点负责数据读取,通常是1个主节点写入对应3个从节点读取数据
Mycat不负责mysql的数据同步问题,只负责sql读写分离资源的分开和管控
Mycat中执行以下两种配置即可接入mysql的主从配置
Mysql高可用与集群方案及Mycat接入处理
对实时性要求不高的应用可以采用多台低配置的PC server扩展Slave的数量,将读压力分配到Slave上,解决数据库的读性能瓶颈,很多中小型网站采用此方式解决数据库压力
MySQL Cluster使用不是很普遍,主要原因是配置管理负责,运维难度比较大并且存在安全问题
heartbeat是linux-HA工程的一个组件,核心包括两个:心跳检测和资源接管,指定时间内未收到对方发送的报文就认为是失败的,这是需要启动资源接管模块接管运行在对方主机上的资源服务
PRBD是通过网络来实现设备的数据镜像同步的开源Cluster软件,它自动完成网络中两个不同服务器上的磁盘同步,相对于binlog日志同步,它是底层的磁盘同步,理论上是和很多文件系统的高可用配置
Lvs是一个虚拟的服务器集群系统,可以实现linux平台下的简单负载均衡,keepalived主要用于主机和备机的故障转移,是一种适用面很广的负载均衡和高可用方案,常用于Web系统上
Mycat的高可用官方推荐是采用Haproxt+keepalived的方式功能稳定性也比较好
Mycat总体架构实现
Mycat网络IO架构与实现
Mycat同时实现了NIO和AIO,可以通过系统参数选择是使用AIO还是NIO
核心包含四个处理时间:客户端连接服务端事件、服务端接受客户端连接事件、读事件、写事件
相比于AIO简单的架构,NIO应用场景比较复杂,在高性能IO框架中都会应用到NIO
Mycat最佳实践
这种方案基本包含Mycat能满足和实现的全部实现方案
分布式存储系统数据库中间件-Mycat相关推荐
- docker二进制安装mysql_Docker搭建MySQL读写分离主从模式 分布式数据库中间件Mycat分库分表应用...
一.MySQL读写分离主从模式 1. 下载镜像 docker pull mysql 当前最新版本:mysql Ver 8.0.19 for Linux on x86_64 (MySQL Communi ...
- 分布式数据库中间件 MyCat 安装及使用
分布式数据库中间件 MyCat 安装及使用 关于 MyCat 的铺垫文章已经写了三篇了: MySQL 只能做小项目?松哥要说几句公道话! 北冥有 Data,其名为鲲,鲲之大,一个 MySQL 放不下! ...
- 开源分布式数据库中间件MyCat架构简介(一)——基于MyCat的分库分表,读写分离,水平切分和垂直切分实现原理
目录 前言 开源分布式数据库中间件MyCat架构简介--MyCat源起 一.数据库切分概述:OLTP和OLAP 二.关系型数据库和NoSQL数据库 三.关系型数据库和NoSQL数据库的特点及优缺点 1 ...
- 开源分布式数据库中间件MyCat架构简介(二)——基于MyCat的分库分表,读写分离,水平切分和垂直切分实现原理
目录 前言 基于MyCat的分库分表,读写分离,水平切分和垂直切分实现原理 一.关于Mycat 二.Mycat 实现原理 三.MyCat 应用场景 四.MyCat 未来展望 五.Mycat 中相关概念 ...
- 数据库中间件Mycat诞生记1
数据库是黑盒还是白盒,分布式还是大集中,We donot care. 数据库实现机制就是与我无关,钱都花了我还得伺候你?胳膊拗不过大腿,现实就是数据库效率不高我们就把你大卸八块,碎碎平安啊!(什么? ...
- 分布式MySQL数据库中间件 mysqlda
1. 概述 1.1. 数据分布式切分方式 分布式架构中最难解决的是数据分布式问题,大部分数据库中间件都以分库分表作为切分方式,好处是通用,但也存在以下问题: 扩容过程需要以切片为单位在库间移动数据.扩 ...
- docker安装mycat_分布式数据库中间件 MyCat 搞起来!
关于 MyCat 的铺垫文章已经写了三篇了: MySQL 只能做小项目?松哥要说几句公道话! 北冥有 Data,其名为鲲,鲲之大,一个 MySQL 放不下! What?Tomcat 竟然也算中间件? ...
- 分布式数据库中间件Mycat百亿级数据存储(转)
此文转自: https://www.jianshu.com/p/9f1347ef75dd 2013年阿里的Cobar在社区使用过程中发现存在一些比较严重的问题,如高并发下的假死,心跳连接的故障,只实现 ...
- 数据库中间件 MyCAT源码分析 —— XA分布式事务
title: MyCAT 源码分析 -- XA分布式事务 date: 2017-07-15 tags: categories: MyCAT permalink: MyCAT/xa-distribute ...
最新文章
- @HostListener 可接收的事件列表
- python带我起飞 豆瓣评分_你听过后觉得爽到飞起的电音是哪一首?
- Python 学习笔记 (8)—— sys模块
- 如何去调试前端JS代码?以Chrome谷歌浏览器为例
- Python数据结构学习笔记——链表:无序链表和有序链表
- html5结构与表现分离原则,网页简单布局之结构与表现原则分享
- oracle频,Oracle动作频频 Java或浴火重生
- 借百度数据,建立你自己的程序
- CentOS6.5 安装python
- golang编译之vendor机制
- 黑板课爬虫闯关之关卡二
- 最近win7更新后出现第二次打开IDE(delphi2007)的时候提示无法打开EditorLineEnds.ttr这个文件...
- centerOS7开启网络服务
- 思科路由器配置命令(三)
- 磨金石教育插画干货分享|日本插画为什么独树一帜,那么受欢迎
- PAT题目详解-----愿天下有情人都是失散多年的兄妹
- windows计算机锁屏的快捷键是什么,电脑锁屏快捷键是什么
- 【_ 記 】发送邮件功能和MimeMessageHelper 对象下的To Cc Bcc(发送,抄送,密送)
- 字节一面:“为什么网络要分层?每一层的职责、包含哪些协议?”
- 这些老系统代码,是猪写的么?