首页 > 其他分享 >1-分库分表概述_工作过程_分片规则_目录结构_配置文件

1-分库分表概述_工作过程_分片规则_目录结构_配置文件

时间:2024-05-11 15:53:22浏览次数:24  
标签:xml 分库 配置文件 mycat sharding 分片 分表

1.分库分表概述 工作过程 分片规则 目录结构 配置文件

分库分表概述 工作过程 分片规则 目录结构 配置文件

分库分表应用注意
1.在数据库设计时考虑垂直分库和垂直分表
2.数据量增加时,不要马上做水平分割,而是先考虑缓存处理、读写分离、使用索引等方式。如果以上方式不能解决,再考虑水平分库和水平分表

分库分表问题
1.跨节点连接查询问题(查询垂直分库中的关联数据),这种情况需要分多次查询
2.管理的数据库变多了

分库分表

将存放在一个数据库(主机)中的数据,按照特定方式进行拆分,分散存放到多个数据库(主机)中,以达到分散单台设备负载的效果

分类

①纵向切分

将单个表,拆分成多个表,分散到不同的数据库

将单个数据库的多个表进行分类,按业务类别分散到不同的数据库上

②水平分割

按照表中某个字段的某种规则,把表中的许多记录按行切分,分散到多个数据库中

mycat软件介绍

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

支持JDBC(java数据库连接)形式连接

支持MYSQL、Oracle、Sqlserver、Mongdb等

提供数据读写分离服务

可以实现数据库服务器高可用

提供数据分片服务

工作原理

mycat拦截用户发送的SQL语句,先解析这个SQL查找涉及到的表,然后获取SQL里分片字段的值,并匹配分片函数,获得分片列表,再将SQL发往这些分片去执行,最后收集和处理所有分片结果数据,并返回到客户端

Mycat支持提供10种分片规则

枚举法                  sharding-by-intfile
固定分片                rule1
范围约定                auto-sharding-long
求模法                  mod-long
日期列分区法            sharding-by-date
通配取模                sharding-by-pattern
ASCII码求模通配         sharding-by-prefixpattern
编程指定                sharding-by-substring
字符串拆分hash解析       sharding-by-stringhash
一致性                  hash sharding-by-murmur

目录结构

ls /usr/local/mycat

bin                         mycat命令,与服务相关的命令,如 启动 停止 等

catlet                      空的,作用是安扩展功能

conf                        配置文件

lib                           使用的jar包,服务运行过程中调用的程序和模块

log                         启动日志和运行日志

wrapper.log           mycat服务启动日志

mycat.log               记录SQL脚本执行后的报错内容

重要配置文件

server.xml        设置连接mycat的用户授权

rule.xml            定义mycat分片规则及规则对应的算法

schema.xml      逻辑库表的配置文件

ls /usr/local/mycat/conf/*.txt
autopartition-long.txt  partition-hash-int.txt  partition-range-mod.txt

ls /usr/local/mycat/conf/*.xml
ehcache.xml  log4j.xml  router.xml  rule.xml  schema.xml  server.xml

标签:xml,分库,配置文件,mycat,sharding,分片,分表
From: https://www.cnblogs.com/lixunblogs/p/18167586

相关文章

  • mybatis核心配置文件
    在resource目录下,创建mybatis-config.xml(官方建议起名方式)核心配置文件常用元素properties:通过resource属性从外部指定属性文件(db.properties),该属性文件描述数据库连接的相关配置(数据库驱动、连接数据库的url、数据库用户名、数据库密码),位置也是在/resources目录下settin......
  • 分库分表
    业务介绍根据自己简历上的项目,想一个数据量较大业务(请求数多或业务累积大)。达到了什么样的量级(单表1000万或超过20G)。具体拆分策略水平分库,将一个库的数据拆分到多个库中,解决海量数据存储和高并发的问题。水平分表,解决单表存储和性能的问题。需要中间件sharding-sphe......
  • 配置文件
    //1.QMetaObject::connectSlotsByNamevoidWidget::on_btnOpen_clicked(){QStringconf_path=qApp->applicationDirPath()+"/conf/settings.ini";std::unique_ptr<QSettings>iniSet(newQSettings(conf_path,QSettings::IniFormat))......
  • 日志 配置文件 依赖注入 系统自动日志 控制台应用
    日志级别学习//Trace:0,包含最详细的消息。这些消息可能包含敏感的应用数据。//Debug:1,用于调试和开发。//Information:2,一般用于跟踪系统的日志。//Warning:3,一般用于记录异常事件或意外事件。//Error:4,一般用于记录无法处理的异常。//Critical:5,需要马上处理的失败,比如数......
  • Linux 7修改网卡名称后,配置文件中的默认网关不生效【转载】
    背景 为了系统统一管理在创建了系统后统一将网卡名称修改为eth0,eth1等格式,并在修改完网卡名称重新编译grub配置文件重启后,添加了静态路由,使用route-n查看系统发现路由可以生效,但是配置的默认网关不生效,记录下排查过程。检查网卡配置文件并手动配置默认网关 在检查了网卡配......
  • MySQL配置文件
    一.Linux1.MySQL5.7**MySQL5.7配置文件示例(适用于Linux)**[mysql]#设置mysql客户端默认字符集default-character-set=utf8[mysqld]#服务器端口port=3306#MySQL的安装目录basedir=/usr/local/mysql#MySQL的数据目录datadir=/var/lib/mysql#错误日志文件......
  • mumu模拟器修改代理配置文件
    前言全局说明mumu模拟器修改代理配置文件一、说明据网传Android12将要取消adb设置代理。所以之前用adbshellsettingsputglobalhttp_proxyIP:8888将不可用设置代理:https://www.cnblogs.com/wutou/p/17921479.html二、UI界面设置代理,对应配置文件文件路径:/d......
  • vscode配置文件
    {//外观的设置//字体大小"editor.fontSize":16,//字体设置"editor.fontFamily":"'JetBrainsMonoNerdFont',Consolas,'CourierNew',monospace",//图标设置"workbench.iconTheme":"eq-mate......
  • [springboot]配置文件加载顺序
    一般项目直接使用.jar文件以server.port配置举例;以jar包内和jar包外说明内部和外部配置文件顺序由高到底,如下:外部-启动时指定参数外部-环境变量外部config/yml文件外部yml文件内部config/yml文件内部yml文件启动时,如果指定了激活的profile文件,会优先找激活的profile文......
  • nginx配置文件
      userroot;worker_processesauto;error_log/var/log/nginx/error.lognotice;pid/var/run/nginx.pid;events{worker_connections1024;}http{include/etc/nginx/mime.types;default_typeapplication/octet-stream;......