开发者学堂课程【分布式数据库技术与实现:传统数据库回顾】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/373/detail/4685
传统数据库回顾
目录:
一.传统数据库
二.数据量变大后的新问题
一.传统数据库
回顾一下数据库,举个例子:学生成绩管理系统。
作为学生成绩管理系统,从老师跟学生的角度,需要一个能够被正确的查询出结果,并且同时要求最快的查询速度,来自录入员的需求是让能够正确地记录分数,同时还要有多个人同时记录,并且录入的数据不能丢失,对数据库系统还有一个额外的要求,即输入跟输出的协调,当学生在查询数据分数时,不能出现查到一半的情况。
数据库是如何满足上述要求的,根据关系数据库理论,所有的数据库都要满足 ACID 四个特性,分别是原子性,一致性,隔离性及持久性。
原子性是如何解决录入系统的问题,当一个学生成绩被录入时,一种是完全被录入,一种是安全不被录入,即可解决查到一半的问题。隔离性指多个录入员可以同时录入多个不同的学生的成绩,而互相之间并没有冲突。
持久化是指当成绩被正确的录入到系统以后,即使发生如系统崩溃的问题,数据库仍能保证这些数据在机器恢复以后,能够正确地被查询出来。
从传统的数据库似乎已经能够解决我们基本的需求,实际上,当数据量越来越大时,或对数据的要求越来越高时,单击数据库则会有瓶颈,无法解决需要解决的问题。
二.数据量变大后的新问题
数据量变大后,会有哪些新问题,如假设现在不再是考虑一个学校,一个年级的学生的成绩,而是考虑全国的统考,第一个直接的问题是数据没有办法放在同一台机器上,即放不下。
当数据量变大后,有更多人同时查询这个系统,同时引发的问题是查不了。第三个,假若数据很重要,则丢不起。
对于集中的数据库,如果中间的数据库出现的数据丢失,整个系统就会陷入不可用的情况,对整个系统的可用性是非常大的风险。