【认识存储的本质】经典案例-存储 & 数据库简介-主流产品剖析-新技术演进 | 青训营笔记

76 阅读3分钟

这是我参与「第五届青训营」伴学笔记创作活动的第 13 天,今天学习的内容是关于认识存储的本质,包括经典案例、存储 & 数据库简介、主流产品剖析和新技术演进四个部分,根据课程内容整理学习笔记如下。

11 带你认识存储的本质 - 状态

11.1 经典案例

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

数据的流动

image.png

数据的持久化

image.png

11.2 存储 & 数据库简介

11.2.1 存储系统概览

概念: 一个提供读写、控制类接口,能够安全有效地把数据持久化的软件,就可以称为存储系统

  • 存储系统特点

image.png

  • 存储器层级结构

image.png

  • 单机存储栈

    • 缓存很重要。贯穿整个存储体系
    • 拷贝很昂贵,应该尽量减少
    • 硬件设备五花八门,需要有统一的接入层

image.png

  • RAID(Redundant Array of Inexpensive Disk) 技术

image.png

11.2.2 数据库系统概览

  • 关系型数据库特点

关系型数据库是存储系统,但在存储之外,又发展出其他能力

image.png

  • 非关系型数据库特点

非关系型数据库也是存储系统,但一般不要求严格的结构化

image.png

  • 数据库 vs 经典存储

结构化数据管理

image.png

事务能力

image.png

复杂查询能力

image.png

  • 数据库使用方式

image.png

11.3 主流产品剖析

11.3.1 单机存储产品

单机存储 = 单个计算机节点上的存储软件系统,一般不涉及网络交互

  • 单机文件系统

    Linux经典哲学 - 一切皆文件

image.png

  • 单机key-value存储

    世间一切皆key-value - key是身份证,value是内涵

image.png

11.3.2 分布式存储产品

分布式存储 = 在单机存储的基础上实现了分布式协议,设计大量网络交互

  • HDFS:堪称大数据时代的基石

image.png

  • Ceph:开源分布式存储系统里的万金油

image.png

11.3.3 单机数据库产品

单机数据库 = 单个计算机节点上的数据库系统

事务在单机内执行,也可能通过网络交互实现分布式事务

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

image.png

image.png

  • 非关系型数据库 —— ES、MongoDB、Redis

image.png

image.png

  • Elasticsearch使用案例

image.png

11.3.4 分布式数据库产品

  • 问题与挑战

    • 容量
    • 弹性
    • 性价比
  • 解决容量问题

image.png

  • 解决弹性问题

image.png

  • 解决性价比问题

image.png

  • More to Do

image.png

11.4 新技术演进

  • 概览

image.png

  • SPDK

image.png

  • 人工智能

image.png

  • 新硬件加速

image.png

11.5 总结

存储系统

  • 块存储:存储软件栈里的底层系统,接口过于朴素
  • 文件存储:日常使用最广泛的存储系统,接口十分友好,实现五花八门
  • 对象存储:公有云上的王牌产品,immutable语义加持
  • key-value存储:形式最灵活,存在大量的开源/黑盒产品

数据库系统

  • 关系型数据库:基于关系和关系代数构建的,一般支持事务和SQL访问,使用体验友好的存储产品
  • 非关系型数据库:结构灵活,访问方式灵活,针对不同场景有不同的针对性产品

分布式架构

  • 数据分布策略:决定了数据怎么分布到集群里的多个物理节点。是否均匀,是否能做到高性能
  • 数据复制协议:影响IO路径的性能,机器故障场景的处理方式
  • 分布式事务算法:多个数据库节点协同保障一个事务的ACID特性的算法,通常基于2pc的思想设计

在存储&数据库领域,硬件反推软件变革十分常见!