万隆的笔记 万隆的笔记
博文索引
笔试面试
  • 在线学站

    • 菜鸟教程 (opens new window)
    • 入门教程 (opens new window)
    • Coursera (opens new window)
  • 在线文档

    • w3school (opens new window)
    • Bootstrap (opens new window)
    • Vue (opens new window)
    • 阿里开发者藏经阁 (opens new window)
  • 在线工具

    • tool 工具集 (opens new window)
    • bejson 工具集 (opens new window)
    • 文档转换 (opens new window)
  • 更多在线资源
  • Changlog
  • Aboutme
GitHub (opens new window)
博文索引
笔试面试
  • 在线学站

    • 菜鸟教程 (opens new window)
    • 入门教程 (opens new window)
    • Coursera (opens new window)
  • 在线文档

    • w3school (opens new window)
    • Bootstrap (opens new window)
    • Vue (opens new window)
    • 阿里开发者藏经阁 (opens new window)
  • 在线工具

    • tool 工具集 (opens new window)
    • bejson 工具集 (opens new window)
    • 文档转换 (opens new window)
  • 更多在线资源
  • Changlog
  • Aboutme
GitHub (opens new window)
  • ShardingSphere简介
    • 产品线
    • 解决方案/功能:
    • 项目状态以及规划
    • 下载
  • ShardingSphere-JDBC
  • 数据分片剖析
  • 读写分离剖析
  • 强制路由剖析
  • 数据脱敏剖析
  • 分布式事务剖析
  • SPI 加载剖析
  • 编排治理剖析
  • ShardingSphere-Proxy
  • ShardingSphere-Sidecar(TODO)
  • ShardingShpere
2022-03-26
目录

ShardingSphere简介

# 介绍

ShardingSphere

Apache ShardingSphere (opens new window) 是一套开源的分布式数据库解决方案组成的生态圈,它由 JDBC、Proxy 和 Sidecar(规划中)这 3 款既能够独立部署,又支持混合部署配合使用的产品组成。 它们均提供标准化的数据水平扩展、分布式事务和分布式治理等功能,可适用于如 Java 同构、异构语言、云原生等各种多样化的应用场景。

相关文档入口:

  • 目前新官方文档 (opens new window)都有中文版本阅读起来比较容易,而旧的文档(v4.x之前)基本都是英文文档。
  • 版本选择,建议生产选v4.1.1,对应的官方文档 (opens new window),这里大多数文章基于官方文档翻译而来。

ShardingSphereDistSQL(Distributed SQL)是 Apache ShardingSphere 特有的操作语言。 它与标准 SQL 的使用方式完全一致,用于提供增量功能的 SQL 级别操作能力,只能用于 ShardingSphere-Proxy。

# 产品线

ShardingSphere,一个连接 & 增量 & 可插拔的关系型数据库中间件,旨在充分合理地在分布式的场景下利用关系型数据库的计算和存储能力,而并非实现一个全新的关系型数据库。

  • Sharding-JDBC:被定位为轻量级Java框架,在Java的JDBC层提供的额外服务,以jar包形式使用。可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM 框架。
  • Sharding-Proxy:被定位为透明化的数据库代理端,提供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支持。
  • Sharding-Sidecar:定位为 Kubernetes 的云原生数据库代理,以 Sidecar 的形式代理所有对数据库的访问。 通过无中心、零侵入的方案提供与数据库交互的啮合层,即 Database Mesh,又可称数据库网格。

官方称混合使用 ShardingSphere-JDBC 和 ShardingSphere-Proxy,这种混合架构应用可以调整适合于当前业务的最佳系统架构。

shardingsphere-hybrid-architecture_v2

产品线对比:

ShardingSphere-JDBC ShardingSphere-Proxy ShardingSphere-Sidecar
数据库 任意 MySQL/PostgreSQL MySQL/PostgreSQL
连接消耗数 高 低 高
异构语言 仅 Java 任意 任意
性能 损耗低 损耗略高 损耗低
无中心化 是 否 是
静态入口 无 有 无

# 解决方案/功能:

以下是v5.1版本时提供的解决方案以及功能

解决方案/功能 分布式数据库 数据安全 数据库网关 全链路压测
数据分片 数据加密 异构数据库支持 影子库
读写分离 行级权限(TODO) SQL 方言转换(TODO) 可观测性
分布式事务 SQL 审计(TODO)
弹性伸缩 SQL 防火墙(TODO)
高可用

# 项目状态以及规划

roadmap_v2

# 下载

  • ShardingSphere安装包下载 (opens new window)
  • Git下载 (opens new window)
上次更新: 5/30/2023, 11:42:20 PM
ShardingSphere-JDBC

ShardingSphere-JDBC→

最近更新
01
2025
01-15
02
Elasticsearch面试题
07-17
03
Elasticsearch进阶
07-16
更多文章>
Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式