Sharding-JDBC

sharding-jdbc4.0使用方式

自古美人都是妖i 提交于 2019-12-09 13:29:07
Sharding-jdbc 简介 Sharding-JDBC是ShardingSphere的第一个产品,也是ShardingSphere的前身。 它定位为轻量级Java框架,在Java的JDBC层提供的额外服务。它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架。 适用于任何基于JDBC的ORM框架,如:JPA, Hibernate, Mybatis, Spring JDBC Template或直接使用JDBC。 支持任何第三方的数据库连接池,如:DBCP, C3P0, BoneCP, Druid, HikariCP等。 支持任意实现JDBC规范的数据库。目前支持MySQL,Oracle,SQLServer,PostgreSQL以及任何遵循SQL92标准的数据库。 内部结构 使用流程 初始化流程 配置Configuration对象。 通过Factory对象将Configuration对象转化为Rule对象。 通过Factory对象将Rule对象与DataSource对象装配。 Sharding-JDBC使用DataSource对象进行分库。 版本依赖 <dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId

sharding-jdbc4.0使用方式

可紊 提交于 2019-12-07 15:32:27
Sharding-jdbc 简介 Sharding-JDBC是ShardingSphere的第一个产品,也是ShardingSphere的前身。 它定位为轻量级Java框架,在Java的JDBC层提供的额外服务。它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架。 适用于任何基于JDBC的ORM框架,如:JPA, Hibernate, Mybatis, Spring JDBC Template或直接使用JDBC。 支持任何第三方的数据库连接池,如:DBCP, C3P0, BoneCP, Druid, HikariCP等。 支持任意实现JDBC规范的数据库。目前支持MySQL,Oracle,SQLServer,PostgreSQL以及任何遵循SQL92标准的数据库。 内部结构 使用流程 初始化流程 配置Configuration对象。 通过Factory对象将Configuration对象转化为Rule对象。 通过Factory对象将Rule对象与DataSource对象装配。 Sharding-JDBC使用DataSource对象进行分库。 版本依赖 <dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId

存储-海量数据(ShardingSphere核心概念剖析和实战)

余生颓废 提交于 2019-12-06 20:31:25
目标 Ø 掌握数据库的大数据处理方案和HA Ø 掌握为什么需要数据库中间件,何为数据库中间件 Ø 掌握不同场景所需的数据库中间件特性 Ø 掌握数据库中间件设计要点 Sharding-JDBC用途、使用场景、架构 认识ShardingSphere ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、 Sharding-Proxy和Sharding-Sidecar(计划中)这3款相互独立的产品组成。 他们均提供标准化 的数据分片、分布式事务和数据库治理功能,可适用于如Java同构、异构语言、容器、云原生等 各种多样化的应用场景。 当前版本:3.0 官网地址:https://shardingsphere.apache.org/index_zh.html 官方文档:https://shardingsphere.apache.org/document/current/cn/overview/ Sharding-JDBC: 定位为轻量级Java框架,在Java的JDBC层提供的额外服务。 它使用客户端直 连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全 兼容JDBC和各种ORM框架。 Ø 适用于任何基于Java的ORM框架,如:JPA, Hibernate, Mybatis, Spring

Sharding-JDBC — 读写分离(spring boot)

折月煮酒 提交于 2019-12-06 08:32:45
我们的项目,很多都涉及到了数据库的操作。数据库的稳定性显得尤为重要。互联网公司很多都采用“ 一主多从 ”的实现方案,我这里也不例外。这样可以大大 减少主库的读压力 ,从而提高数据库性能! 同时,选择一套靠谱的中间件来实现读写分离,也尤为重要。通常有几个选择: AOP切面实现数据源的切换。 sharding-jdbc、tddl等jdbc增强版的数据库中间件。 mycat、atlas等代理层的数据库中间件。 这里,考虑到性能需求,我选择了sharding-jdbc。 直接上实现! 依赖 下面两个依赖,根据选择的版本不同,选择的依赖包不同: Sharding-Sphere版:(3.0及之后的版本) <dependency> <groupId>io.shardingsphere</groupId> <artifactId>sharding-jdbc</artifactId> <version>${latest.release.version}</version> </dependency> Sharding-JDBC版:(3.0之前的版本) <!-- 引入sharding-jdbc核心模块 --> <dependency> <groupId>io.shardingjdbc</groupId> <artifactId>sharding-jdbc-core-spring-boot

Spring boot项目集成Sharding Jdbc

拈花ヽ惹草 提交于 2019-12-06 01:51:10
环境 jdk:1.8 framework: spring boot, sharding jdbc database: MySQL 搭建步骤 在pom 中加入sharding 依赖 <dependency> <groupId>io.shardingjdbc</groupId> <artifactId>sharding-jdbc-core-spring-boot-starter</artifactId> <version>2.0.3</version> </dependency> 将原来的 spring DataSource 注释掉,加入 sharding 的配置 sharding: jdbc: datasource: names: ds_0,ds_1 ds_0: type: com.zaxxer.hikari.HikariDataSource driver-class-name: com.mysql.jdbc.Driver jdbc-url: jdbc:mysql://sharding0 username: mams_test password: mams_test ds_1: type: com.zaxxer.hikari.HikariDataSource driver-class-name: com.mysql.jdbc.Driver jdbc-url: jdbc:mysql:/

