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

92 阅读2分钟

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

本次课程内容:

  • 课程案例
  • 存储 & 数据库简介
  • 主流产品剖析
  • 新技术演进

经典案例

案例潜在问题:

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

存储与数据库简介

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

- 存储系统概览

  • 存储系统特点

    • 性能敏感
    • 既简单又复杂
    • 容易受硬件影响
  • 存储器层级结构

  • 单机存储栈

  • RAID技术

    • 单块大容量磁盘的价格>多块小容量的磁盘
    • 单块磁盘的写入性能<多块磁盘的并发写入性能
    • 单块磁盘的容错能力有限,不够安全
  • 数据库系统概览

    • 关系型数据库特点
    • 结构化数据友好
    • 支持事务
    • 支持复杂查询语言

非关系型数据库特点

  • 半结构化数据友好

  • 可能支持事务

  • 可能支持复杂查询语言

  • 数据库 vs 经典存储

  • 事务能力

  • 复杂的查询能力

    数据库使用方式

    • 以SQL为例,要操作数据时候,支持以下操纵
    • Insert
    • update
    • select
    • delete
    • where子句
    • Groupby
    • orderby

主流产品剖析

  • 单机存储

  • 分布式存储

  • 单机关系型数据库

  • 单机非关系型数据库

  • 分布式数据库

  • 单机存储产品

    • 单机文件系统
    • 单机key-value存储
  • 分布式存储产品

    • HDFS
    • Ceph
  • 单机数据库产品

    • 关系型数据库 —— PG、MySQL
    • 非关系型数据库 —— ES、MongoDB、Redis
    • Elasticsearch使用案例
  • 分布式数据库产品

    • 问题与挑战
    • 解决方案

新技术演进

  • SPDK

  • 人工智能

  • 新硬件加速