存储的本质 | 青训营笔记

44 阅读2分钟

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

一、课程目录

  • 经典案例
  • 存储&数据库
  • 主流产品
  • 新技术演进

二、课程内容

1、经典案例

数据的流动

  • 用户注册数据
  • 后端服务器
  • 数据库系统

数据的持久化

  • 校验数据的合法性
  • 修改内存
  • 写入存储介质

2、 存储&数据库

数据怎么从应用到存储介质

  • 【缓存】很重要,贯穿整个存储体系(和其他层级软硬件交互)
  • 【拷贝】很昂贵,应该尽量减少
  • 硬件设备五花八门,要有抽象统一的接口

RAID技术

  • 单机存储系统做到高性能、高性价比、高可靠性
  • 背景:单块磁盘价格>多块小容量,写入性能单块<多块
  • Redundant Array of Inexpensive Disks
  • RAIDD0+1,空间利用率50%,RAID1之间是多个RAID0组合

数据库

  • 关系模型:两个实体之间的联系

    • 关系代数:关系运算的抽象查询语言:交、并。。。
    • 结构化数据友好
    • 支持事务ACID
    • 支持复杂查询语言
  • 非关系型数据库:不要求严格的结构化

    • 半结构化数据友好

3、主流产品剖析

单机存储

  • 本地文件系统

    • Linux经典哲学:一切皆文件
      • Linux文件系统两大数据结构
        • Index Node:文件的唯一标识,id、大小、权限、磁盘位置
        • Directory Entry:记录文件名,inode指针,层级关系
  • key-value存储

分布式存储

  • 单机存储基础上实现分布式协议
    • 分布式文件系统- HDFS
    • 分布式存储-Ceph

分布式数据库

  • 解决容量问题:存储节点池化,动态扩缩容

    • 与数据库通过网络交互
    • Database不需要感知容量
  • 解决弹性问题

    • 存储节点池化
    • 什么不够扩什么
  • More to Do

    • 多写
    • 内存弹性
    • 分布式事务优化

未完待续,未完待续。。