首页 > 其他分享 >ShardingJDBC 01_概念及主要功能

ShardingJDBC 01_概念及主要功能

时间:2023-07-02 23:00:50浏览次数:44  
标签:01 Java 数据库 概念 JDBC Sharding ShardingJDBC 分布式

1 ShardingJDBC 是什么

Sharding-JDBC 是 Apache ShardingSphere 生态圈中一款开源的分布式数据库第三方组件。

ShardingSphere 由 Sharding-JDBC、Sharding-Proxy 和 Sharding-Sidecar 3款相互独立的产品组成。

它们均提供标准化的数据分片、分布式事务和数据库治理功能,适用于 Java 同构、异构语言、容器、云原生等各种多样化的应用场景。

Sharding-JDBC 定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。

使用客户端直连数据库, 以 jar 包形式提供服务,无需额外部署和依赖,可视为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM 框架的使用。

  • 适用于任何基于Java的ORM框架

如:JPA、Hibernate、 Mybatis、 Spring JDBC Template 或直接使用 JDBC。

  • 基于任何第三方的数据库连接池

如:DBCP、 C3P0、 BoneCP、 Druid、 HikariCP等。

  • 支持任意实现JDBC规范的数据库

目前支持 MySQL、Oracle、SQLServer 和 PostgreSQL。

2 ShardingJDBC 的主要功能

  • 数据分片
  1. 分库
  2. 分表
  3. 读写分离
  4. 分片策略
  5. 分布式主键
  • 分布式事务
  1. 标准化的事务接口
  2. XA强一致性事务
  3. 柔性事务
  • 数据库治理
  1. 配置动态化
  2. 编排和治理
  3. 数据脱敏
  4. 可视化链路追踪


标签:01,Java,数据库,概念,JDBC,Sharding,ShardingJDBC,分布式
From: https://blog.51cto.com/u_113754/6607534

相关文章

  • 01-变量
    为什么需要变量?变量是程序的基本组成单位(不论使用哪种高级程序语言编写程序,变量都是其程序的基本组成单位)变量的概念变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房间,而通过变量名可以访问到变量(值)变量三要素:变量=变量......
  • P1025 [NOIP2001 提高组] 数的划分
    https://www.luogu.com.cn/problem/P1025#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>usingnamespacestd;constintN=10;intn,k;intans;intst[N];voiddfs(intlast,intleft,intstep)//利用last来......
  • 12.1 内部类基本概念
    democlassOuter{ //外部类 privateStringmsg="www.mldn.cn"; //私有成员属性 publicvoidfun(){ //普通方法 Innerin=newInner(); //实例化内部类对象 in.print(); //调用内部类方法 } classInner{ //......
  • 【经典例题】P6822 [PA2012] Tax
    考虑边拆成点。然后经过这些点的路径就是答案的路径。考虑直接起点,终点连边。然后我们考虑转移两条出边入边的过程。是\((a,b)\to(b,c)\)考虑到反向边是一致的所以可以\((b,a)\to(b,c)\)。这个启发我们反向边之间可以连一条\(w\)的边。然后我们考虑按w排序,然后......
  • Linux 图形栈从入门到放弃 --- Linux 图形相关概念简介
    PS:要转载请注明出处,本人版权所有。PS:这个只是基于《我自己》的理解,如果和你的原则及想法相冲突,请谅解,勿喷。环境说明  无前言  在日常生活中,像我们常用的ubuntu(Linux),windows,android,mac等等系统,我们都能够看到丰富的图形界面。此外,如果大家了解过以前的嵌入式系统,很多......
  • Snap算法学习01-03Snap中的类及其定义
        //graph.h定义的基本类型无向图  ///Undirectedgraph.##TUNGraph::ClassclassTUNGraph 有向图///Directedgraph.##TNGraph::ClassclassTNGraph 二部图///Bipartitegraph.##Bipartite_graphclassTBPGraph 多重图///Directedmultigr......
  • P7316 [COCI2018-2019#3] NLO
    考虑延续GDKOI普及组签到题的做法。先枚举\((x,y)\)考虑他会更新哪些节点,那么这个在GDKOI上是体现在一个差分上面。这里\(n\)很大而\(k\)很小,那么我们就可以考虑枚举\(n\)和\(k\),但是使用线段树来做。但是注意到一个事情,我们做区间赋值附的不是简单的$0/1$......
  • P5471 [NOI2019] 弹跳
    我只会签到题.jpg。显然可以使用二维线段树优化建图拿到一定的部分分,但是这并不优秀。考虑从值域上来入手dijkstra。看做是装置间的最短路顺带更新节点,那么我们可以写一个树套树来维护这一些待更新的点,因为dist是递增的,所以可以更新后删去这些点,然后就可以\(n\logn\)的空......
  • P3519 [POI2011]ROZ-Difference
    考虑枚举最大的字母所处的位置\(i\)作为端点和最小的字母\(j\)。然后就有记录一下前缀出现次数\(cnt\),枚举一个区间。\[cnt_{i,ch_i}-cnt_{i,j}-(cnt_{i',ch_i}-cnt_{i',j})\]求这个式子最大值。显然这两个式子相似,记录一下关于\(ch_i\)的\(cnt\)前缀最小值即......
  • [NOIP2015 提高组] 跳石头
    [NOIP2015提高组]跳石头题目背景一年一度的“跳石头”比赛又要开始了!题目描述这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石。组委会已经选择好了两块岩石作为比赛起点和终点。在起点和终点之间,有\(N\)块岩石(不含起点和终点的岩石)。在比赛过程中,选手们将从......