ShardingSphere-Sharding-JDBC简介 | 学习笔记

简介: 快速学习ShardingSphere-Sharding-JDBC简介。

开发者学堂课程【数据库中间件ShardingSphere详解ShardingSphere-Sharding-JDBC简介】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/666/detail/11244


ShardingSphere-Sharding-JDBC简介

 

前面课程已经介绍 ShardingSphere 中相关概念包括:什么是 ShardingSphere ,什么是分库分表。下面学习 ShardingSphere中第一个产品,名为 Sharding-JDBC,学习Sharding-JDBC 具体使用。

Sharding-JDBC简介

首先对 Sharding-JDBC 介绍,然后使用Sharding-JDBC 进行分库分表操作。首先打开 ShardingSphere官网查看 Sharding-JDBC 简介:定位为轻量级Java框架,在JavaJDBC层提供的额外服务。使用它可以使客户端直连数据库,以jar包形式提供服务,无需额外部罢和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架。JDBC 最早是由当当网开发分布式开源数据库中间件,在 3.0开始放入 ShardingSphere项目中,后来进入阿帕奇;在20204月份成为阿帕奇顶级项目,早期是当当开发的中间件,现在在 ShardingSphere 中进行使用。

1. 为轻量级Java框架,可以理解为增强版的JDBC驱动。

另外 Sharding-JDBC ShardingSphere 中第一个项目,Sharding-JDBC 支持 JDBC ORM 框架,例如:MybatisSpring JDBC Template,或直接使用 JDBC ,或者 Hibernate。支持第三方数据连接池,如: DBCP,C3PO,BoneCP,Druid,HikariCP等。支持任意实现JDBC规范的数据库。目前支持 MySQL,Oracle,SQLServer,

PostgreSQL以及任何遵循SQL92标准的数据库。这是关于Sharding-JDBC 规范,是概念上说明。

2. Sharding-JDBC作用

1)主要目的是:简化对分库分表之后数据相关操作

2.1.png

根据 ShardingSphere 官网中图进行讲解,首先 Sharding-JDBC作用并不是直接做分库分表。做操作第一部分,首先需要数据库工程师把数据库和表做拆分,即已经做好分库分表,使用 Sharding-JDBC 操作分库分表后的内容,假设现在需要向多个数据库中添加数据,向多个表中添加数据可以利用 Sharding-JDBC做到;可以理解为在正在操作中,可以看到图中 Sharding-JDBC可以操作多个数据库多个表,这个过程叫 Business Code 是已经写好的代码,在使用Sharding-JDBC 时引入 Sharding-JDBC 相关 jar包。通过一个语句就可以操作多个数据库,多个表,这个过程可以通过 Sharding-JDBC实现;可以理解为Sharding-JDBC 主要做两个功能:第一个时数据分片,第二个是读写分离。在进行操作时只需在项目中引入相关 jar 包,然后直接进行操作即可。而具体操作那些数据源,哪些表,包括那些数据库这一过程由 Sharding-JDBC 帮助实现。最终一句话可以记住:使用 Sharding-JDBC目的是简化对分库分表后基本操作。

例如把数据库分为多个库其中又分为多个表,这时如果没有 Sharding-JDBC操作时可能比较麻烦,因为现在有多个数据库又有多个表,数据库又在不同服务器上,在操作数据库1时又要操作数据库2,还需要配置多个数据源,过程比较繁琐。而使用 Sharding-JDBC 后对过程进行简化,只需要编写代码把 jar 包引入,在 Sharding-J

DBC 中做相关配置。编写代码与之前相同,只需要编写一段很简单的代码通过Sharding-JDBC帮助实现对数据库分库分表后数据的操作。由于Sharding-JDBC 支持各种框架,在编写代码时可以只写最普通的 JDBC 代码或使用MybatisHibernate等等;另外Sharding-JDBC 支持多种连接池,例如:DruidC3P0等等;包括支持多种 JDBC 数据库规范,例如 MySQL,Oracle,SQLServer等等。

这是关于什么是 Sharding-JDBC ,其目的是为了简化分库分表后数据的操作,上图很好说明了这个问题。

这是关于 Sharding-JDBC 基本介绍,下面通过具体案例学习Sharding-JDBC 怎么对分库分表后数据进行操作,通过垂直方式,水平方式时使用Sharding-JDBC怎么去做,下面做具体学习,现在主要是对概念进行学习。

相关文章
|
4月前
|
Java 关系型数据库 MySQL
JDBC学习笔记
JDBC学习笔记
|
9月前
|
SQL druid Java
JAVA进阶 JDBC技术学习笔记(四)
JAVA进阶 JDBC技术学习笔记(四)
|
9月前
|
XML Java 数据库连接
java202304java学习笔记第六十五天-ssm-声明式控制-基于xml的声明式配置-原始jdbc操作1
java202304java学习笔记第六十五天-ssm-声明式控制-基于xml的声明式配置-原始jdbc操作1
41 0
|
9月前
|
SQL druid Java
[Java]JDBC学习笔记(尚硅谷康师傅JDBC)(四)
[Java]JDBC学习笔记(尚硅谷康师傅JDBC)(四)
|
9月前
|
SQL 存储 Java
[Java]JDBC学习笔记(尚硅谷康师傅JDBC) (二)
[Java]JDBC学习笔记(尚硅谷康师傅JDBC)(二)
|
7月前
|
Java 数据库连接 数据库
JDBC学习笔记2
JDBC学习笔记2
32 0
|
7月前
|
SQL Java 关系型数据库
JDBC学习笔记
JDBC学习笔记
108 0
|
9月前
|
SQL Java 关系型数据库
JDBC学习笔记
当谈论JDBC时,我们可以将其看作是一种用于Java程序与数据库进行通信的方式。如果你想编写一个Java程序,并且希望能够连接到数据库、执行查询或更新数据,JDBC就是你需要的工具。JDBC提供了一组类和接口,可以帮助我们连接到数据库、执行SQL语句(例如查询、插入、更新和删除数据),并获取执行结果。
55 0
|
9月前
|
SQL Java 关系型数据库
|
9月前
|
存储 SQL Java
JAVA进阶 JDBC技术学习笔记(二)
JAVA进阶 JDBC技术学习笔记(二)