3.6.3.2 安装1). zookeeper安装2). Mycat-web安装具体的安装步骤,请参考资料中提供的《MyCat-Web安装文档》3.6.3.3 访问http://192.168.200.210:8082/mycat3.6.3.4 配置1). 开启MyCat的实时统计功能(server.xml)<property name="useSql ......
360
0
0
2022-11-23
3.6 MyCat管理及监控3.6.1 MyCat原理在MyCat中,当执行一条SQL语句时,MyCat需要进行SQL解析、分片分析、路由分析、读写分离分析等操作,最终经过一系列的分析决定将当前的SQL语句到底路由到那几个(或哪一个)节点数据库,数据库将数据执行完毕后,如果有返回的结果,则将结果返回给MyCat,最终还需要在MyCat中进行结果合并、聚合处理 ......
349
0
0
2022-11-23
3.5.3.9 自然月分片1). 介绍使用场景为按照月份来分片, 每个自然月为一个分片。2). 配置schema.xml中逻辑表配置:<!-- 按自然月分片 --> <table name="tb_monthpart" dataNode="dn4,dn5,dn6" rule="sharding-by-month" /> schem ......
338
0
0
2022-11-23
3.5.3.8 按天分片算法1). 介绍按照日期及对应的时间周期来分片。2). 配置schema.xml中逻辑表配置:<!-- 按天分片 --> <table name="tb_datepart" dataNode="dn4,dn5,dn6" rule="sharding-by-date" /> schema.xml中数据节点配置 ......
359
0
0
2022-11-23
3.5.3.7 字符串hash解析算法1). 介绍截取字符串中的指定位置的子字符串, 进行hash算法, 算出分片。2). 配置schema.xml中逻辑表配置:<!-- 字符串hash解析算法 --> <table name="tb_strhash" dataNode="dn4,dn5" rule="sharding-by-string ......
369
0
0
2022-11-23
3.5.3.6 固定分片hash算法1). 介绍该算法类似于十进制的求模运算,但是为二进制的操作,例如,取 id 的二进制低 10 位 与1111111111 进行位 & 运算,位与运算最小值为 0000000000,最大值为1111111111,转换为十进制,也就是位于0-1023之间。特点:如果是求模,连续的值,分别分配到各个不同的分片;但是此算 ......
331
0
0
2022-11-23
3.5.3.5 应用指定算法1). 介绍运行阶段由应用自主决定路由到那个分片 , 直接根据字符子串(必须是数字)计算分片号。2). 配置schema.xml中逻辑表配置:<!-- 应用指定算法 --> <table name="tb_app" dataNode="dn4,dn5,dn6" rule="sharding-by-substri ......
355
0
0
2022-11-23
3.5.3.4 枚举分片1). 介绍通过在配置文件中配置可能的枚举值, 指定数据分布到不同数据节点上, 本规则适用于按照省份、性别、状态拆分数据等业务 。2). 配置schema.xml中逻辑表配置:<!-- 枚举 --> <table name="tb_user" dataNode="dn4,dn5,dn6" rule="shardin ......
354
0
0
2022-11-23
3.5.3.3 一致性hash分片1). 介绍所谓一致性哈希,相同的哈希因子计算值总是被划分到相同的分区表中,不会因为分区节点的增加而改变原来数据的分区位置,有效的解决了分布式数据的拓容问题。2). 配置schema.xml中逻辑表配置:<!-- 一致性hash --> <table name="tb_order" dataNode="d ......
399
0
0
2022-11-23
3.5.3.2 取模分片1). 介绍根据指定的字段值与节点数量进行求模运算,根据运算结果, 来决定该数据属于哪一个分片。2). 配置schema.xml逻辑表配置:<table name="tb_log" dataNode="dn4,dn5,dn6" primaryKey="id" rule="mod-long" /> schema.xml数据 ......
339
0
0
2022-11-23
3.5.2.4 测试配置完毕后,重新启动MyCat,然后在mycat的命令行中,执行如下SQL创建表、并插入数据,查看数据分布情况。CREATE TABLE tb_log ( id bigint(20) NOT NULL COMMENT 'ID', model_name varchar(200) DEFAULT NULL COMMENT '模块名', ......
338
0
0
2022-11-23
3.5.2 水平拆分3.5.2.1 场景在业务系统中, 有一张表(日志表), 业务系统每天都会产生大量的日志数据 , 单台服务器的数据存储及处理能力是有限的, 可以对数据库表进行拆分。3.5.2.2 准备准备三台服务器,具体的结构如下:并且,在三台数据库服务器中分表创建一个数据库itcast。3.5.2.3 配置1). schema.xml<schem ......
363
0
0
2022-11-23
3.5.1.5 全局表对于省、市、区/县表tb_areas_provinces , tb_areas_city , tb_areas_region,是属于数据字典表,在多个业务模块中都可能会遇到,可以将其设置为全局表,利于业务操作。修改schema.xml中的逻辑表的配置,修改 tb_areas_provinces、tb_areas_city、tb_area ......
314
0
0
2022-11-23
3.5.1.4 测试1). 上传测试SQL脚本到服务器的/root目录2). 执行指令导入测试数据重新启动MyCat后,在mycat的命令行中,通过source指令导入表结构,以及对应的数据,查看数据分布情况。source /root/shopping-table.sql source /root/shopping-insert.sql 将表结构及对应的 ......
312
0
0
2022-11-23
3.4.2 rule.xmlrule.xml中定义所有拆分表的规则, 在使用过程中可以灵活的使用分片算法, 或者对同一个分片算法使用不同的参数, 它让分片过程可配置化。主要包含两类标签:tableRule、Function。3.4.3 server.xmlserver.xml配置文件包含了MyCat的系统配置信息,主要有两个重要的标签:system、user ......
320
0
0
2022-11-23