优秀是一种习惯!!!
AmethystFOB   >   标签墙   >   分库分表 标签

分布式中间件——ShardingSphere 有更新!

2023-11-28

分布式中间件——ShardingSphere 一、ShardingSphere介绍 1、Apache ShardingSphere Apache ShardingSphere是一个开源生态系统,允许您将任何数据库转换为分布式数据库系统,并通过分片、弹性扩展、加密功能等对其进行增强。该项目包括一个 JDBC、一个代理和 Sidecar(规划)。由于其面向插件的架构,功能可以随意灵活扩展。 几乎所有数据库都受支持,包括 MySQL、PostgreSQL、SQL Server、Oracle 数据库、MariaDB 或任何其他 SQL-92 数据库。Apache ShardingSphere 社区致力于通过插件增强现有数据库的计算和存储能力以及核心功能来提供生态系统和服务平台。 2、ShardingSphere JDBC 定位轻量级Java框架,在Java的JDBC层提供额外的服务。它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可以理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架。 适用于任何基于JDBC的ORM框架,如 JPA、Hibernate、MyBat....

分库分表 有更新!

2023-11-29

分库分表 一、为什么要分库分表? 分库分表方案更多的是对关系型数据库数据存储和访问机制的一种补充,而不是颠覆。 二、分库分表的手段有那些? 三、JDBC和proxy方案优缺点是什么? 四、什么是垂直拆分和水平拆分? 垂直分表:eg:把userid和password拆分出来,单纯做登录。 优点: 1、差分后业务清晰(专库专用按业务拆分) 2、数据维护简单、按业务不同业务放到不同机器上 缺点: 1、如果单表的数据量大,写读压力大 2、受某种业务来决定、或者被限制。也就是说一个业务往往会影响到数据库的瓶颈(性能问题)。 3、部分业务无法关联join、只能通过Java程序接口去调用,提高了开发复杂度。(商品、订单信息、会员信息) 水平分表: 优点: 1、单(库)表的数据保持在一定的量(减少),有助于性能的提高 2、提高了系统的稳定性和负载能力 3、拆分的表的结构相同、程序改造较少 缺点: 1、数据的扩容很有难度维护量大 解释:如果再进行第一次分库(2个),可以按13579、02468进行差分,那么再要进行第二次分库呢?(3个)可以1357、0246、89,那么再进行第三四次扩容呢?或者不是....