ShardingSphere三大组件的介绍

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: ShardingSphere三大组件的介绍

公众号merlinsea


  • 什么是ShardingSphere?

  • 官网:https://shardingsphere.apache.org/document/current/en/overview/
  • Apache ShardingSphere 是一个由一套分布式数据库解决方案组成的开源生态系统,包括 JDBC、Proxy & Sidecar (Planning) 3 个独立产品。它们都提供了数据横向扩展、分布式事务和分布式治理的功能,适用于Java同构、异构语言、云原生等多种场景。
  • Apache ShardingSphere旨在合理利用分布式系统中已有数据库的计算和存储能力,而不是设计一个全新的数据库。目标是最小化或消除 底层数据库碎片化带来的挑战。


  • 什么是Sharding jdbc?

  • ShardingSphere-JDBC 将自己定义为一个轻量级的【Java 框架】,在 Java JDBC 层提供额外的服务,仅支持java语言
  • 客户端直接连接数据库,以jar的形式提供服务,不需要额外的部署和依赖。
  • 它可以被认为是一个增强的JDBC驱动,完全兼容JDBC和各种ORM框架。
  • sharding jdbc采用去中心化的架构,即没有一个中间代理集中统一管理连接数据库的连接资源。

  • 特点:
  • 适用于任何基于JDBC的ORM框架,如JPA、Hibernate、Mybatis、Spring JDBC Template或直接使用JDBC;
  • 支持任何第三方数据库连接池,如DBCP、C3P0、BoneCP、HikariCP;
  • 支持任何类型的 JDBC 标准数据库:MySQL、PostgreSQL、Oracle、SQLServer 和任何 JDBC 适配的数据库。

640.jpg


  • 什么是sharding proxy?

  • 数据库代理端,提供封装了数据库⼆进制协议的服务端版本,⽤于完成对异构语⾔的⽀持。
  • 向应⽤程序完全透明,可直接当做 MySQL/PostgreSQL。
  • 它可以使⽤任何兼容 MySQL/PostgreSQL 协议的访问客户端(如:MySQL Command Client, MySQL Workbench,Navicat 等)操作数据。


640.jpg


  • 什么是sharding sidecar?【目前仍在规划中】

  • ShardingSphere-Sidecar 将自己定义为 Kubernetes 环境的云原生数据库代理,以 Sidecar 的形式负责所有的数据库访问。它提供 了一个与数据库交互的网格层,我们称之为数据库网格Database Mesh.

  • 数据库网格强调如何将分布式数据访问应用程序与数据库连接起来,以交互为中心,有效组织杂乱的应用程序与数据库之间的交互。

  • 使用 Database Mesh 访问数据库的应用程序和数据库将形成一个大的网格系统,只需将它们相应地放在正确的位置即可。它们都由网格层控制。


640.jpg


  • 三大组件的对比
  • 异构语言、性能、是否中心化 是我们开发选型的核心的关注点


640.jpg


下面介绍一下我们的算法训练营,目前算法已经整理到了50多题了,如果大家对算法刷题有困难的可以找我帮忙,我带你手把手刷题。

640.png


我后期还会推出数据结构java版本,下面我给出我的目录大纲,大概今年九月份到十月份推出~

640.png


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
sharding-jdbc 兼容 MybatisPlus的动态数据源
【8月更文挑战第2天】要使 `Sharding-JDBC` 与 `MyBatisPlus` 的动态数据源兼容,需引入相关依赖,配置数据源及分库分表策略,并在 `MyBatisPlus` 中设置参数以协同工作。可能还需自定义代码处理数据源切换。示例代码框架展示整合方式,实际应用中需按具体业务场景详细配置并处理异常情况,如数据一致性问题。
247 1
|
6月前
|
Java
SpringBoot整合sharding-jdbc实现分库分表
SpringBoot整合sharding-jdbc实现分库分表
223 1
|
关系型数据库
ShardingSphere 实战
ShardingSphere 实战
85 0
|
druid Java
springboot shardingsphere druid 动态数据源切换及分库分表
springboot shardingsphere druid 动态数据源切换及分库分表
|
算法 微服务
《微服务实战》 第三十一章 ShardingSphere - ShardingSphere-JDBC(下)
《微服务实战》 第三十一章 ShardingSphere - ShardingSphere-JDBC(下)
124 0
|
存储 弹性计算 算法
《微服务实战》 第三十一章 ShardingSphere - ShardingSphere-JDBC(上)
《微服务实战》 第三十一章 ShardingSphere - ShardingSphere-JDBC(上)
146 0
|
算法 测试技术 Apache
Springboot2.x + ShardingSphere 实现分库分表
Springboot2.x + ShardingSphere 实现分库分表
141 0
|
SQL 算法 Cloud Native
【ShardingSphere技术专题】「ShardingJDBC」SpringBoot之整合ShardingJDBC实现分库分表(JavaConfig方式)
【ShardingSphere技术专题】「ShardingJDBC」SpringBoot之整合ShardingJDBC实现分库分表(JavaConfig方式)
253 0
【ShardingSphere技术专题】「ShardingJDBC」SpringBoot之整合ShardingJDBC实现分库分表(JavaConfig方式)
|
Cloud Native Oracle 关系型数据库
1、【ShardingSphere】ShardingSphere概览
混合架构 ShardingSphere-JDBC 采用无中心化架构,适用于 Java 开发的高性能的轻量级 OLTP 应用;ShardingSphere-Proxy 提供静态入口以及异构语言的支持,适用于 OLAP 应用以及对分片数据库进行管理和运维的场景。
195 0