码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 尚硅谷-ShardingSphere


    分库分表重点还是在于数据一致性,主从复制和库表管理底层原理,本质上根据配置文件入不同库,入不同表还是很简单的。

    学习链接:https://www.bilibili.com/video/BV1LK411s7RX?p=23&vd_source=510ec700814c4e5dc4c4fda8f06c10e8

    csdn csdn csdn csdn csdn


    文章目录

        • 🔥1. 基本概念
          • 1.1. 基本名词
            • 1.1.1 ShardingSphere
            • 1.1.2 产生场景
            • 1.1.3 场景变迁
          • 1.2 基本使用
            • 1.2.1 Sharding-JDBC
              • 1.2.1.1 水平分表
              • 1.2.1.2 垂直分库、公共表(略)
              • 1.2.1.3 读写分离(略)
            • 1.2.2 Sharding-Proxy
          • 1.3 个人小结

    🔥1. 基本概念

    1.1. 基本名词
    1.1.1 ShardingSphere

    ​ 分布式数据库中间件

    1.1.2 产生场景

    ​ 由于数据量不断增大,原始可以使用硬件优化,现在需要增加分库分表

    ​ 分库分表分为垂直切分和水平切分

    1. 垂直切分
     	1. 垂直分表:同一张表拆分字段存入不同表
     	2. 垂直分库: 不同业务表存入不同业务的数据库
    
    2. 水平切分
     	1. 水平分表:可以根据id拆分表数据导不同表中
     	2. 水平分库:表数据水平存到不同数据库中,避免请求打到同一个库中。不同库中库表结构都是一样的
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    1.1.3 场景变迁
    1. 数据库设计的时候考虑垂直分库、垂直分表
    1. 数据量增加,优先考虑缓存、读写分离、索引、数据库硬件、数据库选择等方式解决,实在解决不了了再考虑水平分库分表
    
    • 1
    • 2

    ​ 但存储几个问题:不同服务器数据库之间如何管理

    1.2 基本使用
    1.2.1 Sharding-JDBC

    ​ 用于数据分片和读写分离,操作不同数据库的表,并不是分库分表

    1.2.1.1 水平分表
    1. 导入shardingshpere、druid依赖包

    2. 把原始spring.datasource删除,使用sharding-datasource的properties配置文件

    3. 配置bean的覆盖策略

      spring.main.allow-bean-definition-overriding=true
      
      • 1
    4. 后续就能实现原始代码也能正常CRUD,course_1, course_2的插入和查询采用分片策略进行查询与插入

    1.2.1.2 垂直分库、公共表(略)
    1.2.1.3 读写分离(略)

    ​ 就是主写从读,从数据库通过读取binlog实时把数据拉取过来

    1.2.2 Sharding-Proxy

    ​ 数据库代理端

    1.3 个人小结

    image-20220827161803371

  • 相关阅读:
    C++11 Qt QFutureWatcher lambda
    Java集合01:
    C++ 基础与深度分析 Chapter8 动态内存管理(动态内存基础、智能指针、相关问题)
    计算机毕业设计ssm出租车预约系统o8i8r系统+程序+源码+lw+远程部署
    牛客网_HJ2_计算某字符出现次数
    机器人制作开源方案 | 杠杆式6轮爬楼机器人
    亲测有效|处理风控数据特征缺失的一种方法
    基于 Three.js 的图形操纵控件
    Lua更多语法与使用
    使用Docker构建、共享和运行WebAssembly应用程序
  • 原文地址:https://blog.csdn.net/Empire_ing/article/details/126559375
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号