存储系统 | 青训营笔记

208 阅读2分钟

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

概念

存储系统

一个提供了读写、控制类接口,能够安全、有效地把数据持久化的软件

存储系统特点

  • 性能敏感
  • 存储系统代码,既简单又复杂
  • 软件架构容易受硬件影响

RAID

背景

  • 高性能
  • 高性价比
  • 高可靠性

RAID0

  • 多块磁盘简单组合
  • 数据条带化存储,提高磁盘带宽
  • 没有额外的容错设计

RAID1

  • 一块磁盘对应一块额外镜像盘
  • 真实空间利用率50%
  • 容错能力强

RAID0+1

  • 结合0和1
  • 真实空间利用率50%
  • 容错能力强、写入带宽好

关系

  • 关系=集合=任意元素组成的若干有序偶对,反应了事物间的关系
  • 关系代数=对关系作运算的抽象查询语言
  • SQL=一种DSL=方便人类阅读的关系代数表达形式

非关系型数据库

一般不要求严格的结构化,一般不支持事务

主流存储系统

单机存储

本地文件存储

Linux

  • Index Node:总数在格式化文件系统时就固定了,一个文件的唯一标识
  • Directory Entry:记录文件名、inode指针、层级关系等,和inode关系n:1

KV存储

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

分布式存储系统

HDFS,分布式文件系统

  • 支持海量数据存储
  • 高容错性
  • 弱POSIX语义
  • 性价比高

Ceph

  • 一切皆对象
  • 数据写入采用主备复制模型
  • 数据分布模型采用CRUSH算法

单机数据库

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

关系型数据库

  • mysql
  • oracle

非关系型数据库

  • MongoDB:面向文档存储
  • Redis:数据结构丰富

缺点

  • 容量:池化
  • 弹性:池化
  • 性价比:池化

单写、多写;磁盘弹性到内存弹性;分布式事务优化

新技术

  • SPDK
  • AI+Storage