广告
返回顶部
首页 > 资讯 > 数据库 >分库分表怎样分?
  • 606
分享到

分库分表怎样分?

分库分表怎样分? 2014-07-22 04:07:05 606人浏览 才女
摘要

1)分库     业务拆分 - 如顾客,商品,订单各自分独立的库     主备 - 主机做读写,备机只做数据备份     主从(读写分离) - 主机写,从机读     主主 - 任意一台机做写,互相复制     集群 - 一主多备、一主多从

分库分表怎样分?

1)分库
    业务拆分 - 如顾客,商品,订单各自分独立的库
    主备 - 主机做读写,备机只做数据备份
    主从(读写分离) - 主机写,从机读
    主主 - 任意一台机做写,互相复制
    集群 - 一主多备、一主多从、多主多从,主机写,所有机都可以读

1)分片(类似分库)
  分片是把数据库横向扩展(Scale Out)到多个物理节点上的一种有效的方式,其主要目的是为突破单节点数据库服务器的 I/O 能力限制,解决数据库扩展性问题。
  Shard这个词的意思是“碎片”。
  如果将一个数据库当作一块大玻璃,将这块玻璃打碎,那么每一小块都称为数据库的碎片(DatabaseShard)。
  将整个数据库打碎的过程就叫做分片,可以翻译为分片。
  形式上,分片可以简单定义为将大数据库分布到多个物理节点上的一个分区方案。每一个分区包含数据库的某一部分,称为一个片,分区方式可以是任意的,并不局限于传统的水平分区和垂直分区。
  一个分片可以包含多个表的内容甚至可以包含多个数据库实例中的内容。每个分片被放置在一个数据库服务器上。
  一个数据库服务器可以处理一个或多个分片的数据。
  系统中需要有服务器进行查询路由转发,负责将查询转发到包含该查询所访问数据的分片或分片集合节点上去执行。

2)分表
  分表从表面意思说就是把一张表分成多个小表。
  1)垂直分表 - 列数太多的大表分成多张表,分后表的结构变了,列数变少,表保存数据的行数不变
  2)水平分表 - 表保存数据的行数太多的表分到多张表去保存,分后表的结构不变,表保存数据的行数变少。
  分区和分表的区别与联系
    分区和分表的目的都是减少数据库的负担,提高表的增删改查效率。
    分区只是一张表中的数据的存储位置发生改变,分表是将一张表分成多张表。
    当访问量大,且表数据比较大时,两种方式可以互相配合使用。
    当访问量不大,但表数据比较多时,可以只进行分区。
  常见分区分表的规则策略(类似)
    Range(范围)
    Hash(哈希)
    按照时间拆分
    Hash之后按照分表个数取模
    在认证库中保存数据库配置,就是建立一个DB,这个DB单独保存user_id到DB的映射关系
  
3)分区
  数据分区是一种物理数据库的设计技术,它的目的是为了在特定的sql操作中减少数据读写的总量以缩减响应时间。
  分区并不是生成新的数据表,而是将表的数据均衡分摊到不同的硬盘,系统或是不同服务器存储介子中,实际上还是一张表。
  另外,分区可以做到将表的数据均衡到不同的地方,提高数据检索的效率,降低数据库的频繁io压力值,分区的优点如下:
  相对于单个文件系统或是硬盘,分区可以存储更多的数据;
    数据管理比较方便,比如要清理或废弃某年的数据,就可以直接删除该日期的分区数据即可;
    精准定位分区查询数据,不需要全表扫描查询,大大提高数据检索效率;
    可跨多个分区磁盘查询,来提高查询的吞吐量;
    在涉及聚合函数查询时,可以很容易进行数据的合并;
  Mysql5 开始支持分区功能

  CREATE TABLE sales (
      id INT AUTO_INCREMENT,
      amount DOUBLE NOT NULL,
      order_day DATETIME NOT NULL,
      PRIMARY KEY(id, order_day)
  ) ENGINE=Innodb 
  PARTITION BY RANGE(YEAR(order_day)) (
    PARTITION p_2010 VALUES LESS THAN (2010),
    PARTITION p_2011 VALUES LESS THAN (2011),
    PARTITION p_2012 VALUES LESS THAN (2012),
  PARTITION p_catchall VALUES LESS THAN MAXVALUE);

常用分库分表中间件
  sharding-JDBC
  MyCAT
  Atlas

您可能感兴趣的文档:

--结束END--

本文标题: 分库分表怎样分?

