数据库与存储 | 青训营笔记

66 阅读2分钟

存储与数据库

数据的写入与存储

对于有价值的数据,很自然地我们会将这些数据存储到磁盘里面进行长期存储,因为数据在内存里是会有被替换或者因为断电而丢失的情况。同时由于内存的空间是有限的,不能满足大量的数据需求,因此,我们会将有用但是并不总是会用到的信息,比如用户的账号、密码等信息存储到磁盘等介质中进行长期存储。

那么对于大量的数据,我们该如何对这些数据进行管理呢?为了解决这个问题,我们有了数据库系统,数据库顾名思义是存储数据的库,而数据库管理系统是对数据库进行操作的系统。数据库要保证存储的读写安全性,也就是要保证acid特性,因为很明显对于高并发的场景,我们必然避免不了多个用户同时访问同一个数据的情况,我们的数据库当然要保证这种情况下的并发安全性,这就牵扯到调度问题。

同时磁盘等介质实际上IO速度相对于内存是比较慢的,但是ram等介质成本比磁盘等高很多,于是我们自然就有了缓存机制,缓存实际上是利用时间局部性、空间局部性等特性,将比较常访问的放在内存等介质中,加速我们的访问。

单机存储与分布式存储

对于数据的存储我们既可以将这些数据存储到一个主机上、也可以将这些数据存储到多个主机上。让我们考虑将所有数据都存储到一个主机上的这种场景,如果很多用户同时访问这些数据,那么这很容易会造成阻塞,直观理解就是服务器会忙不过来,并且如果突然这个主机被断电了,那么这整个系统都会瘫痪,单点的容错率很低。考虑分布式系统的情况,分布式系统可以一定程度上提高整个系统的容错率以及相应的及时性,使得整个系统具有更高的容错率。

小结

青训营的第三天,复习了存储与数据库的相关知识,并且学习了一些分布式的相关知识,收获很多。