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

x33g5p2x  于2022-07-11 转载在 其他  
字(1.2k)|赞(0)|评价(0)|浏览(493)

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-JDBCSharding-ProxySharding-Sidecar
数据库任意MySQLMySQL
连接消耗数
异构语言仅Java任意任意
性能性能低性能高性能高
去中心化
静态入口没有没有

3、ShardingSphere下载

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

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

相关文章