当前位置: 首页 > news >正文

外汇交易平台网站建设东方资产营销网站

外汇交易平台网站建设,东方资产营销网站,网站可不可以不添加源码直接添加模板,qt网站开发15天学习MySQL计划分库分表-监控-第十四天 1.介绍 1.问题分析 ​ 随着互联网及移动互联网的发展#xff0c;应用系统的数据量也是成指数式增加#xff0c;若采用但数据进行数据存储#xff0c;存在以下性能瓶颈#xff1a; IO瓶颈#xff1a;热点数据太多#xff0c;数…15天学习MySQL计划分库分表-监控-第十四天 1.介绍 1.问题分析 ​ 随着互联网及移动互联网的发展应用系统的数据量也是成指数式增加若采用但数据进行数据存储存在以下性能瓶颈 IO瓶颈热点数据太多数据库缓存不足产生大量磁盘IO效率较低。请求数据太多带宽不够网络IO瓶颈。CPU瓶颈排序分组连接查询聚合统计等SQL会耗费大量的CPU资源请求数太多CPU出现瓶颈。 ​ 分库分表的中心思想都是将数据分散存储使得单一数据库/表的数据量变小来缓解单一数据库的性能问题从而达到提升数据库性能的目的。 2.拆分策略 1.垂直拆分 2.水平拆分 3.实现技术 shardingJDBC基于AOP原理在应用程序中对本地执行的SQL进行拦截解析改写路由处理。需要自行编码配置实现只支持java语句性能较高。MyCat数据库分库分表中间件不用调整代码即可实现分库分表支持多种语言性能不及前者。 2.mycat概述 1.简介 ​ MyCat是开源的活跃的基于Java语言编写的MySQL数据库中间件。可以像使用MySQL一样使用mycat对于开发老根本感觉不到mycat的存在。 优势 性能可靠稳定强大的技术团队体系完善社区活跃 2.安装 ​ mycat是采用Java语言开发的开源数据库中间件支持windows和Linux运行环境下面介绍mycat的Linux中的环境搭建。我们需要在准备好的服务器中安装如下软件。 MySQLJDLmycat 准备JDK二进制tar包解压设置环境变量java -version 测试准备MyCat包解压将lib下的jar包进行替换与当前JDK相同的版本 3.mycat概念 3.mycat入门 ​ 由于tb_order表中的数据量很大磁盘IO及容量都达到了瓶颈现在需要对tb_order表进行数据分片分为三个数据节点每一个节点主机位于不同的服务器上具体的结构参考下图 1.部署环境 2.配置过程 在三个数据库创建三个相同的库名创建一个用户修改scheam配置文件修改server文件启动mycat文件连接mycat服务测试分表 3.分片数据库配置scheam.xml [rootlocalhost bin]# vi /usr/local/mycat/conf/schema.xml ?xml version1.0? !DOCTYPE mycat:schema SYSTEM schema.dtd mycat:schema xmlns:mycathttp://io.mycat/schema nameDB01 checkSQLschematrue sqlMaxLimit100table nameTB_ORDER dataNodedn1,dn2,dn3 ruleauto-sharding-long //schemadataNode namedn1 dataHostdhost1 databasetest /dataNode namedn2 dataHostdhost2 databasetest /dataNode namedn3 dataHostdhost3 databasetest /dataHost namedhost1 maxCon1000 minCon10 balance0writeType0 dbTypemysql dbDriverjdbc switchType1 slaveThreshold100heartbeatselect user()/heartbeatwriteHost hostmaster urljdbc:mysql://192.168.2.1:3306?useSSLfalseamp;serverTimezoneAsia/Shanghaiamp;characterEncodingutf8 userroot password1234.Com //dataHostdataHost namedhost2 maxCon1000 minCon10 balance0writeType0 dbTypemysql dbDriverjdbc switchType1 slaveThreshold100heartbeatselect user()/heartbeatwriteHost hostmaster urljdbc:mysql://192.168.2.2:3306?useSSLfalseamp;serverTimezoneAsia/Shanghaiamp;characterEncodingutf8 userroot password1234.Com //dataHostdataHost namedhost3 maxCon1000 minCon10 balance0writeType0 dbTypemysql dbDriverjdbc switchType1 slaveThreshold100heartbeatselect user()/heartbeatwriteHost hostmaster urljdbc:mysql://192.168.2.3:3306?useSSLfalseamp;serverTimezoneAsia/Shanghaiamp;characterEncodingutf8 userroot password1234.Com //dataHost /mycat:schema4.分片用户配置server.xml 配置mycat的用户及用户的权限信息 [rootlocalhost bin]# vi /usr/local/mycat/conf/server.xml user nameroot defaultAccounttrueproperty namepassword123456/propertyproperty nameschemasDB01/property/user5.连接mycat测试 [rootlocalhost ~]# mysql -h192.168.2.1 -P8066 -uroot -p mysql use DB01; mysql CREATE TABLE TB_ORDER (id BIGINT(20) NOT NULL,title VARCHAR(100) NOT NULL ,PRIMARY KEY (id) ) ENGINEINNODB DEFAULT CHARSETutf8 ;INSERT INTO TB_ORDER(id,title) VALUES(1,goods1); INSERT INTO TB_ORDER(id,title) VALUES(2,goods2); INSERT INTO TB_ORDER(id,title) VALUES(3,goods3); INSERT INTO TB_ORDER(id,title) VALUES(5000000,goods5000000); INSERT INTO TB_ORDER(id,title) VALUES(10000000,goods10000000); INSERT INTO TB_ORDER(id,title) VALUES(10000001,goods10000001); INSERT INTO TB_ORDER(id,title) VALUES(15000000,goods15000000); INSERT INTO TB_ORDER(id,title) VALUES(15000001,goods15000001);4.mycat配置 1.schema.xml ​ schema.xml作为mycat中最重要的配置文件之一涵盖了mycat的逻辑库逻辑表分片规则分片某节点及数据源的配置。 ​ 主要包含以下三组标签 schema标签datanode标签datahost标签 1.shcema标签 ​ schema标签用于定义mycat实例中的逻辑库一个mycat实例中可以有多个逻辑库可以通过scheam标签来进行划分。Mycat中的逻辑库的概念等同于MySQL中的database概念需要操作一个逻辑库下的表时也需要切换逻辑库use 核心属性 name指定自定义的逻辑库库名checkSQLschema在SQL语句操作时指定了数据库名称执行时是否自动去除true自动去除false不自动去除sqlMaxlimit如果未指定limit进行查询列表查询模式查询多少条记录 2.schema标签table ​ table标签定义了mycat中逻辑schema下的逻辑表所有需要拆分的表都需要在table标签中定义。 ​ 核心属性 name定义逻辑表表名在该逻辑库下唯一dataNode定义逻辑表所属的dataNode该属性需要与dataNode标签中name对应多个datanode逗号分割rule分片规则的名字分片规则名字是在rule.xml中定义的primaryKey逻辑表对应真实表的主键type逻辑表的类型目前逻辑表只有全局表和普通表如果未配置就是普通表全局表配置为global 3.datanode标签 ​ datanode标签中定义了mycat中的数据节点也就是我们通常说的数据分片。一个datanode标签就是一个独立的数据分片。 ​ 核心属性 name定义数据节点名称datahost数据实例主机名称引用自datahost标签中name属性database定义分片所属数据库 4.datahost标签 该标签在mycat逻辑库中作为底层标签存在直接定义了具体的数据库实例读写分离心跳语句。 核心属性 name唯一标识供上层标签使用maxCon/minCon最大连接数/最小连接数balance负载均衡策略取值0123writetype写操作分发方式0写操作转发到第一个writehost第一个挂了就切换到第二个1写操作随机分发到配置的writehost上dbdriver数据库驱动支持nativejdbc 2.rule.xml ​ rule.xml中定义所有拆分表的规则在使用过程中可以灵活的使用分片算法或者对同一个分片算法使用不同的参数它让分片过程可配置化。主要包含两类标签tableTuleFunction。 3.server.xml ​ server.xml配置文件包含了mycat的系统配置信息主要有两个重要的标签systemuser、 1.system标签 ​ 对应的系统配置项及其含义参考资料 2.user标签 priviege权限设置字段​ dml0000增 改 查 删 ​ 0为关闭1为开启5.mycat分片 1.垂直分表 ​ 场景 ​ 在业务系统中涉及以下表结构但是由于用户与订单每天都会产生大量的数据单台服务器的数据存储及处理能力是有限的可以对数据库进行拆分原有的数据库表如下。 流程 分别在三台MySQL中创建数据库shopping修改schema.xml修改server.xml测试创建表插入数据 schema.xml内容 ?xml version1.0? !DOCTYPE mycat:schema SYSTEM schema.dtd mycat:schema xmlns:mycathttp://io.mycat/schema nameSHOPPING checkSQLschematrue sqlMaxLimit100table nametb_goods_base dataNodedn1 primaryKeyid/table nametb_goods_brand dataNodedn1 primaryKeyid/table nametb_goods_cat dataNodedn1 primaryKeyid/table nametb_goods_desc dataNodedn1 primaryKeygoods_id/table nametb_goods_item dataNodedn1 primaryKeyid/table nametb_order_item dataNodedn1,dn2,dn3 primaryKeyid typeglobal/table nametb_order_master dataNodedn1,dn2,dn3 primaryKeyorder_id typeglobal/table nametb_order_pay_log dataNodedn2 primaryKeyout_trade_no/table nametb_user dataNodedn3 primaryKeyid/table nametb_user_address dataNodedn3 primaryKeyid/table nametb_areas_provinces dataNodedn3 primaryKeyid/table nametb_areas_city dataNodedn3 primaryKeyid/table nametb_areas_region dataNodedn3 primaryKeyid//schemadataNode namedn1 dataHostdhost1 databaseshopping /dataNode namedn2 dataHostdhost2 databaseshopping /dataNode namedn3 dataHostdhost3 databaseshopping /dataHost namedhost1 maxCon1000 minCon10 balance0writeType0 dbTypemysql dbDriverjdbc switchType1 slaveThreshold100heartbeatselect user()/heartbeatwriteHost hostmaster urljdbc:mysql://192.168.2.1:3306?useSSLfalseamp;serverTimezoneAsia/Shanghaiamp;characterEncodingutf8 userroot password1234.Com //dataHostdataHost namedhost2 maxCon1000 minCon10 balance0writeType0 dbTypemysql dbDriverjdbc switchType1 slaveThreshold100heartbeatselect user()/heartbeatwriteHost hostmaster urljdbc:mysql://192.168.2.2:3306?useSSLfalseamp;serverTimezoneAsia/Shanghaiamp;characterEncodingutf8 userroot password1234.Com //dataHostdataHost namedhost3 maxCon1000 minCon10 balance0writeType0 dbTypemysql dbDriverjdbc switchType1 slaveThreshold100heartbeatselect user()/heartbeatwriteHost hostmaster urljdbc:mysql://192.168.2.3:3306?useSSLfalseamp;serverTimezoneAsia/Shanghaiamp;characterEncodingutf8 userroot password1234.Com //dataHost /mycat:schemaserver.xml内容 user nameroot defaultAccounttrueproperty namepassword123456/propertyproperty nameschemasSHOPPING/property /user2.水平分表 ​ 在业务系统中有一张日志表业务系统每天都会产生大量的日志数据单台服务器的数据存储及处理能力是有限的可以对数据库表进行拆分。 ​ 对tb_log表进行拆分 1.schema.xml配置 schema nameITCAST checkSQLschematrue sqlMaxLimit100table nametb_log dataNodedn4,dn5,dn6 primaryKeyid rulemod-long/ /schemadataNode namedn4 dataHostdhost1 databaseitcast /dataNode namedn5 dataHostdhost2 databaseitcast /dataNode namedn6 dataHostdhost3 databaseitcast /2.server.xml的配置 user nameroot defaultAccounttrueproperty namepassword123456/propertyproperty nameschemasSHOPPING,ITCAST/property /user6.分片规则 1.范围分片 ​ 根据指定的字段及其配置的范围与数据节点的对应情况来决定该数据属于哪一个分片 ​ 自定义分片范围 2.取模分片 ​ 根据指定的字段值与节点数量进行求模运算根据运算结构来决定该数据属于哪个分片。 ​ 取模分片配置 3.一致性hash ​ 所谓一致性哈希相同的哈希因子计算值总是被划分到相同的分区表中不会因为分区节点的增加而改变原来的数据的分区位置。 ​ 一致性hash配置 ​ 通过在配置文件中配置可能的枚举值指定数据分布到不同数据节点上本规则适用于按照省份性别状态拆分数据等业务。 ​ 枚举分片配置 5.应用指定算法 ​ 运行阶段由应用自主决定路由到那个分片直接根据字符字串必须是数字计算分片 ​ 应用指定算法配置 6.固定hash算法 ​ 该算法类似于十进制的求模运算但是为二进制操作例如取id的二进制低10位与11111111111进行位运算。 ​ 固定hash算法配置 7.字符串hash解析 ​ 截取字符串中的指定位置的子字符串进行hash算法算出存储分片位置。 8.按天分片 ​ 按天来进行分片 9.按自然月分片 ​ 使用场景为按照月份来分片每个自然月为一个分片 7.mycat管理与监控 1.mycat原理 2.mycat管理 ​ mycat默认开通2个端口可以在server.xml中进行修改 8066数据访问端口即进行DML和DDL操作9066数据库管理端口即mycat服务管理控制功能用于管理mycat的整个集群状态 mysql -h 192.168.2.1 -P 9066 -uroot -p123455常用命令 命令含义show help查看mycat管理工具帮助文档show version查看mycat的版本reload config重载加载mycat的配置文件show datasource查看mycat的数据源信息show datanode查看mycat现有的分片系节点信息show threadpool查看mycat的线程池信息show sql查看执行的SQLshow sql.sum查看执行的SQL统计 8.mycat-eye 1.介绍 ​ mycat-webmycat-eye是对mycat-server提供监控服务功能不局限于对mycat-server使用。他通过JDBC连接mycatmysql监控监控远程服务器目前仅限于Linux系统的cpu内存网络磁盘。 ​ mycat-eye运行过程中需要zookeeper因此需要先安装zookeeper。 zookeeper安装mycat-web安装web访问http://192.168.2.1:8082/mycat 2.添加设备测试即可 9.总结 1.分库分表介绍 ​ 核心将单台数据库服务器器的数据分散垂直拆分水平拆分存储在多台数据库中 2.mycat概述 ​ mycat是一个开源的分库分表的中间件 3.mycat入门 ​ 入门程序 4.mycat配置 ​ schema.xmlrule.xmlserver.xml 5.mycat分片 ​ 分片规则范围取模枚举一致性hash固定分片hash算法字符串hash解析算法按天分片按自然月分片 6.mycat管理及监控 提供监控服务功能不局限于对mycat-server使用。他通过JDBC连接mycatmysql监控监控远程服务器目前仅限于Linux系统的cpu内存网络磁盘。 ​ mycat-eye运行过程中需要zookeeper因此需要先安装zookeeper。 zookeeper安装mycat-web安装web访问http://192.168.2.1:8082/mycat 2.添加设备测试即可 9.总结 1.分库分表介绍 ​ 核心将单台数据库服务器器的数据分散垂直拆分水平拆分存储在多台数据库中 2.mycat概述 ​ mycat是一个开源的分库分表的中间件 3.mycat入门 ​ 入门程序 4.mycat配置 ​ schema.xmlrule.xmlserver.xml 5.mycat分片 ​ 分片规则范围取模枚举一致性hash固定分片hash算法字符串hash解析算法按天分片按自然月分片 6.mycat管理及监控 ​ 原理管理监控工具
http://www.dnsts.com.cn/news/214358.html

