存储和数据库是什么
1、案件引入
在用户和服务器交互过程中上是一个数据产生,数据流动,数据持久化的一个过程。数据产产生于用户与产品进行交互吗,而数据流动指的是数据从用户流动到后端服务器流动到数据库的这样一个过程。而在这样一个过程中,数据库在数据流动最后一环起着数据持久化的作用。数据持久化起着检验数据是否合法,修改内存(更改高效数据组织结构),写入储存介质的作用。
2、存储系统和数据库简介
2.1、存储系统和数据库的含义
存储系统:提供读写,控制接口。安全将数据持久化
数据库:特殊的存储系统,在存储系统的基础上拥有更多的功能。其中数据库分为关系型数据库以及非关系型数据库。
2.2、存储系统和关系型数据库和非关系型数据库的特点
关系型数据库和非关系型数据库本质上是一种特殊的存储系统。然而将三者拧出来加以区分是因为三者拥有着各自的特点。
2.2.1、存储系统
一、性能敏感。后端软件底座,用户的操作会对储存系统进行读写=都会对储存系统进行操作。因而储存系统性能变差会整体影响产品性能。
二、容易受硬件影响。由于储存系统的读写都是和硬件相关。而不同厂商对于硬件读写的规则是不同的,我们对存储系统的操作要考虑到储存系统。
三、代码既简单又复杂。简单在于操作少简单。复杂在于需要考虑硬件,性能,安全等多方面因素。
四、使用多块磁盘以及冗余磁盘。使用多块磁盘保证并发写入性能,增加冗余来增加可靠性。多块磁盘比一大块磁盘成本低实现高性价比。
2.2.2、关系型数据库和非关系型数据库
关系型数据库和非关系数据库在拥有上述共同的储存系统封特点以外,在以下方面存在差异。
一、结构型数据友好和半结构化数据友好。关系型数据库结构型数据友好,非关系型数据库半结构化数据友好。结构化数据是以明确定义的格式存储的数据,例如表格、数据库或XML文件等。半结构化数据没有明确定义的固定格式,例如JSON文件、XML文件等。这里友好指的是更好地处理这些类型的数据。
二、支持事务和可能支持事务。事务能力指的是ACID。Atomicity指的是具体到一个每个业务都做完。Consistency指的是执行任务前后,处理的事务的整体是一致的。例如A和B结构体下有钱这一成员变量,两者相加起来1000元。在两者进行相互转钱后总和依旧1000元。Isolation指的是可以隔离多个多个并发事件,单个事件的处理是安全的不受其他事件影响的。Durability指的是数据存储的持久性。
三、支持复杂查询语言和可能支持复杂查询语言。复杂查询语言可以以SQL为例。支持以存在开源的库,使用较短的代码实现对特定需求的查询。
3、主流产品
3.1单机式储存
内涵:单个计算机节点的储存系统。例子:一、linux系统一切皆为文件,Index Node和Directory Entry两种数据结构进行储存。二、key-value存储。像py里面字典这一概念。用key作为接口,其中可以存储任意有关value的值。
3.2分布式储存
内涵:单机存储实现分布式协议。例子:HDFS大数据时代基石。多个单机基于分布式协议实现储存数据量大以及超高的吞吐。
3.3单机式数据库
内涵:单个计算机节点数据库系统。事务可单机可分布式事务。例子:关系型数据库MYSQL。非关系型数据库Redis。
3.4分布式数据库
内涵:在单机式数据库前提下实现高容量,高性价比,高弹性。
4、总结
后面课程还提到了新技术演进,印象较为深刻的是老师会反复强调硬件和存储系统的高度相关性。本身在着之前没接触过存储系统和数据库,在总结上课内容上加了一些自己的理解。假如理解不准确的地方感谢大家指导欢迎大家一起交流学习~