Skip to main content

Apache ShardingSphere急速认知

什么是SharingSphere?

  • 已于2020年4月16日成为 Apache 软件基金会的顶级项目,懂的都懂

  • 是一套开源的分布式数据库解决方案组成的生态圈,定位为 Database Plus

  • 它由 JDBC、Proxy 和 Sidecar这 3 款既能够独立部署,又支持混合部署配合使用的产品组成

三大构成

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 应用

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

三大组件对比