带你认识存储的本质 - 状态 | 青训营笔记

27 阅读2分钟

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

知识点

1.数据库简介,主流产品介绍

2.新技术

细则

1.存储系统特点

  • 性能敏感
  • 容易受硬件影响

8e6c87e4-94df-49fe-93c4-fea8a7047211.png

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

2.关系型数据库

关系=集合-任意元素组成的若干有序偶对反应了事物间的关系。

关系代数-对关系做运算的抽象查询语言

SQL-方便人类阅读的关系代数表达形式用函数来表达查询方式

特点:
  • 结构化数据友好
  • 支持事务(ACID)
  • 支持复杂查询语言

感觉目前主流的数据库都是关系型的,对象型的数据库还属于未来可期

非关系型的有mongodb和redis等,但感觉他们都属于有特定的就业方向的

3.新技术

spdk,ai,硬件加速等

4.一些奇奇怪怪

MongoDB

  • 面向文档存储
  • 文档可序列化成JSON/BSON,支持嵌套
  • 存在collection,collection=文档的集合
  • 存储和构建索引能力依赖wired Tiger引擎
  • 4.0后开始支持事务(多文档、跨分片多文档等)
  • 常用client/SDK交互,可通过插件转移支持弱SQL

Redis(在web应用广泛应用)

  • 数据结构丰富(hash表,set,zset,list)
  • C语言实现,超高性能
  • 主要基于内存,但支持AOF/RDB持久化
  • 常用redis-cli多语言SDK交互

Elasticsearch(电商平台使用较多,配合后台的大型数据库(mysql,sqlserver)等一同使用)

  • 面向文档存储
  • 文档可序列化成JSON,支持嵌套
  • 存在index,index=文档的集合
  • 存储和构建索引能力依赖Lucene引擎
  • 实现了大量搜索数据结构&算法
  • 支持RESTFUL API,也支持弱SQL交互