分布式数据库中间件——Mycat2

一、Mycat2 概述

Mycat是基于java语言编写的数据库中间件,核心功能是分库分表和读写分离,可以将大表水平分割为N个小表。

可以看做为Mysql的数据库服务器,可以用连接Mysql的方式去连接Mycat,端口为8066
在这里插入图片描述

二、Mycat的三大作用

2.1 分库分表

数据分片包括:垂直分片(垂直分库、垂直分表)、水平分片(水平分库、水平分表)

2.1.1 垂直分库

将一个数据库根据不同的业务,分割为多个数据库,从而部署到不同的服务器上分担压力
在这里插入图片描述

2.1.2 垂直分表

将包含字段过多的表,根据其使用频率,分割为不同的表
在这里插入图片描述

2.1.3 水平分库

将表中的数据根据不同的业务关系分割到不同的数据库中
在这里插入图片描述

2.1.4 水平分表

将一个巨大数据量的表分割为结构相同的不同表,分担数据量
在这里插入图片描述

2.2 读写分离

主库:增删改
从库:读

可以有效的避免数据更新导致的行锁,使整个系统的查询性能得到极大的改善

注意:读写分离的数据节点的数据内容是一致的,所以要先搭建主从复制的架构
在这里插入图片描述

2.3 多数据源整合

有时同一个项目需要同时连接多个数据源

  1. 业务需要。比如进行两个DB的双写或数据迁移。
  2. 读写分离。分布式数据库集群部署( 1 个 master 和 n 个 slave 模式)
  3. NoSQL数据库。使用NoSQL数据库存储大量的一次性非业务数据,如日志等。
    在这里插入图片描述
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
分布式数据库是指将一个大型数据库拆分为多个子数据库,这些子数据库可以分布在不同的服务器或地域上,并通过网络连接实现数据共享与交互的一种架构。其中,mycat中间件是一种支持分布式数据库架构的开源mysql集群代理,可以对多个mysql数据库进行分片、读写分离、负载均衡等优化,提高了数据库的性能和可扩展性。 企业实践中,分布式数据库架构主要应用于如电子商务、金融、游戏等高并发场景,将数据分散到多台服务器上,避免单点故障和瓶颈的发生,保证了数据库的高可用性和可靠性。同时,通过mycat中间件对读写请求进行分离,解决了热点数据的问题,有效提升了数据库的读写性能。此外,mycat可以通过数据分片的方式实现数据的水平扩展,满足企业的业务需求。 例如,支付宝就使用了分布式数据库架构,并在mycat的基础上进行了二次开发。支付宝的数据库集群包括了多个分片节点,并通过mycat对访问进行路由和负载均衡,实现了近乎线性的扩展性。在2017年双十一的购物狂欢节中,支付宝的交易额达到了1207亿,没有发生任何事故,这得益于他们稳定的分布式数据库架构。 总之,分布式数据库架构和mycat中间件已经广泛应用于企业实践中,成为了提高数据库性能和可扩展性的有力工具。同时,随着大数据、云计算等新技术的发展,分布式数据库架构的重要性和应用前景将会越来越广阔。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值