[ 004.常用数据库概述和新技术展望 | 青训营笔记 ]

95 阅读2分钟

常用数据库概述

1.单机存储

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

  • 本地文件系统。例如Linux,Linux的经典哲学:一切皆文件。
    文件系统的管理单元:文件
    文件系统接口: 文件系统繁多,如Ext2/3/4,sysfs,rootfs等,但都遵循VFS的统一抽象接口
    Linux文件系统的两大数据结构: Index Node & Directory Entry

image.png

  • Key-Value存储
    常见数据结构: LSM-Tree,某种程度上牺牲读性能,追求写入性能
    拳头产品: RocksDB

image.png

2.单机关系型数据库

单机数据库 = 单个计算机节点上的数据库系统事务在单机内执行,也可能通过网络交互实现分布式事务
商业产品Oracle称王,开源产品MySQL & PostgreSQL称霸

image.png

3.单机非关系型数据库

非关系型数据库MongoDB、Redis、Elasticsearch三足鼎立

image.png

  1. 关系型数据库一般直接使用SQL交互而非关系型数据库交互方式各不相同
  2. 非关系型数据库的数据结构千奇百怪没有关系约束后,schema相对灵活
  3. 不管是否关系型数据库,大家都在尝试支持SQL(子集)和“事务”

image.png

4.分布式存储&分布式数据库

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

  • HDFS:大数据之基石

HDFS核心特点

  1. 支持海量数据存储
  2. 高容错性
  3. 弱POSIX语义
  4. 使用普通x86服务器,性价比高
  • Ceph: 开源分布式存储系统里的万金油

Ceph的核心特点

  1. 一套系统支持对象接口、块接口、文件接口,但是一切皆对象
  2. 数据写入采用主备复制模型
  3. 数据分布模型采用CRUSH算法,HASH + 权重 + 随机抽签

新技术演进

1.软件架构变更

软件架构是软件层面的革新 image.png

2.AI增强

AI增强引入了AI决策 image.png

3.新硬件革命

  1. 引入新的网络协议栈
  2. 引入新的Persistent Memory
  3. 引入可编程交换机
  4. 引入新的处理单元 image.png