01、ShardingJDBC实战:介绍和基本原理

接下来的几篇文章将通过理论和代码操作实例的方式快速入门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个表中,达到垂直拆分的效果。此种方式不再赘述,这里详细说明水平拆分的方式。

版权声明:本文不是「本站」原创文章,版权归原作者所有 | 原文地址: