认识存储和数据库 | 青训营笔记

51 阅读2分钟

认识存储和数据库

一、潜在的问题

1、数据库怎么保存数据不丢?

2、数据库怎么处理多人同时修改的问题?

3、为什么用数据库,除了数据库还能存到别的存储系统吗?

4、数据库只能处理结构化数据吗?

5、有哪些操作数据库的方法,要用什么编程语言?

二、存储系统

1、什么是存储系统?

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

2、存储系统-系统特点:

作为后端软件的底座,性能敏感

存储系统代码,既**"简单"又"复杂"**。

存储系统软件架构,容易受硬件影响。

存储系统层级结构

image.png

3、数据库种类

分为关系型数据库和非关系型数据库。

1、关系型数据库特点: 是存储系统,但是在存储之外,又发展出其他能力。

结构化数据友好。

支持事务(ACID)。

支持复杂查询语言。

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

半结构化数据友好。

可能支持事务(ACID)。

可能支持复杂查询语言。

4、数据库vs经典存储

结构化数据管理、事务能力、复杂查询能力。

5、数据库使用方式:

普遍为SQL语言。

三、主流产品剖析

1、单机存储

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

本地文件系统:Linux经典哲学:一切皆文件。Linux文件系统的两大数据结构:Index Node 和 Directory Entry。

Key-value存储:世界一切皆Key-value——key是你的身份证,value是你的内涵。

2、分布式存储

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

HDFS:堪称大数据时代的基石。

Ceph:开源分布式存储系统里的“万金油”。

3、单机数据库

单个计算机节点上的数据库系统。

事务在单机内执行,也可能通过网络交互实现分布式事务。