带你认识存储 & 数据库|青训营

57 阅读2分钟

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

概念

存储系统和数据库系统往往是后端服务的最后一环,提供数据存储、查询能力。本课程会先用模拟案例导入,向学员介绍存储系统、数据库系统的特点,然后解析多个主流产品,最后分享存储和数据库结合新技术演进的方向。

经典案例

一条数据从产生,到数据流动,最后持久化的全生命周期

数据产生

例:用户注册

数据流动

用户 → 后端服务器 → 数据库 → 存储系统或非存储系统

数据持久化

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

潜在问题

  • 如何保证数据不丢
  • 处理多人修改

分类

单机存储

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

本地文件系统:

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

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

分布式存储

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

HDFS

特点:

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

Ceph

特点:

一套系统支持对象接口,块接口,文件接口,但是一切皆是对象

数据写入采用主备复制模型

数据分布模型采用CRUSH算法

RAID技术

RAID出现的背景:

  • 单块大容量磁盘的价格>多块小容量磁盘
  • 单块磁盘的写入性能<多块磁盘的并发写入性能
  • 单块磁盘的容错能力有限,不够安全

数据库

关系型数据库特点:关系型数据库是存储系统,但是在存储之外,又发展出其他能力 非关系型数据库特点:一般不要求严格的结构化

单机存储

Linux文件系统的两大数据结构 Index Node & Directory Entry

3.2 分布式存储

在单机基础上实现了分布式协议,涉及大量的网络交互,分为两部分:分布式文件系统、分布式对象存储。

分布式数据库解决容量问题

提出了存储节点池化,实现动态扩缩容