IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 二、分库分表的基本概念、分库分表带来的问题 -> 正文阅读

[大数据]二、分库分表的基本概念、分库分表带来的问题

一、ShardingSphere-JDBC的应用场景

对于使用关系型数据库的应用、当数据达到一定量级时,使用一般的手段 例如:添加索引、优化业务流程、优化代码、或者增加机器性能已经很难再提高查询数据的时候 这种情况下可以考虑分库分表来处理。

(具体数据量根据具体业务场景是有很大区别的 普通的业务查询逻辑(例如简单的单表或者两个表联表查询)一般数据量在千万级别左右使用合适的索引 查询速度还是很可观的 、 对于复杂的业务逻辑例如sql的多个连表查询或者子查询较多的情况下可能几百万数据量就会出现查询速度很慢且难以优化的情况)

二、分库、分表的概念

分库:将原本一个大数据量的数据库 分成若干个小数据量的数据库 达到降低单个数据库总数据量的目的 从而提高数据库处理数据的性能 提高查询速度

分表:将一个大数据量的表 拆分成若干个小数据量的表 拆分的表结构和原表结构相同 若干个小数据量的表数据量总和等于原未拆分的大表数据量 目的是使得单一数据表的数据量变小 提升数据库的性能 从而提高查询速度

三、分库、分表的方式

  • 垂直分库:
    可以根据业务分库 例如电商系统:将数据库分用户库、商品库、店铺库等 每个库专门存放特定的业务数据

  • 垂直分表:
    也就是按照业务字段进行拆分表 例如 商品表 有商品基本信息字段 商品详情信息字段 可以把基本信息放一张表 详情信息放一张表 然后通过某一个字段进行关联

  • 水平分库
    当商品库数据量过大的时候 此时再创建一个商品数据库2 与原商品数据库的数据结构相同 此时通过某种规则将部分数据存入商品库2来分担原商品库的数据量
    (注意 库分多了 不方便运维)

  • 水平分表
    将商品表 分为商品表1 商品表2 商品表3 3个表的 表结构一样

一般情况下:在业务系统设计的时候就要考虑到垂直分表或者垂直分库的应用,当数据量增加到一定程度的时候,应优先考虑索引、缓存、读写分离等方式来解决查询速度问题、如果数据量已经达到上述方式很难解决查询速度问题时 并且数据量还在持续增长的情况下 此时考虑水平分库分表方案解决查询速度问题

四、分库分表会带来哪些问题?(后面再看ShardingSphere-JDBC是如何处理这些问题的)

1、数据放在不同的库 不同的服务器 带来的分布式事务问题

2、跨数据库的关联查询问题

3、跨数据库的分页查询 排序问题

4、不同数据库,不同表之前 主键id重复的问题

5、公共表如何处理(即数据量不大 多用于关联查询使用的表)

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-11-14 21:47:10  更:2021-11-14 21:49:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:56:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码