商务网站建设流程步骤,wordpress 支持svg,合肥制作网站哪家好,郑州专业网站制作服务费用ShardingSphere从4.X到5.X的内容发生了很多的改变#xff0c;感兴趣的伙伴可以到ShardingSphere的博客查看各个版本的新特性。https://blog.csdn.net/ShardingSphere?typeblog 此次使用最新版本 shardingShpere5.4.0#xff0c;实现数据库读写分离、数据分片、分布式事务等…ShardingSphere从4.X到5.X的内容发生了很多的改变感兴趣的伙伴可以到ShardingSphere的博客查看各个版本的新特性。https://blog.csdn.net/ShardingSphere?typeblog 此次使用最新版本 shardingShpere5.4.0实现数据库读写分离、数据分片、分布式事务等功能
1、简介
官网https://shardingsphere.apache.org/index_zh.html
文档https://shardingsphere.apache.org/document/5.4.0/cn/overview/
Apache ShardingSphere 是一款分布式的数据库生态系统 可以将任意数据库转换为分布式数据库并通过数据分片、弹性伸缩、加密等能力对原有数据库进行增强。
Apache ShardingSphere 设计哲学为 Database Plus旨在构建异构数据库上层的标准和生态。 它关注如何充分合理地利用数据库的计算和存储能力而并非实现一个全新的数据库。 它站在数据库的上层视角关注它们之间的协作多于数据库自身。 产品功能
特性定义数据分片数据分片是应对海量数据存储与计算的有效手段。ShardingSphere 基于底层数据库提供分布式数据库解决方案可以水平扩展计算和存储。分布式事务事务能力是保障数据库完整、安全的关键技术也是数据库的核心技术。基于 XA 和 BASE 的混合事务引擎ShardingSphere 提供在独立数据库上的分布式事务功能保证跨数据源的数据安全。读写分离读写分离是应对高压力业务访问的手段。基于对 SQL 语义理解及对底层数据库拓扑感知能力ShardingSphere 提供灵活的读写流量拆分和读流量负载均衡。数据迁移数据迁移是打通数据生态的关键能力。ShardingSphere 提供跨数据源的数据迁移能力并可支持重分片扩展。联邦查询联邦查询是面对复杂数据环境下利用数据的有效手段。ShardingSphere 提供跨数据源的复杂查询分析能力实现跨源的数据关联与聚合。数据加密数据加密是保证数据安全的基本手段。ShardingSphere 提供完整、透明、安全、低成本的数据加密解决方案。影子库在全链路压测场景下ShardingSphere 支持不同工作负载下的数据隔离避免测试数据污染生产环境。
产品优势
极致性能
驱动程序端历经长年打磨效率接近原生 JDBC性能极致。
生态兼容
代理端支持任何通过 MySQL/PostgreSQL 协议的应用访问驱动程序端可对接任意实现 JDBC 规范的数据库。
业务零侵入
面对数据库替换场景ShardingSphere 可满足业务无需改造实现平滑业务迁移。
运维低成本
在保留原技术栈不变前提下对 DBA 学习、管理成本低交互友好。
安全稳定
基于成熟数据库底座之上提供增量能力兼顾安全性及稳定性。
弹性扩展
具备计算、存储平滑在线扩展能力可满足业务多变的需求。
开放生态
通过多层次内核、功能、生态插件化能力为用户提供可定制满足自身特殊需求的独有系统。
ShardingSphere 采用 Database Plus 设计哲学该理念致力于构建数据库上层的标准和生态在生态中补充数据库所缺失的能力。 连接打造数据库上层标准
通过对数据库协议、SQL 方言以及数据库存储的灵活适配快速构建多模异构数据库上层的标准同时通过内置 DistSQL 为应用提供标准化的连接方式。
增强数据库计算增强引擎
在原生数据库基础能力之上提供分布式及流量增强方面的能力。前者可突破底层数据库在计算与存储上的瓶颈后者通过对流量的变形、重定向、治理、鉴权及分析能力提供更为丰富的数据应用增强能力。
可插拔构建数据库功能生态 部署形态
Apache ShardingSphere 由 ShardingSphere-JDBC 和 ShardingSphere-Proxy 这 2 款既能够独立部署又支持混合部署配合使用的产品组成。 它们均提供标准化的基于数据库作为存储节点的增量功能可适用于如 Java 同构、异构语言、云原生等各种多样化的应用场景。
ShardingSphere-JDBC 独立部署
ShardingSphere-JDBC 定位为轻量级 Java 框架在 Java 的 JDBC 层提供的额外服务。 它使用客户端直连数据库以 jar 包形式提供服务无需额外部署和依赖可理解为增强版的 JDBC 驱动完全兼容 JDBC 和各种 ORM 框架。
适用于任何基于 JDBC 的 ORM 框架如JPA, Hibernate, Mybatis, Spring JDBC Template 或直接使用 JDBC支持任何第三方的数据库连接池如DBCP, C3P0, BoneCP, HikariCP 等支持任意实现 JDBC 规范的数据库目前支持 MySQLPostgreSQLOracleSQLServer 以及任何可使用 JDBC 访问的数据库。 ShardingSphere-Proxy 独立部署
ShardingSphere-Proxy 定位为透明化的数据库代理端通过实现数据库二进制协议对异构语言提供支持。 目前提供 MySQL 和 PostgreSQL 协议透明化数据库操作对 DBA 更加友好。
向应用程序完全透明可直接当做 MySQL/PostgreSQL 使用兼容 MariaDB 等基于 MySQL 协议的数据库以及 openGauss 等基于 PostgreSQL 协议的数据库适用于任何兼容 MySQL/PostgreSQL 协议的的客户端如MySQL Command Client, MySQL Workbench, Navicat 等。 ShardingSphere-JDBCShardingSphere-Proxy数据库任意MySQL/PostgreSQL连接消耗数高低异构语言仅 Java任意性能损耗低损耗略高无中心化是否静态入口无有
混合部署架构
ShardingSphere-JDBC 采用无中心化架构与应用程序共享资源适用于 Java 开发的高性能的轻量级 OLTP 应用 ShardingSphere-Proxy 提供静态入口以及异构语言的支持独立于应用程序部署适用于 OLAP 应用以及对分片数据库进行管理和运维的场景。
Apache ShardingSphere 是多接入端共同组成的生态圈。 通过混合使用 ShardingSphere-JDBC 和 ShardingSphere-Proxy并采用同一注册中心统一配置分片策略能够灵活的搭建适用于各种场景的应用系统使得架构师更加自由地调整适合于当前业务的最佳系统架构。 运行模式
Apache ShardingSphere 提供了两种运行模式分别是单机模式和集群模式。
单机模式
能够将数据源和规则等元数据信息持久化但无法将元数据同步至多个 Apache ShardingSphere 实例无法在集群环境中相互感知。 通过某一实例更新元数据之后会导致其他实例由于获取不到最新的元数据而产生不一致的错误。
适用于工程师在本地搭建 Apache ShardingSphere 环境。
集群模式
提供了多个 Apache ShardingSphere 实例之间的元数据共享和分布式场景下状态协调的能力。 它能够提供计算能力水平扩展和高可用等分布式系统必备的能力集群环境需要通过独立部署的注册中心来存储元数据和协调节点状态。
在生产环境建议使用集群模式。
线路规划
Apache ShardingSphere 实例之间的元数据共享和分布式场景下状态协调的能力。 它能够提供计算能力水平扩展和高可用等分布式系统必备的能力集群环境需要通过独立部署的注册中心来存储元数据和协调节点状态。
在生产环境建议使用集群模式。
线路规划