【教程】shadingjdbc(一)介绍和基本原理

本文作为ShardingJDBC教程的第一部分,介绍了ShardingJDBC的基本原理和分库分表策略,包括垂直拆分、水平拆分(如根据取模、日期和一致性Hash)以及其解决的数据库压力问题。ShardingJDBC支持Mysql等多种数据库,通过SQL解析、路由、改写和执行来实现数据分片操作。
摘要由CSDN通过智能技术生成

接下来的几篇文章将通过理论和代码操作实例的方式快速入门shadingjdbc(5.0版本)。

简单介绍

shardingjdbc是一个用来分库分表的框架是shadingsphere 的一个子项目。

shadingsphere 截止目前包含了3个产品,JDBC,Proxy 和 Sidecar。shadingsphere在 2020

年已经是apache顶级项目。

官网地址: ShardingSphere

shardingjdbc 主要的功能是针对支持jdbc 规范的关系型数据库做分库分表等操作。

支持的数据库有 Mysql,openGauss,postgreSQL,SQLServer,Oracle,SQL92

为什么要分库分表

在实际开发场景中,会遇到有些数据表数据量比较大的场景,而mysql对数据量的承受能力是有限的,比如当单表数据量超过一定的数量,单表通过索引查询会遇到一个性能瓶颈,查询会比较的慢。那么就需要考虑分表查询和存储。随着业务的发展和并发量的增加,即使分了表,单台数据库的性能压力还会比较大,主要体现在CPU,IO,内存等压力并没有分解,那么需要对数据进行分库存储分担查询压力。

一句话:分库分表解决了数据库表存储容量和单台数据库压力的问题。

怎么分库分表

垂直拆分

将一个表的不同字段放到不同的表中。比较一个用户信息表,有一些基本信息比如用户名 姓名 手机号等  还有一些比如个人等级,个人积分等,将这些不同的类似的信息放到不同的2个表中,达到垂直拆分的效果。此种方式不再赘述,这里详细说明水平拆分的方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值