存储与数据库 | 青训营笔记

70 阅读3分钟

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

前言

今天主要通过案例的形式讲解了存储与数据库

经典案例

案例主要介绍了数据从产生到流动再到最后持久化的过程

产生

初次使用一个app时,注册账户要填一些信息。在这个过程中,数据就产生了。

流动

数据由客户端向服务器传递的过程中,便产生了数据的流动。

持久化

数据到达服务器后,为了更好的为用户服务,数据将会被记录到某个地方。这就是数据的持久化。

存在的问题

上面的过程是一条数据的完整的生命周期。在这个过程中,存在许多的问题。

  • 数据不丢
  • 多人同时修改
  • 存储的多元化
  • 数据处理的单一性
  • 处理方式与编程语言

存储与数据库的简介

存储

简介

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

特点

  • 性能敏感
  • 容易受硬件影响
  • 代码简单又复杂

数据的传递时要注意的点

  • 缓存很重要,作为数据逐级传递时的中转站
  • 拷贝很昂贵,应该尽量减少
  • 硬件很多,应该具有统一的抽象接口

RAID技术

背景

  • 单块大容量硬盘的价格 >> 多块小容量的硬盘
  • 单块一个盘写入性能 << 多块硬盘并发写入的性能
  • 单块硬盘易损坏

数据库

  • 关系型数据库
  • 非关系型数据库

概念

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

关系型数据库的特点

  • 是存储系统
  • 对结构化数据友好
  • 支持事务
  • 支持复杂查询语言

非关系型数据库的特点

  • 对非结构化数据友好
  • 可能支持事务
  • 可能支持复杂的查询语言

主流产品

单机存储

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

  • 本地文件系统
  • k-v存储

分布式存储

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

  • 分布式文件存储
  • 分布式对象存储

单机数据库

单个计算机节点上的数据库系统,事务在单机上执行,也可能通过网络交互实现分布式事务

  • 关系型
  • 非关系型

单机数据库存在的问题

  • 容量
  • 弹性
  • 性价比

分布式数据库

  • 多写
  • 内存弹性
  • 分布式事务优化

新技术演进

  • 架构变更
  • AI增强
  • 硬件革命
    • 存储介质
    • 计算单元
    • 网络硬件