sharding-jdbc源码解析全集

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-05 17:59:12
本文转自“天河聊技术”微信公众号 sharding-jdbc源码解析之词法解析 sharding源码解析之api分析 sharding-jdbc源码解析之spring集成 sharding-jdbc源码解析之spring集成分片构造实现 sharding-jdbc源码解析之jdbc规范重写 sharding-jdbc源码解析之sql解析 sharding-jdbc源码解析之sql解析 sharding-jdbc源码解析之sql单表或绑定表路由 sharding-jdbc源码解析之多库表sql路由 sharding-jdbc源码解析之sql改写 sharding-jdbc源码解析之sql执行 sharding-jdbc源码解析之结果集归并 来源: oschina 链接: https://my.oschina.net/u/3775437/blog/1806120

sharding-jdbc分库分表

孤街醉人 提交于 2019-12-05 12:23:36
1、读写分离 server.port=8084 mybatis.config-location=classpath:META-INF/mybatis-config.xml #数据源名称集合,对应下面数据源配置的名称 spring.shardingsphere.datasource.names=master,slave # 主数据源 spring.shardingsphere.datasource.master.type=com.alibaba.druid.pool.DruidDataSource spring.shardingsphere.datasource.master.driver-class-name=com.mysql.jdbc.Driver spring.shardingsphere.datasource.master.url=jdbc:mysql://localhost:3306/ds_0?characterEncoding=utf-8 spring.shardingsphere.datasource.master.username=root spring.shardingsphere.datasource.master.password=1234 # 从数据源 spring.shardingsphere.datasource.slave.type=com

分库分表框架

自闭症网瘾萝莉.ら 提交于 2019-12-05 07:18:29
1、TDDL 注意:tddl2.0是2010年的版本,已经没有人维护了。当前版本是5.1.7,网上能够找到的最新版本。项目地址为: https://www.oschina.net/p/tddl5 淘宝根据自己的业务特点开发了TDDL(Taobao Distributed Data Layer 外号:头都大了 ©_Ob)框架,主要解决了分库分表对应用的透明化以及异构数据库之间的数据复制,它是一个基于集中式配置的 jdbc datasource实现,具有主备,读写分离,动态数据库配置等功能。 主要优点: 1.数据库主备和动态切换 2.带权重的读写分离 3.单线程读重试 4.集中式数据源信息管理和动态变更 5.剥离的稳定jboss数据源 6.支持mysql和oracle数据库 7.基于jdbc规范,很容易扩展支持实现jdbc规范的数据源 8.无server,client-jar形式存在,应用直连数据库 9.读写次数,并发度流程控制,动态变更 10.可分析的日志打印,日志流控,动态变更 TDDL必须要依赖diamond配置中心(diamond是淘宝内部使用的一个管理持久配置的系统,目前淘宝内部绝大多数系统的配置,由diamond来进行统一管理,同时diamond也已开源)。 TDDL动态数据源使用示例说明: http://rdc.taobao.com/team/jm/archives

Sharding-JDBC往事

我们两清 提交于 2019-12-05 02:42:24
2015年夏天我们在北京静安中心12层当当架构部启动自研数据库中间件项目的时候,完全没想过3年多之后,这个项目会成为首个加入Apache基金会的分布式数据库中间件开源项目,并在超过60家公司的系统中投入应用。 Apache ShardingSphere ,发端于Sharding-JDBC, 记得当年为了取名字,张亮颇为纠结了几天,叫Shard还是Sharding?SQL还是JDBC?最后命名为Sharding-JDBC。如今,张亮在京东数科组建团队,继续主导Apache ShardingSphere项目,发布了3.0版本,产品生态圈进一步扩展,Sharding-Proxy已成型,Sharding-Sidecar正在孵化中,Apache ShardingSphere将支持云原生,成为金融云上的数据库服务,未来发展令人期待。而我呢,离开当当整整两年,回首往事,仿佛就在昨天,但又很是遥远,曾经的同事们也星散四方,在各自的道路继续向前,有着更好的发展。 向前追溯,这一切的缘起是在2014年,那时当当架构部招兵买马,引进多名架构师,包括沈理、张亮、邓学祥、董四辈、池田、吴翊以及年底来的曹昊,我们以技术委员会的名义发起针对互联网主流技术架构的调研,包含了SOA服务框架、定时任务管理、消息队列、数据库中间件几个专题,以此为契机推动当当技术架构转型升级。当时开源的数据库中间件已经有MyCat

工具导航Map