java面试-数据库面试相关个人汇总(MySQL)

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

  1. 首先需要考虑数据持久化,所以首先需要设计一个文件存储系统,这个文件存储系统可以是磁盘、ssd固态硬盘、也可以是磁盘阵列系统等
  2. 有了物理层存储之后,就需要在逻辑上进行数据划分,这时候就需要设计一个程序实例
  3. 在程序实例中,我们需要设计一个存储管理的功能模块,有了存储功能模块才能实现对数据库的逻辑划分
  4. 为了提高查询效率,我们还需要考虑缓存机制
  5. 可进行存储逻辑划分后,我们就可以对数据库进行操作了,这时候我们就需要添加一个sql解析模块,完成对数据的操作
  6. 既然对数据库需要进行操作,势必需要对操作人员涉及内容进行监控,这时候就需要日志管理
  7. 随着人员的增加,就需要对不同人员分配不同权限,这就是权限划分
  8. 这时候数据库基本完善了,但是考虑安全新我们还需要进行容灾机制
  9. 之后便是需要对数据库性能进行优化的模块了,即索引管理、锁管理

数据库索引篇

事务和锁篇

语法篇

经验分享 程序员 微信小程序 职场和发展