数据库-1| 青训营笔记

47 阅读2分钟

数据库的一些问题

  • 数据库怎么保证数据不丢
  • 数据库怎么处理多人同时修改的问题
  • 为什么用数据库,除了数据库可以用别的数据系统么
  • 数据库只能处理结构化函数么
  • 有哪些操作数据库的方式,用什么编程语言

存储系统

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

特点

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

数据怎么从应用到存储介质

缓存重要,贯穿整个存储系统。 拷贝很昂贵,应该尽量减少。硬件设备很多,需要有抽象统一的接入层

RAID技术(磁盘阵列)

单机存储系统怎么做到高性能/高性价比/高可靠性-----(RAID技术)

  • 出现的背景
    • 单块大容量磁盘的价格>多块小容量磁盘
    • 单块磁盘的写入性能<多块磁盘的并发写入性能
    • 单块磁盘的容错能力有限,不够安全
  • 其中
  • RAID 0
    • 多块磁盘简单组合
    • 数据条带化存储,提高磁盘带宽
    • 没有额外的容错技术
  • RAID 1
    • 一块磁盘对应一块额外镜像盘
    • 真实空间利用率仅50%
    • 容错能力强
  • RAID 0+1
    • 结合了上述两种
    • 真实空间用率仅50%
    • 容错性好,写入带宽好

数据库和存储系统不一样么?

  • A(原子性Atomicity)事务内的操作要么全做,要么不做
  • C(一致性Consistencyv)事务执行前后,数据状态是一致的
  • I(隔离性Isolation)可以隔离多个并发事务,避免影响
  • D(持久性Durability)事务一旦提交成功,数据保持持久性

关系型数据库

关系=集合=任意元素组成的若干有序偶对反映了事物间的关系。 关系型数据库是存储系统,但是在存储之外,又发展出其他能力

  • 结构化数据友好
  • 事务管理(ACID)
  • 支持复杂查询sql语言

非关系型数据库

非关系型数据库也是存储系统,但一般不要求严格的结构化

  • 半结构化数据友好
  • 可能支持从事务管理(ACID)
  • 可能支持复杂查询sql语言