认识存储与数据库丨青训营笔记

98 阅读2分钟

这是我参与「第五届青训营」伴学笔记创作活动的第 10 天

本文同步发布于博客(xblc.netlify.app),如果有更新博客会在第一时间更新

带你认识存储 & 数据库 .pptx - 飞书云文档

【后端专场 学习资料六】第五届字节跳动青训营 - 掘金

经典案例

数据产生 -> 流动 -> 数据的持久化

潜在的问题

存储 & 数据库简介

存储系统

定义:

  • 提供了读写、控制类接口
  • 能够安全可靠地将数据持久化

系统特点:

  • 性能敏感
  • 代码在读写上需要简单、内部需要复杂(错误处理,考虑出多种异常情况、甚至硬件的损坏)
  • 软件架构比较容易受硬件影响

存储器层级结构:

  • 容量
  • 存活时期
  • 成本

数据是怎么从 APP -> 存储介质 的?

  • 缓冲区缓存很重要
  • 拷贝很成本很高,需要尽量减少
  • 硬件最好有抽象统一的接入层

image.png

RAID 技术

单机存储系统想同时做到高性能、高性价比、高可靠性

image.png

数据库

数据库和存储系统的区别?

关系数据库:是存储系统,但是也发展出了很多其他能力

  • 结构化数据特别友好
  • 支持事务 ACID
  • 支持复杂查询语言(SQL)

非关系型数据库

  • 半结构化数据友好
  • 后两者都是可能支持

数据库 vs 经典存储

结构化数据管理

用户数据 -> 以表形式存入数据库 -> 写入文件由数据库组织管理结构

事务能力

ACID 的特性

  • 原子性:事务内的操作,要么全做,要么不做
  • 一致性:事务执行前后,数据状态是一致的
  • 孤立性:在并发操作中,隔离多个并发事务,避免相互影响
  • 持久性:数据持久

复杂查询能力

主流产品剖析

新技术演进