articleList

13-分库分表中间件Apache ShardingSphere急速认知

2025/03/13 posted in  ShardingJDBC
Tags: 

  • 什么是ShardingSphere

    • 已于2020年4月16日成为 Apache 软件基金会的顶级项目,懂的都懂
    • 是一套开源的分布式数据库解决方案组成的生态圈,定位为 Database Plus
    • 它由 JDBC、Proxy 和 Sidecar这 3 款既能够独立部署,又支持混合部署配合使用的产品组成
  • 三大构成(下面图片素材来源 sharding-sphere官网)

    • ShardingSphere-Sidecar(规划中,简单知道就行)
      • 定位为 Kubernetes 的云原生数据库代理,以 Sidecar 的形式代理所有对数据库的访问
      • 通过无中心、零侵入的方案提供与数据库交互的啮合层,即 Database Mesh,又可称数据库网格
    • ShardingSphere-JDBC
      • 它使用客户端直连数据库,以 jar 包形式提供服务
      • 无需额外部署和依赖,可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM 框架
      • 适用于任何基于 JDBC 的 ORM 框架,如:JPA, Hibernate, Mybatis,或直接使用 JDBC
      • 支持任何第三方的数据库连接池,如:DBCP, C3P0, BoneCP, HikariCP 等
      • 支持任意实现 JDBC 规范的数据库,目前支持 MySQL,PostgreSQL,Oracle,SQLServer 以及任何可使用 JDBC 访问的数据库
      • 采用无中心化架构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用
        image-20211122215610144
    • ShardingSphere-Proxy
      • 数据库代理端,提供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支持
      • 向应用程序完全透明,可直接当做 MySQL/PostgreSQL
      • 它可以使用任何兼容 MySQL/PostgreSQL 协议的访问客户端(如:MySQL Command Client, MySQL Workbench, Navicat 等)操作数据
        image-20211122215846706
  • 三大组件对比
    image-20211122220411921