ShardingSphere系列之基本概念学习笔记

2022-07-12 16:57:18 浏览数 (1)

ShardingSphere学习笔记

1、什么是ShardingSphere?

ShardingSphere起源:说起ShardingSphere还是用从Sharding-JDBC说起,Sharding-JDBC 最早是当当网内部使用的一款分库分表框架,到2017年的时候才开始对外开源,随着功能完善改名为ShardingSphere,ShardingSphere由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar这几款独立的产品组成,现在已经是一款比较完善的分表分库框架,后面被Apache基金会收录。

Apache ShardingSphere是一款开源的分布式数据库中间件组成的生态圈。它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar这几款独立的产品组成。这些组件都提供标准化的数据分片、分布式事务和数据库治理功能,可以适用于Java架构、异构语言、容器、云原生等多种多样的应用场景。ShardingSphere的项目演变如图:

Sharding Sphere中文官网:https://shardingsphere.apache.org/index_zh.html

本质:ShardingSphere是关系型数据库中间件,旨在分布式环境下充分利用关系型数据库的计算和存储能力,而不是实现一个全新的关系型数据库

2、ShardingSphere主要组件

  • Sharding-JDBC:Sharding-JDBC目前只支持java语言,在java的JDBC层提供拓展的服务,是一款轻量级的Java框架,以jar包形式使用
  • Sharding-Proxy:是一款数据库代理组件,提供了数据库二进制协议的服务端版本,用于对异构语言的支持
  • Sharding-Sidecar:提供了Kubernetes或者Mesos的云原生数据库代理,以DaemonSet的形式代理所有对数据库的访问

ShardingSphere架构图,图来自官网:

Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar对比:

Sharding-JDBC

Sharding-Proxy

Sharding-Sidecar

数据库

任意

MySQL

MySQL

连接消耗数

异构语言

仅Java

任意

任意

性能

性能低

性能高

性能高

去中心化

静态入口

没有

没有

3、ShardingSphere下载

ShardingSphere下载:https://shardingsphere.apache.org/document/current/cn/downloads/

ShardingSphere源码下载:https://github.com/apache/incubator-shardingsphere.git,使用Git工具git clone

0 人点赞