美文网首页MySQL
数据库设计

数据库设计

作者: 程序员fly | 来源:发表于2021-07-15 23:21 被阅读0次

数据库架构设计

以用户中心为例,当数据库访问量增大的时候,我们设计可以通过数据库主从分离进行分组,然后通过分片减小单库的数据量,特定需求下可以通过垂直切分减少单库的数据量。

水平切分

水平切分就是库和库之间不关联,数据库结构相同,并集为全局数据

算法常用的分片算法有范围法和哈希法

  • 范围法 uid为0到一千万的落到s1上,1千万到2千万的落到s2上
  • 哈希法 uid%2=1的落到s1上,uid%2的落到s2上

存在的问题

  • 水平切分,能够减少单库的数据量,但是还是会存在数据库读写锁冲突的问题

  • 数据库一旦挂了,就没了。。

  • 读写不分离的情况下读写一个库,性能很低

    解决:数据库主从的方式

  • 主库专注于写从库专注于读,

  • 多个数据库实例数据结构完全相同,存储的数据也是相同的主从同步通过Binlog方式同步

垂直切分

垂直切分的特点是实例之间没有关系,表的结构不相同,存储的数据之间必有一列为交集,所有数据构成全量数据

  • 长度较短的,访问频率比较高的放在一起。长度比较长(登录名,密码,性别,年龄)
  • 访问频率比较低的放在一起(自我介绍,个性签名)

最终建构图如下所示

image-20210715173825198

相关文章

  • 阿里数据库开发规范:谁还敢说你的数据库设计的“烂”

    数据库设计几个规范: 数据库命名规范、数据库基本设计规范、数据库索引设计规范、数据库字段设计规范、数据库SQL开发...

  • 数据库设计

    第六章 数据库设计 学习重点: 数据库设计的基本步骤; 数据库设计各阶段的具体设计内容; 数据库设计各阶段的设计描...

  • 规范化数据库设计

    规范化数据库设计 为什么需要数据库设计 当数据库比较复杂时我们需要设计数据库 糟糕的数据库设计 : 数据冗余,存储...

  • MySQL 入门(四)

    九、规范化数据库设计 1. 为什么需要数据库设计 当数据库比较复杂时,需要设计数据库; 糟糕的数据库设计:数据冗余...

  • 计算机二级java程序语言设计

    公共基础 数据库 数据库设计过程主要包括需求分析、概要结构设计、逻辑结构分析、数据库物理设计、数据库实施、数据库运...

  • 商城表结构设计

    (一)购物商城数据库设计-前期准备 (二)购物商城数据库设计-商品表设计 (三)购物商城数据库设计-商品表DDL(...

  • Mysql 规范

    Mysql 规范 数据库命名规范总结 数据库基本设计规范 索引设计规范 数据库字段设计规范 数据库SQL开发规范 ...

  • 数据库设计

    一、数据库设计概念 1. 数据库的生命周期 ①数据库分析与设计阶段包括需求分析、概念设计、逻辑设计和物理设计。②数...

  • 2018-04-19

    任务2.5 系统数据库设计 什么是数据库设计 数据库设计,是指根据用户需求,在某一具体的数据库管理系统上,设计数据...

  • Power Designer—数据库设计步骤

    数据库设计步骤 需求分析 — 概念结构设计 — 逻辑结构设计 — 物理结构设计 — 数据库的建立和测试 — 数据库...

网友评论

    本文标题:数据库设计

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