• MySql概述及入门(五)


    MySql概述及入门(五)


    MySQL集群搭建之读写分离

    读写分离的理解

    为解决单数据库节点在高并发、高压力情况下出现的性能瓶颈问题,读写分离的特性包括会话不开启事务,读语句直接发送到 salve 执行。基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、      DELETE),而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。

    为什么使用读写分离

    因为数据库的“写”(写10000条数据到oracle可能要3分钟)操作是比较耗时的。

    但是数据库的“读”(从oracle读10000条数据可能只要5秒钟)。

    l  创建mysql-proxy.cnf文件

    l  修改rw-splitting.lua脚本

    l  启动命令

    ./mysql-proxy  --defaults-file=mysql-proxy.cnf配置文件的地址

    l  在其他客户端,通过mysql命令去连接MySQL Proxy机器

    mysql -uroot -proot -h192.168.10.134 -P4040

     

    MySQL分库分表之MyCat实现

    什么是分库分表

    库分表就是为了解决由于数据量过大而导致数据库性能降低的问题,将原来独立的数据库拆分成若干数据库组成,将数据大表分成若干数据表组成,使得单一数据库、单一数据表的数据量变小,从而达到提升数据库性能的目的。

    什么是MaCat

    myCat是一个开源的分布式数据库系统,是一个实现了MySQL协议的服务器,前端用户可以把它看作是一个数据库代理,用MySQL客户端工具和命令行访问,
    而其后端可以用MySQL原生协议与多个MySQL服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信,其核心功能是分表分库,即将一个大表水平分割为N个小表,存储在后端MySQL服务器里或者其他数据库里。

    MyCAT的目标是:低成本的将现有的单机数据库和应用平滑迁移到“云”端,解决数据存储和业务规模迅速增长情况下的数据瓶颈问题。

    MaCat架构

     

    MyCat原理图

    核心理念

    l  Schema:由它指定逻辑数据库

    l  Table:逻辑表

    l  DataNode:真正存储节点

    l  DataHost:真正的数据库主机

    MyCat支持水平分片与垂直分片

    水平分片:一个表格的数据分割到多个节点上,按照行分隔。

    垂直分片:一个数据库中多个表格A,B,C,A存储到节点1上,B存储到节点2上,C存储到节点3上。

    MyCAT通过定义表的分片规则来实现分片,每个表格可以捆绑一个分片规则,每个分片规则指定一个分片字段并绑定一个函数,来实现动态分片算法。

    下载mycat

    地址:https://github.com/MyCATApache

    Mycat安装

    安装rz上传文件工具

    yum install -y lrzsz

    第一步:把MyCat的压缩包上传到linux服务器

    第二步:解压缩,得到mycat目录

    tar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz

    第三步:进入mycat/bin,启动MyCat

           启动命令:./mycat start

           停止命令:./mycat stop

           重启命令:./mycat restart

     

    MyCat读写分离

    Mycat读写分离和自动切换机制,需要mysql的主从复制机制配合。

  • 相关阅读:
    桌面工具集
    运维工具集
    使用Maven插件构建Spring Boot应用程序Docker镜像
    解决Ubuntu 17.10设置面板打不开的问题
    防止Web表单重复提交的方法总结
    深入浅出mybatis之启动详解
    yum方式安装mysql
    在Java中调用Python
    UUID在Java中的实现与应用
    VM克隆后找不到eth0的问题解决
  • 原文地址:https://www.cnblogs.com/llkang/p/12142131.html
Copyright © 2020-2023  润新知