数据分片概述 、 部署MyCAT服务 、 测试配置 、 总结和答疑

数据分片概述

相关概念

分库/分表

什么是分库分表

-将存放在一台数据库服务器中的数据,按照特定方式进行拆分,分散存放到多台数据库服务器中,以达到分散单台服务器负载的效果

 

水平分割

横向切分

-按照表中制定字段的分片规则,将表记录按行切分,分散存储到多个数据库中

 

垂直分割

纵向切分

-将单个数据库的多个表按业务类型分类,分散存储到不同的数据库中

 

MyCAT介绍

软件介绍

mycat是基于Java的分布式数据库系统中间件,为高并发环境的分布式存储提供解决方案

  • 适合数据大量写入的存储需求
  • 支持MySQL,Oracle、Sqlserver、Mongodb等
  • 提供数据读写分离服务
  • 提供数据分片服务
  • 基于阿里巴巴Cobar进行研发的开源软件

 

分片规则

mycat支持提供10中分片规则

 

工作过程

当mycat收到一个SQL命令时

  1. 解析SQL命令涉及到的表
  2. 然后看对表的配置,如果有分片规则,则获取SQL命令里分片字段的值,并匹配分片函数,获得分片列表
  3. 然后将SQL命令发往对应的数据库服务器去执行
  4. 最后收集和处理所有分片结果数据,并返回到客户端

 

部署MyCAT服务

环境部署

拓扑结构

 

IP规划

 

部署MyCAT服务

安装软件

 

目录结构

 

重要配置文件说明

 

创建连接用户

/usr/local/mycat/conf/server.xml

-定义客户端连接mycat服务的用户

 

配置数据分片

定义分片的表

/usr/local/mycat/conf/schema.xml

 

定义数据节点

 

定义数据库服务器IP地址及端口

 

配置数据库服务器

根据分片配置做出相应的设置

-添加授权用户

-创建存储数据的库db1,db2,db3

 

启动服务

 

客户端连接

客户端连接分片服务器存取数据

  • 连接
  • 选择库
  • 建表
  • 插入记录

 

 

分片规则

sharding-by-intfile

枚举法

-字段必须在规则文件定义的值里选择

 

mod-long

求模法

根据字段值与设定的数字求模结果存数据

 

存储数据

建表

根据分片规则和对应算法创建表结构

存储数据

存储数据时必须制定字段名列表

 

添加新库/表


服务器配置

添加新库

-修改server.xml文件

 

添加新表

-修改schema.xml

 

客户端访问

客户端连接分片服务器

-建表

-存储数据

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值