
分布式数据库中间件
文章平均质量分 58
分布式数据库中间件
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
不死鸟.亚历山大.狼崽子
太极计算机股份有限公司系统架构师,从事ios、.net、flex、java等开发
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Sharding-Jdbc(6):Sharding-Jdbc日志分析
Sharding-JDBC中的路由结果是通过分片字段和分片方法来确定的,如果查询条件中有 id 字段的情况还好,查询将会落到某个具体的分片;如果查询没有分片的字段,会向所有的db或者是表都会查询一遍,然后封装结果级给客户端。查看日志会发现有2条查询语句,因为orderid不是分片字段,会向所有的db或者是表都会查询一遍,然后封装结果级给客户端。查看日志会发现有1条查询语句,因为userid是分片字段,查询将会落到某个具体的分片。将配置文件中的开启分片日志从false改为true。原创 2023-12-18 14:22:29 · 735 阅读 · 0 评论 -
Sharding-Jdbc(3):Sharding-Jdbc分表
2.1 数据库表结构。原创 2023-12-03 16:43:23 · 549 阅读 · 0 评论 -
Sharding-Jdbc(1):Sharding-Jdbc介绍
Sharding-Jdbc在3.0后改名为Shardingsphere它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(计划中)这3款相互独立的产品组成。他们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如Java同构、异构语言、容器、云原生等各种多样化的应用场景。Sharding-Sphere定位为关系型数据库中间件,旨在充分合理地在分布式的场景下利用关系型数据库的计算和存储能力,而并非实现一个全新的关系型数据库。原创 2023-09-09 13:24:04 · 408 阅读 · 0 评论 -
Sharding-Jdbc(4):Sharding-Jdbc分库
分库算法类需要实现SingleKeyDatabaseShardingAlgorithm接口。原创 2023-12-03 18:02:19 · 751 阅读 · 0 评论 -
Sharding-Jdbc(2):Sharding-Jdbc入门案例
搭建读写分离的数据库环境,搭建方法如下文,目标数据库test。到这里sharding-jdbc配置完毕,下面写配置业务。读取ds_master主数据源和读写分离配置。读取jdbc的配置文件。原创 2023-09-10 11:33:12 · 253 阅读 · 0 评论 -
Sharding-Jdbc(5):Sharding-Jdbc通过配置文件形式配置分表
查看数据库已分库插入。原创 2023-12-18 13:38:32 · 516 阅读 · 0 评论 -
Mycat(19):mycat全局主键的生成方式之雪花算法
twitter开源分布式生成id算法。优点:基本解决了所有问题缺点:每个节点时间可能不同,生成id是整体趋势递增的。原创 2022-12-22 15:35:31 · 309 阅读 · 0 评论 -
Mycat(18):mycat全局主键的生成方式之zookeeper方式
分布式zookeeper生成ID。原创 2022-12-22 15:18:23 · 207 阅读 · 0 评论 -
Mycat(17):mycat全局主键的生成方式之本地时间戳方式
本地时间戳方式:使用时间戳方式。原创 2022-12-21 19:02:14 · 222 阅读 · 0 评论 -
Mycat(16):mycat全局主键的生成方式之本地文件方式
本地文件方式:使用服务器本地磁盘文件的方式。原创 2022-12-21 18:45:54 · 173 阅读 · 0 评论 -
MySQL集群解决方案(3):MyCat中间件
Mycat的介绍和安装我这里就不写了,不会的,去看我mycat的主题,后续的教程,都是基于mycat专题的环境进行的,不会的可以自己去看一下。下面我们准备一下mycat的集群。原创 2022-12-20 23:55:05 · 261 阅读 · 0 评论 -
Mycat(15):全局ID的概述
如果ID是连续的,恶意用户的扒取工作就很容易了,直接按顺序下载指定的URL就行,如果订单号就更危险了,竞争对手可以直接知道我们一天的单量。在Mysql的InnoDb引擎中使用的是聚集索引,由于多数据的RDBMS使用的是Btree的数据结构来存储索引数据,在主键的选择上面我们应该尽量敷衍有序的主键保存写入性能。使用数据库的自动增长(auto_increment),是比较简单和常见的ID生成方案,数据库内部可以确保生成id的唯一性。从以上可以从出,一个能够生成全局唯一ID的系统是非常必要的。原创 2022-12-20 23:23:09 · 873 阅读 · 0 评论 -
Mycat(14):ER表的配置和测试
主表customer主键为id,关联表orders主键id,customer_id列映射customer表里面id,order_items表 ,无主键,order_id列映射orders 里面的主键id。根据这一思路,提出了基于 E-R 关系的数据分片策略,子表的记录与所关联的父表记录存放在同一个数据分片上,即子表依赖于父表,通过表分组(Table Group)保证数据 Join 不会跨库操作。这样一种表分组的设计方式是解决跨分片数据 join 的一种很好的思路,也是数据切分规划的重要一条规则。原创 2022-12-20 23:05:59 · 209 阅读 · 0 评论 -
Mycat(13):全局表和普通表的配置和测试
一个真实的业务系统中,往往存在大量的类似字典表的表格,它们与业务表之间可能有关系,这种关系,可以理解为“标签”,而不应理解为通常的“主从关系”,这些表基本上很少变动,可以根据主键 ID进行缓存,下面这张图说明了一个典型的“标签关系”图:在分片的情况下,当业务表因为规模而进行分片以后,业务表与这些附属的字典表之间的关联,就成了比较棘手的问题,考虑到字典表具有以下几个特性:变动不频繁数据量总体变化不大数据规模不大,很少有超过数十万条记录。原创 2022-12-20 22:53:08 · 522 阅读 · 0 评论 -
Mycat(12):分片详解之自然月分片
按月份列分区 ,每个自然月一个分片,格式 between操作解析的范例。dateFormat : 日期字符串格式。columns: 分片字段,字符串类型。sBeginDate : 开始日期。原创 2022-12-20 14:50:43 · 136 阅读 · 0 评论 -
Mycat(11):分片详解之字符串ID处理
以后只要使用到字符串的id 类型,就使用jch的算法就ok 了。原创 2022-12-20 14:43:08 · 594 阅读 · 0 评论 -
Mycat(10):分片详解之固定分片hash算法
配置说明: 上面columns 标识将要分片的表字段,algorithm 分片函数, partitionCount 分片个数列表,partitionLength 分片范围列表 分区长度:默认为最大2^n=1024 ,即最大支持1024分区 约束 : count,length两个数组的长度必须是一致的。此算法的优点在于如果按照 10进制取模运算,在连续插入1-10 时候1-10会被分到1-10个分片,增 大了插入的事务控制难度,而此算法根据二进制则可能会分到连续的分片,减少插入事务事务控制难度。原创 2022-12-20 14:32:49 · 610 阅读 · 0 评论 -
Mycat(9):分片详解之auto-sharding-long
规则文件为 autopartition-long.txt,db1 的表里面,写满500w,才进第二个里面写数据。当数据达到500w 时,才进行分库分表。缺点:没有里面写的负载均衡效果。优点:没有跨区回滚事务的风险。原创 2022-12-20 12:53:07 · 266 阅读 · 0 评论 -
Mycat(8):分片详解之取模
配置说明: 上面columns 标识将要分片的表字段,algorithm 分片函数, 此种配置非常明确即根据id进行十进制求模预算,相比固定分片hash,此种在批量插入时可能存在批量插入单 事务插入多数据分片,增大事务一致性难度。缺点:批量写入,失败后事务的回滚有难度!db1 db2 db3 (跨数据库的回滚,非常难,很耗费性能)当id=1 时 1%3=1 所以数据到db2。当id=2 时 2%3=2 所以数据到db3。当id=3 时 3%3=0 所以数据到db1。第99 条失败了,执行数据的回滚!原创 2022-12-19 23:22:24 · 381 阅读 · 0 评论 -
Mycat(7):分片详解之枚举
上面columns 标识将要分片的表字段,algorithm 分片函数, 其中分片函数配置中,mapFile标识配置文件名称,type默认值为0,0 表示Integer,非零表示String, 所有的节点配置都是从0开始,及 0代表节点1。如果不配置默认节点(defaultNode值小于0 表示不配置默认节点),碰到 不识别的枚举值就会报错, * like this:can’t find datanode for shardin。默认节点的作用:枚举分片时,如果碰到不识别的枚举值,就让它路由到默认节点。原创 2022-12-19 23:06:56 · 480 阅读 · 0 评论 -
Mycat(6):mycat简单配置
2. balance="1",全部的 readHost 与 stand by writeHost 参与 select 语句的负载均衡,简单的说,当双主双从模式(M1->S1,M2->S2,并且 M1 与 M2 互为主备),正常情况下,M2,S1,S2 都参与 select 语句的负载均衡。4. balance="3",所有读请求随机的分发到 wiriterHost 对应的 readhost 执行,writerHost 不负担读压力,注意 balance=3 只在 1.4 及其以后版本有,1.3 没有。原创 2022-12-19 21:01:14 · 600 阅读 · 0 评论 -
Mycat(5):server.xml配置
server.xml配置原创 2022-12-19 12:58:24 · 228 阅读 · 0 评论 -
Mycat(4):mycat名词解释
是指那些原有的很大数据的表,需要切分到多个表,这样,每个分片都有表的一部分数据,所有分片数据的合集构成了完整的表数据,如图一种中MYCAT服务区的users表即是分片表,通过userID字段取模的方式进行数据的水平切分。逻辑表的数据来源,可以是数据进行切分后,分布在一个或多个分片库中,针对不同的数据分布和管理特点,我们将逻辑表又分为分片表、全局表、ER表、非分片表五种逻辑表类型。一个数据库中并不是所有的表都很大,某些表是可以不用进行切分的,非分片是相对分片表来说的,就是那些不需要进行数据切分的表。原创 2022-12-17 23:33:37 · 534 阅读 · 0 评论 -
Mycat(3):mycat的安装
使用mycat要安装JDK.不会的去看Linux里面的安装JDK的知识点,这是不再做说明也可以直接使用yum install java-1.7.0-openjdk 因为mycat 基于jdk1.7开发的,所有最好安装jdk1.7的版本重要说明:Mycat-server-1.6-release 版本发布的版本是基于jdk1.7开发的,所在要安装JDK1.7Mycat-server-1.6.7.1-release 版本发布更新成了JDK1.8所以要安装JDK1.8下面的教程是使用JDK1.8。原创 2022-12-17 23:24:18 · 655 阅读 · 0 评论 -
Mycat(2):mysql的集群搭建
1.1 是什么集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益,其任务调度则是集群系统中的核心技术。MySQL集群技术在分布式系统中为MySQL数据提供了冗余特性,增强了安全性,使得单个MySQL服务器故障不会对系统产生巨大的负面效应,系统的稳定性得到保障。1.2 优点高可伸缩性:服务器集群具有很强的可伸缩性。随着需求和负荷的增长,可以向集群系统添加更多的服务器。在这样的配置中,可以有多台服务器执行相同的应用和数据库操作。原创 2022-12-17 18:01:10 · 968 阅读 · 0 评论 -
Mycat(1):Mycat简介
MyCat是目前最流行的分布式数据库中间插件,是一个开源的分布式数据库系统,是一个实现了MySQL协议的服务器,前端用户可以把它看作是一个数据库代理,用MySQL客户端工具和命令行访问,而其后端可以用MySQL原生协议与多个MySQL服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信,其核心功能是分表分库,即将一个大表水平分割为N个小表,存储在后端MySQL服务器里或者其他数据库里。原创 2022-12-17 00:59:52 · 751 阅读 · 0 评论