存储与数据库 | 青训营

47 阅读2分钟

一、存储系统

  1. 什么是存储系统? 存储系统是一个提供读写和控制类接口的软件,能够安全有效地将数据持久化到硬件设备中。
  2. 存储系统的特点:
  • 后端软件的底座,性能敏感,需要具备高性能。
  • 存储系统的架构容易受硬件影响,需要与硬件发展相适应。
  • 存储系统代码既简单又复杂,需要处理多种异常分支。
  1. 存储系统的硬件:存储器 存储器的容量和速度存在负相关关系。
  2. 存储系统的软件特点:
  • 缓存在整个存储体系中起着重要的作用。
  • 拷贝操作代价昂贵,应尽量减少拷贝操作。
  • 硬件设备类型繁多,需要有抽象统一的接入层。
  1. RAID技术 RAID(Redundant Array of Inexpensive Disks)技术是为了提高单机存储系统的性能、性价比和可靠性而出现的技术。
  • RAID 0:将多块磁盘简单组合,通过数据条带化存储提高磁盘带宽,但没有额外的容错设计。
  • RAID 1:一块磁盘对应一块镜像盘,容错能力强但真实空间利用率仅为50%。
  • RAID 0+1:结合了RAID 0和RAID 1的优点,具有较强的容错能力和良好的写入带宽。

二、关系型数据库

  1. 关系(Relation)是什么?

    关系是由任意元素组成的有序偶对构成的集合,反映事物之间的关系。

  2. 关系代数

    关系代数是一种抽象查询语言,用于对关系进行运算,包括交、并、差、笛卡尔积等运算。SQL是一种方便人类阅读的关系代数表达形式。

  3. 关系型数据库的特点:

  • 结构化数据友好,可以以表的形式进行管理。
  • 支持事务(ACID),保证数据的一致性和完整性。
  • 支持复杂查询语言,提供灵活简洁的查询方式。

三、非关系型数据库

  1. 非关系型数据库的特点:
  • 半结构化数据友好,不要求严格的结构化。
  • 可能支持事务(ACID)。
  • 可能支持复杂查询语言。

四、数据库与经典存储系统的比较

  1. 数据管理: 数据库将数据以表的形式进行管理,而经典存储系统将数据写入文件自行管理。
  2. 事务能力: 数据库具备强大的事务支持,事务具有原子性、一致性、隔离性和持久性的特点,保证数据的完整性和一致性。 经典存储系统的事务能力较弱。
  3. 复杂查询能力: 数据库支持灵活简洁的复杂查询,而传统存储系统的查询方式相对僵化复杂。