本文链接: https://www.lsjlt.com/news/5863.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 分库分表怎样分?
    1)分库     业务拆分 - 如顾客,商品,订单各自分独立的库     主备 - 主机做读写,备机只做数据备份     主从(读写分离) - 主机写,从机读     主主 - 任意一台机做写,互相复制     集群 - 一主多备、一主多从...
    99+
    2014-07-22
    分库分表怎样分?
  • MySql的分表分库分片以及分区是怎样的
    今天就跟大家聊聊有关MySql的分表分库分片以及分区是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、前言数据库的数据量达到一定程度之后,为...
    99+
    2022-10-18
  • MyCat怎么分库分表
    本篇内容介绍了“MyCat怎么分库分表”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!项目环境: ...
    99+
    2022-10-18
  • 分库分表
    分库分表前的问题 任何问题都是太大或者太小的问题,我们这里面对的数据量太大的问题。 用户请求量太大 因为单服务器TPS,内存,IO都是有限的。 解决方法:分散请求到多个服务器上; 其实用户请求和执行一个sql查询是本质是一样的,都是请求一个...
    99+
    2022-02-11
    分库分表
  • DB分库分表的基本思想和切分策略是怎样的
    DB分库分表的基本思想和切分策略是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、基本思想Sharding的基本思想就要把一个数据库切...
    99+
    2022-10-19
  • SQL分库分表
    历史背景 MySql性能瓶颈 1.    表数据量过大 2.    Sql查询过于复杂 3.    Sql没走索引 4.    数据库服务器性能低 解决方案 阿里开发手册:单表行数超过500W或者单表容量超过2G 数据库分库分表 分...
    99+
    2017-03-08
    SQL分库分表
  • mysql分库分表
    一、垂直拆分 1、垂直分库:在分布式系统开发中,基本都是按照模块划分,每个业务模块建立一个数据库  特点:业务区分度高,方便维护管理;各个模块独立维护,可以分摊系统的维护成本,提高可用性。  2、垂直分表:单张宽表,根据实际业务场景,...
    99+
    2015-03-08
    mysql分库分表
  • mongodb是怎么分库分表的
    在MongoDB中,可以使用分片(Sharding)来进行数据库的分库分表操作。分片是将一个数据库分散存储在多个机器上的过程。在Mo...
    99+
    2023-08-23
    mongodb
  • MySQL怎么使用分库分表
    本篇内容介绍了“MySQL怎么使用分库分表”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!MySQL使用分库...
    99+
    2022-10-18
  • MyCat怎么实现分库分表
    本篇内容介绍了“MyCat怎么实现分库分表”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!项目环境: 192.168.8.30 &n...
    99+
    2023-06-01
  • 分库分表(了解)
    站在架构师的角度来看分库分表  单体应用架构 一个归档包(可以是JAR、WAR、EAR或其它归档格式)包含所有功能的应用程序,通常称为单体应用。 优点 便于共享:单个归档文件包含所有功能,便于在团队之间以及不同的部署阶段之间...
    99+
    2021-02-06
    分库分表(了解)
  • 分库分表介绍
    目录 一、前言         二、何谓数据切分 三、垂直切分 1、垂直分库 2、垂直分表 3、垂直切分优缺点 4、拆分需考虑的业务因素 四、水平切分 1、水平分库 2、水平分表 3、水平切分优缺点 五、垂直与水平切分的联合使用 六、数据分...
    99+
    2023-09-03
    mysql 分表分库 垂直水平 表分区 切分策略
  • 大表分库分表总结
    本篇内容介绍了“大表分库分表总结”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.前言为什么需要做分库分表...
    99+
    2022-10-18
  • MySQL分库分表实例分析
    这篇“MySQL分库分表实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MySQL分库分表实例分析”文章吧。一、为什么...
    99+
    2023-06-30
  • MySQL 分表分库怎么进行数据切分
    关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。当单表的数据量达到1000W或100G以后,由于查询维度较多,即使添加从库、优化索引,做很多操作时性能仍下降严重。此时就要考虑对其进行切分...
    99+
    2022-05-23
    MySQL 分表分库 MySQL 数据切分
  • MyCat分库分表中怎么实现ER分片
    这篇文章主要介绍“MyCat分库分表中怎么实现ER分片”,在日常操作中,相信很多人在MyCat分库分表中怎么实现ER分片问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MyCat分库分表中怎么实现ER分片”的疑...
    99+
    2023-06-01
  • php分库分表后怎么查询
    在PHP中,当数据表被分散到多个库和多个表中时,可以使用以下方法进行查询:1. 确定要查询的数据所在的库和表。这可能需要根据一些规则...
    99+
    2023-08-15
    php
  • MySQL中怎么实现分库分表
    今天就跟大家聊聊有关MySQL中怎么实现分库分表,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Mysql分库分表方案1.为什么要分表:当一张表的数据...
    99+
    2022-10-18
  • 分库分表与NewSQL怎么选择
    本篇内容主要讲解“分库分表与NewSQL怎么选择”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“分库分表与NewSQL怎么选择”吧!NewSQL 数据库先进在哪儿...
    99+
    2022-10-19
  • SQL中怎么实现分库分表
    本篇文章为大家展示了SQL中怎么实现分库分表,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。SQL怎样进行分库分表  方案1:  通过提升服务器硬件能力来提高数据处理...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作