相关文章:

  • 网站运营和维护在哪里可以看直播免费的
  • 浙江做铁塔的公司网站公司注册资金最低是多少
  • 电子商务网站基本功能品牌建设交流会讲话
  • 网站建设岗位是干什么的青海电商网站建设公司
  • 英国免费做网站如何创建一个免费的网站
  • 颜色选取网站小程序商城开源
  • 个人网站做淘宝客容易封吗河北网站建设推广
  • 集团为什么做网站网站不收录怎么办
  • 用户注册网站开发关联词有哪些四年级
  • 站长基地gif网站素材嵌入式软件开发和硬件开发区别
  • 苏州市郭巷建设局网站朔州怀仁网站建设
  • 企业网官方网站蚌埠公司注册
  • 销售网站的销量统计怎么做网站正在建设中......
  • 网站建设包括的内容网站培训视频
  • 北京市城市建设档案馆网站咖啡的网站建设策划书
  • 东莞设计网站服务的公司网站建设计入什么科目
  • 宁波网站建设鲤斯设计昌大建设是哪里的
  • 12306网站为什么做不好使三亚婚纱摄影 织梦网站源码
  • 网站建设合同协议第一模板网站
  • 四川杰新建设工程网站淘宝可以在哪些网站上面打做推广
  • 网站建设方案如何写聚焦婚纱摄影
  • 主机屋网站wordpress 本地视频链接
  • 网站建设验收合同模板yum nginx wordpress
  • 网站不收录排名会降吗网站建设数据库怎么传送
  • 印尼网站建设费用广州网页设计培训视频
  • 综合电商网站建设需求文档深圳专业网站建设要求
  • 织梦做双语版网站网站建设中故障排除方法
  • 广电如何做视频网站网站怎样盈利
  • 建网站最低需要多少钱深圳优化公司公认安高粱seo
  • 教育网站解决方案网站建设小程序开发公司