千家信息网

ShardingSphere新版本官方说明

发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,ShardingSphere - 分布式数据库中间层官网地址: http://shardingsphere.io/文档支持概览ShardingSphere是一个分布式数据库中间件解决方案的开源项目,包
千家信息网最后更新 2025年01月22日ShardingSphere新版本官方说明

ShardingSphere - 分布式数据库中间层

官网地址: http://shardingsphere.io/










文档支持


概览

ShardingSphere是一个分布式数据库中间件解决方案的开源项目,包含了3个独立的产品,分别为Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar.它们一起提供了数据分片、分布式事务和数据库编排等功能,适用于Java同构、异构语言和本地云等多种情况。

为了合理利用分布式系统中数据库的计算和存储能力,ShardingSphere将自己定义为中间件,而不是一种全新的数据库类型。关系数据库作为许多企业的基石,仍然占据着巨大的市场份额。因此,在现阶段,我们更倾向于关注它的增量而不是完全颠覆。

Sharding-JDBC

Sharding-JDBC将自己定义为一个轻量级Java框架,它在Java JDBC层提供额外的服务。
由于客户端直接连接到数据库,它以jar的形式提供服务,不需要额外的部署和依赖。
它可以看作是一种增强的JDBC驱动程序,完全兼容JDBC和各种ORM框架。

适用于任何基于Java的ORM框架,如JPA、Hibernate、Mybatis、Spring JDBC模板或JDBC的直接使用。
基于任何第三方数据库连接池,如DBCP, C3P0, BoneCP, Druid, HikariCP。
*支持任何类型的数据库JDBC标准:符合MySQL,Oracle和PostgreSQL状态"置疑"。

Sharding-Proxy


Sharding-Proxy将自己定义为一个透明的数据库代理,提供一个封装数据库二进制协议以支持异构语言的数据库服务器。
对DBA更友好的是,现在提供的MySQL版本可以使用任何一种与MySQL协议兼容的客户端访问(如MySQL命令客户端、MySQL Workbench等)来操作数据。

对应用程序完全透明,可以直接作为MySQL使用。
适用于任何一种兼容MySQL协议的客户端兼容。

Sharding-Sidecar(TBD)

Sharding-Sidecar (TBD)将自己定义为Kubernetes或Mesos环境的云本地数据库代理,负责以DaemonSet的形式对数据库的所有访问。通过分散化和零成本的解决方案,它提供了一个与数据库交互的网格层,即,数据库网格,又称数据库网格。
Database Mesh强调如何将分布式数据库访问应用程序与数据库连接起来。它专注于交互,有效地组织混乱的应用程序和数据库之间的交互。使用database Mesh访问数据库的应用程序和数据库会形成一个大的网格系统,只需要将它们放到相应的位置即可。它们都是由网格层控制的。

Sharding-JDBCSharding-ProxySharding-Sidecar
DatabaseAnyMySQLMySQL
Connections Cost NumberHighLowHigh
Heterogeneous LanguageJava OnlyAnyAny
PerformanceLow lossRelatively High lossLow loss
DecentralizationYesNoNo
Static EntryNoYesNo

Hybrid Architecture

Sharding-JDBC采用分散式架构,适用于Java开发的高性能轻量级OLTP应用;
sharding - proxy提供静态入口和异构语言支持,适用于OLAP应用和分片数据库的管理和运行情况。
ShardingSphere是一个生态球,由多个端点组成。ShardingSphere通过一个注册中心对sharding - jdbc和sharding - proxy的混合使用和统一的sharding策略,可以构建适用于各种情况的应用系统。
架构师可以更自由地将系统体系结构调整为最适合当前业务的体系结构。

Features

数据切片

  • Database sharding & Table sharding(分库分表)
  • Read-write splitting:读写分离
  • Distributed primary key: 分布式主键

分布式事务

  • XA transaction
  • BASE transaction

Database Orchestration

  • Dynamic configuration
  • Fusing & Disabling
  • Tracing
  • Elastic scaling out (Planing)

Roadmap

数据 数据库 分布式 应用 程序 网格 客户 客户端 应用程序 系统 支持 情况 框架 语言 服务 中间件 事务 体系 形式 方案 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 在数据库上全部下载的办法 数据库管理系统和数据库管理工具 上海文化消费数据库 哪个软件开发公众号好 信息网络安全管理暂行办法 网络安全风险防范和应对 网络安全问题的研究原始材料 襄阳市审计局网络安全周 腾讯软件开发比赛 软件开发需求调研记录 嵌入式软件开发有中年危机么 云平台空间数据库设计 h2数据库查看工具 天象网络技术学院 金蝶财务软件开发正式完整版 网络安全有哪些影响 数据库查询文章效率 软件开发的专业叫啥 上海网络安全系统价格 网络安全创作思想 湖南gps同步数显钟服务器 练习跑酷的服务器我的世界基岩版 怎样远程管理香港服务器 杰才深圳互联网科技有限公司 从事软件开发的人很少 江苏省航天安全接入服务器 app软件开发用什么技术 马方超 网络安全 图形数据库最好的书籍 中国dna数据库南方库
0