这是我参与「第三届青训营 -后端场」笔记创作活动的第5篇笔记
自图灵提出以图灵机的基本计算机模型以来,数据的存储架构就成为了计算机发展史中最重要的话题之一。而进入了互联网时代之后,由于提供数据是互联网服务商的基本服务内容之一,数据储存更是成为了重中之重,今天就记录一下课上所学到几种数据库概念。
1.关系型数据库
关系型数据库是指的以关系模型作为逻辑基础的储存系统。关系模型则是指严格使用关系(集合)以及属性等数学符号去储存数据并代指现实中可能存在的一切事物以及其之间的关系。此外,除了最基本的存储功能,关系性数据库还提供事务以及sql等复杂查询语言等服务。mysql就是最常见的关系性数据库。
2.非关系型数据库
非关系型数据库是指的不以关系模型作为逻辑基础的储存系统。其数据不以严格的结构储存。此外,除了最基本的存储功能,关系性数据库只是有可能提供事务以及sql等复杂查询语言等服务。目前最常见的非关系型数据库如Redis等一般是提供Key-Value查询服务。
3.单机型数据库
单机型数据库是指的在单个计算机节点上所运行的数据库系统,其大部分时候在单机上执行事务,但是有时候也能支持分布式事务,所以主要还是看其是否仅支持在单机上运行来判断其是否是单机数据库,常见的mysql,redis,mongodb等数据库由于都能在单机上运行,所以都是单机型数据库。
4.分布式数据库
单机型数据库由于高并发场景性能弱,容量较小,弹性较差,容错等问题。现在大部分业务场景使用都是分布式数据库,也就是一个数据库系统在多台计算机上面运行。其能够支持事务在多个计算机的数据库系统上运作,并提供数据备份以及高并发的性能。虽然其需要产生一些性能上的额外开销,但是结果是很值得的。