数据库-如何设计一个关系型数据库

前言

小伙伴在面试的时候,有没有被问道过:如何设计一个关系型数据库?如果你没有看过本文,又不谙此道,那肯定会慌张不易,答不到点子上。别慌,接下来我们一起来简单了解一下吧。

模块划分

如何设计一个关系型数据库?其实只需要划分为两个部分,如下图所示:
数据库-如何设计一个关系型数据库

存储部分

该部分类似于一个文件系统,将数据持久化到存储设备当中

程序实例

程序实例主要是对存储进行逻辑上的管理,划分为8个子模块:

  • 存储管理:将数据的逻辑关系转换为物理存储关系
  • 缓存机制:主要是优化执行效率
  • SQL解析:将SQL语句进行解析
  • 日志管理:记录操作
  • 权限划分:进行多用户管理
  • 容错机制:灾难恢复
  • 索引管理:优化数据查询效率
  • 锁管理:支持并发操作

看完过后是不是觉得很简单呢,当然这属于看着简单,实现复杂系列。