美文网首页
ShardingSphere简介

ShardingSphere简介

作者: flyjar | 来源:发表于2022-01-25 16:46 被阅读0次

一、什么是ShardingSphere?

  • 1.一套开源的分布式数据库中间件解决方案

  • 2.目前有三个产品 sharding jdbc 、 sharding proxy 、sharding scaling

  • 3.定位为关系型数据库的中间件,合理在分布式环境下使用关系型数据库操作

二、什么是分库分表?

  • 1.数据库数据量不可的,随着时间和业务的发展,造成表里面的数据越来越多,如果再去对数据表

CURD的时候,造成性能问题。

  • 2.方案1:增加硬件配置

  • 3.方案2:分库分表

image-20220124082356514.png

三、分库分表的方式

  • 1.分库分表有两种方式:垂直切分和水平切分

  • 2.垂直切分:垂直分表和垂直分库

  • 3.水平切分:水平分表和水平分库

  • 4 垂直切分:操作数据库某张表,把这张表中的字段切出来一部分,放到另一张表中。

    垂直分表的场景:比如电商平台,把瀑布流中的字段放到一个表中,把商品详情(排除瀑布流中的字段)里面的字 段放到另一张表中

image-20220124083218174.png
  • 5.垂直分库:把单一数据库按照业务划分,专库专表。一个库为某一个模块用
image-20220124084415526.png
  • 6.水平分库:就是将一个数据库结构,一模一样的复制一份。用来存数据。按照一定规则向不懂数据库里面添加数据
image-20220124085818326.png
  • 7.水平分表:把一张表拆分成相同结构的表。然后按照一定规则向不同表里面添加数据
image-20220124090415780.png

分库分表的应用和问题

  • 1.应用

    (1) 在数据库设计的时候就要考虑垂直分库和垂直分表

    (2)随着数据库数量增加,不是马上就考虑最水平分库和水平分表,首先要考虑使用缓存、读写分离、索引等等方式来解决处理,如果以上这些方式不能根本解决问题了,再考虑做水平分库 水平分表

  • 分库分表问题

    (1)夸数据库查询问题(分页、排序)

    (2)多数据库源管理的问题

什么是shardingJDBC

  • 轻量级的java框架,是增加版的JDBC驱动

  • 主要目的是:简化对已经做好分库分表的数据库的相关操作

  • ShardingSphere-JDBC 是 Apache ShardingSphere 的第一个产品,也是 Apache ShardingSphere 的前身。 定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。 它使用客户端直连数据库,以 jar 包形式提供服务,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM 框架。

    • 适用于任何基于 JDBC 的 ORM 框架,如:JPA, Hibernate, Mybatis, Spring JDBC Template 或直接使用 JDBC;

    • 支持任何第三方的数据库连接池,如:DBCP, C3P0, BoneCP, HikariCP 等;

    • 支持任意实现 JDBC 规范的数据库,目前支持 MySQL,PostgreSQL,Oracle,SQLServer 以及任何可使用 JDBC 访问的数据库。

image-20220124092440688.png

相关文章

网友评论

      本文标题:ShardingSphere简介

      本文链接:https://www.haomeiwen.com/subject/yoiwhrtx.html