ShardingSphere新版本官方说明
ShardingSphere - 分布式数据库中间层
官网地址: http://shardingsphere.io/
成都创新互联主要业务有网站营销策划、成都网站设计、成都网站制作、微信公众号开发、微信平台小程序开发、H5页面制作、程序开发等业务。一次合作终身朋友,是我们奉行的宗旨;我们不仅仅把客户当客户,还把客户视为我们的合作伙伴,在开展业务的过程中,公司还积累了丰富的行业经验、全网营销推广资源和合作伙伴关系资源,并逐渐建立起规范的客户服务和保障体系。
文档支持
概览
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-JDBC | Sharding-Proxy | Sharding-Sidecar | |
---|---|---|---|
Database | Any | MySQL | MySQL |
Connections Cost Number | High | Low | High |
Heterogeneous Language | Java Only | Any | Any |
Performance | Low loss | Relatively High loss | Low loss |
Decentralization | Yes | No | No |
Static Entry | No | Yes | No |
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
文章标题:ShardingSphere新版本官方说明
路径分享:http://scyanting.com/article/jhecpe.html