MyCat - 分片 - 分片规则 - 应用指定算法 | 学习笔记

简介: 快速学习 MyCat - 分片 - 分片规则 - 应用指定算法

开发者学堂课程【全面讲解开源数据库中间件MyCat使用及原理(二):MyCat - 分片 - 分片规则 - 应用指定算法】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/756/detail/13272


MyCat - 分片 - 分片规则 - 应用指定算法

内容介绍:

一、应用指定算法

二、测试

 

一、应用指定算法

1.简介

应用指定算法分片指的是在运行阶段由应用程序自主决定当前这条数据路由到哪个分片,直接根据字符子串(必须是数字)继续的分片号,然后再路由到对应的分片。

2.配置如下

<tableRule name =" arding - by - substring ">

< rule >

< columns > ids / columns >

xalgorithm > sharding - by - substring </ algorithm >

</ rule >

</ t ableRule >

< function name =" sharding - by - substring " class =" io . mycat . route . function . PartitionDirectBySubString ">

< property name =" startIndex ">0</ property ><!-- zero - bas ed --> xproperty name =" size ">2</ property >

< property name =" partitionCount ">3</ pr operty >

< property name =" defaultPartition '>0</ property ></ funct ion >

首先是分片规则安照哪个字段进行分片,然后来指定分片法,下面要配置分片结果的处理类,指定 startIndex 起始索引,这个起始索引指的是子字符串的起始索引,从哪个位置开始截取子字符串,size 截取的长度是多长,partitionCount 指的是分片的数量,默认的分片为零,假如在这里插入了一个 ID,它的值是 05-100000002,按照刚才的配置从第一位开始截取,截取长度是两个,截取出来的就是 05,这两位代表的就是他获得的分区号,如果 05 一共有五个分区,他就会存储在这个分区中,如果没有,他会使用默认分区。

 

二、测试

1.配置

<table name =" tb _ app " dataNode ="dn1,dn2,dn3" rule =" sharding - by - substring "/>

首先配置一个逻辑表,在 schema.xml 中进行配置,然后需要进行配置分配规则,分片规则需要使用 sharding - by - substring

<tableRule name =" sharding - by - substring "

xrule >

< columns > id </ columns >

< algorithm > sharding - by - substring </ algorithm ></ rule >

</tab1eRule

还需要分片的函数

< function name =" sharding - by - substring " class =" io . mycat . route . function . PartitionDirectBySubString ">

< property name =" startIndex ">0</ property ><!-- zero - bas ed --> xproperty name =" size ">2</ property >

< property name =" partitionCount ">3</ pr operty >

< property name =" defaultPartition '>0</ property ></ funct ion >

这里面的属性都不用改变,这些属性已经配置好了,还需要重启 my cat,My cat 重启,完成之后,再次重新连接这个 mycat,mycat 重新连接后执行指令 show tables 查看一下里面的表,刚才所设置的表 APP 已经有了。

image.png

接下来需要创建表结构,插入数据

2.数据

CREATE TABLE ‘ tb _ app (

id varchar (10) NOT NULL cOMMENT ‘ ID ',

name varchar (200) DEFAULT NULL cOMMENT ‘名称’,

PRIMARY KEY ( id )

) ENGINE = InnoDB DEFAULT CHARSET = ut f8mb4; I

执行,表结构已经创建好了,接下来再像这张表结构中插入数据

insert into tb _ app ( id , name ) values ('00-00001','Testx00001');

insert into tb _ app ( id , name ) values ('01-00001",'Test100001');

insert into tb _ app ( id , name ) values ('01-00002','Test200001');

insert into tb _ app ( id , name ) values ('02-00001','Test300001');

insert into tb _ app ( id , name ) values ('02-00002','TesT400001');

数据插入进来以后,执行select*from tb_app

image.png

这五条数据都已经有了,接下来需要知道这五条数据到底存储在哪个节点当中,select*from tb_app 第一个中有,select*from tb_app 第二个中也有,select*from tb_app 第三个中也有,在插入数据时,前两位 00,01,01,02,02这些就是指定分片,00 指定第一个分片,01 指定第二个分片,零二指定第三个分片,接下来还想插入一条数据

insert into tb _ app ( id , name ) values ('00-00003','Testx00001');让这条数据在第一个分片中就是 00,接下来再来看第一个分片

image.png

00003 就已经进来了,这就是应用指定分配

相关文章
|
21天前
|
存储 监控 算法
员工上网行为监控中的Go语言算法:布隆过滤器的应用
在信息化高速发展的时代,企业上网行为监管至关重要。布隆过滤器作为一种高效、节省空间的概率性数据结构,适用于大规模URL查询与匹配,是实现精准上网行为管理的理想选择。本文探讨了布隆过滤器的原理及其优缺点,并展示了如何使用Go语言实现该算法,以提升企业网络管理效率和安全性。尽管存在误报等局限性,但合理配置下,布隆过滤器为企业提供了经济有效的解决方案。
68 8
员工上网行为监控中的Go语言算法:布隆过滤器的应用
|
21天前
|
存储 缓存 算法
探索企业文件管理软件:Python中的哈希表算法应用
企业文件管理软件依赖哈希表实现高效的数据管理和安全保障。哈希表通过键值映射,提供平均O(1)时间复杂度的快速访问,适用于海量文件处理。在Python中,字典类型基于哈希表实现,可用于管理文件元数据、缓存机制、版本控制及快速搜索等功能,极大提升工作效率和数据安全性。
54 0
|
2月前
|
机器学习/深度学习 人工智能 算法
探索人工智能中的强化学习:原理、算法与应用
探索人工智能中的强化学习:原理、算法与应用
|
2月前
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
61 1
|
2月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
79 1
|
2月前
|
缓存 算法 网络协议
OSPF的路由计算算法:原理与应用
OSPF的路由计算算法:原理与应用
79 4
|
2月前
|
机器学习/深度学习 监控 算法
基于反光衣和检测算法的应用探索
本文探讨了利用机器学习和计算机视觉技术进行反光衣检测的方法,涵盖图像预处理、目标检测与分类、特征提取等关键技术。通过YOLOv5等模型的训练与优化,展示了实现高效反光衣识别的完整流程,旨在提升智能检测系统的性能,应用于交通安全、工地监控等领域。
|
2月前
|
存储 算法 网络协议
OSPF的SPF算法介绍:原理、实现与应用
OSPF的SPF算法介绍:原理、实现与应用
98 3
|
2月前
|
机器学习/深度学习 JSON 算法
二叉树遍历算法的应用场景有哪些?
【10月更文挑战第29天】二叉树遍历算法作为一种基础而重要的算法,在许多领域都有着不可或缺的应用,它为解决各种复杂的问题提供了有效的手段和思路。随着计算机科学的不断发展,二叉树遍历算法也在不断地被优化和扩展,以适应新的应用场景和需求。
71 0
|
2月前
|
机器学习/深度学习 人工智能 算法
探索人工智能中的强化学习:原理、算法及应用
探索人工智能中的强化学习:原理、算法及应用

热门文章

最新文章