[ 认识存储与数据库 | 青训营笔记 ]

41 阅读2分钟

1. 在数据库的经典案例中潜在的问题

  数据库怎么保证**数据不丢**?
  数据库怎么处理**多人同时修改**的问题?
  为什么用数据库,除了数据库还能存到**别的存储系统**吗
  数据库只能处理**结构化数据**吗?
  有哪些操作数据库的**方式**,要用什么**编程语言**?

2.1 存储系统概述

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

特点:

  • 作为后端软件的底座,性能敏感
  • 存储系统软件架构,容易受硬件影响
  • 存储系统代码,既“简单”又“复杂”

2.2存储系统一RAID技术

RAID出现的背景:

  • 单块大容量磁盘的价格>多块小容量磁盘

  • 单块磁盘的写入性能<多块磁盘的并发写入性能

    • RAID 0

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

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

      • 结合了RAIDO和 RAID 1
      • 真实空间利用率仅50%
      • 容错能力强,写入带宽好
  • 单块磁盘的容错能力有限,不够安全

数据库分类

  • 关系型数据库
    • 关系型数据库是存储系统
    • 结构化数据友好
    • 支持事务 (ACID)
    • 支持复杂查询语言
  • 非关系型数据库
    • 关系型数据库也是存储系统
    • 半结构化数据友好
    • 可能支持事务(ACID)
    • 可能支持复杂查询语言

个人理解

存储系统分为关系型数据库和非关系型数据库,都是用来方便数据的存储的