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

122 阅读2分钟

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

此笔记的主要内容如下

  • 经典案例:一条数据从产生,到数据流动,最后持久化的全生命周期
  • 存储&数据库简介:数据库和存储系统背景知识,它们是什么,有哪些特点?
  • 主流产品剖析:主流的存储&数据库系统架构,经典产品剖析
  • 新技术演进:老系统结合新技术,如何持续演进走向新生?

数据的全生命周期

用户注册数据,数据传入后端服务器,然后存入数据库,存入数据库后,数据才算是持久化地保存起来。但是存储介质也有寿命

存储&数据库简介

存储系统

系统特点
  • 作为后端软件的底座,性能敏感;
  • 存储系统软件架构,容易受硬件影响;
  • 存储系统代码,既“简单”又“复杂”
数据怎么从应用到存储介质
  • buffer和cache的作用是在跨软件层的地方以硬件/软件友好的方式与其他层级的硬件/软件进行交互
  • 拷贝操作代价高,应该尽量减少
  • 硬件设备五花八门,需要有抽象统一的接入层
RAID技术

Redundant Array Inexpensive Disks

数据库

关系型数据库特点

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

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

数据库 vs 经典存储

事务能力

数据库支持 事务

主流产品剖析

单机存储

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

本地文件系统

文件系统的管理单元:文件

文件系统接口:文件系统繁多,但都遵循VFS的统一抽象接口

Key-Value存储

常见使用方式:put(k, v) & get(k)

常见数据结构:LSM-Tree,以某种程度上牺牲读性能,追求写入性能

分布式存储

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

分布式文件系统

HDFS核心特点:

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

单机数据库

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

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

关系型数据库

Oracle MySQL

非关系型数据库

MongoDB Redis Elasticsearch