带你认识存储的本质 - 状态 | 青训营笔记

54 阅读2分钟

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

经典案例

通过一个模拟案例,描述了数据是怎么产生,在后端系统里怎么流通,最后怎么写入到存储/数据库系统。

数据的流动:

  1. 一条用户注册数据
{
    "username": "小明",
    "password": "helloworld"
}
复制代码
  1. 后端服务器
  2. 数据库
  3. 其它系统

数据的持久化:

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

存储 & 数据库简介

  • 存储系统概览:一个提供了读写、控制类接口,能够安全有效地把数据持久化的软件

    • 存储系统特点:性能敏感、容易受硬件影响
    • 存储器层级结构:位于持久性存储
    • 单机存储栈:从应用到介质——缓存、系统调用、内核缓存、内核写入磁盘
    • RAID技术:冗余磁盘阵列
  • 数据库系统概览

    • 关系型数据库特点

      • 结构化数据友好、支持事务、支持复杂查询语言
    • 非关系型数据库特点

      • 半结构化数据友好、可能支持事务、可能支持复杂查询语言
    • 数据库 vs 经典存储

    • 数据库使用方式

主流产品剖析

  • 单机存储产品

    • 单机文件系统:单个计算机上存储、一般不涉及网络交互
    • 单机key-value存储:一切皆kv
  • 分布式存储产品

    • HDFS:大数据时代的基石

      • 海量数据存储
      • 高容错性
      • 弱POSIX语义
      • 普通x86服务器,性价比高
    • Ceph

      • 一切皆对象
      • 主备复制模型
      • CRUSH算法
  • 单机数据库产品

    • 关系型数据库 —— PG、MySQL

      • MySQL:Query Engine、Txn Manager、Lock Manager、Storage Engine、Replication
      • 关键内存数据结构:B-Tree、B^+^-Tree
      • 关键磁盘数据结构:WriteAheadLog、Page
    • 非关系型数据库 —— ES、MongoDB、Redis

    • Elasticsearch使用案例

  • 分布式数据库产品

    • 问题与挑战
    • 解决方案

新技术演进

  • SPDK
  • 人工智能
  • 新硬件加速