传统数据库回顾 | 学习笔记

简介: 快速学习 传统数据库回顾

开发者学堂课程【分布式数据库技术与实现传统数据库回顾】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/373/detail/4685


传统数据库回顾


目录:

.传统数据库

.数据量变大后的新问题


.传统数据库

回顾一下数据库,举个例子:学生成绩管理系统。

作为学生成绩管理系统,从老师跟学生的角度,需要一个能够被正确的查询出结果,并且同时要求最快的查询速度,来自录入员的需求是让能够正确地记录分数,同时还要有多个人同时记录,并且录入的数据不能丢失,对数据库系统还有一个额外的要求,即输入跟输出的协调,当学生在查询数据分数时,不能出现查到一半的情况。

数据库是如何满足上述要求的,根据关系数据库理论,所有的数据库都要满足 ACID 四个特性,分别是原子性,一致性,隔离性及持久性。

原子性是如何解决录入系统的问题,当一个学生成绩被录入时,一种是完全被录入,一种是安全不被录入,即可解决查到一半的问题。隔离性指多个录入员可以同时录入多个不同的学生的成绩,而互相之间并没有冲突。

持久化是指当成绩被正确的录入到系统以后,即使发生如系统崩溃的问题,数据库仍能保证这些数据在机器恢复以后,能够正确地被查询出来。

从传统的数据库似乎已经能够解决我们基本的需求,实际上,当数据量越来越大时,或对数据的要求越来越高时,单击数据库则会有瓶颈,无法解决需要解决的问题。


.数据量变大后的新问题

数据量变大后,会有哪些新问题,如假设现在不再是考虑一个学校,一个年级的学生的成绩,而是考虑全国的统考,第一个直接的问题是数据没有办法放在同一台机器上,即放不下。

当数据量变大后,有更多人同时查询这个系统,同时引发的问题是查不了。第三个,假若数据很重要,则丢不起。

对于集中的数据库,如果中间的数据库出现的数据丢失,整个系统就会陷入不可用的情况,对整个系统的可用性是非常大的风险。

相关文章
|
8月前
|
存储 关系型数据库 MySQL
Linux C/C++ 开发(学习笔记八):Mysql数据库图片存储
Linux C/C++ 开发(学习笔记八):Mysql数据库图片存储
156 0
|
8月前
|
关系型数据库 MySQL 数据库
Linux C/C++ 开发(学习笔记七):Mysql数据库C/C++编程实现 插入/读取/删除
Linux C/C++ 开发(学习笔记七):Mysql数据库C/C++编程实现 插入/读取/删除
178 0
|
3月前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
169 6
|
3月前
|
SQL Ubuntu 关系型数据库
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
91 3
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
|
4月前
|
SQL 关系型数据库 MySQL
php学习笔记-连接操作mysq数据库(基础)-day08
本文介绍了PHP中连接操作MySQL数据库的常用函数,包括连接服务器、设置字符集、关闭连接、选择数据库、结果集释放、获取影响行数以及遍历结果集等操作。通过书籍查询的实例演示了如何使用这些函数进行数据库操作,并提供了一个PHP操纵MySQL数据库的模板。
php学习笔记-连接操作mysq数据库(基础)-day08
|
5月前
|
SQL druid Java
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
73 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
|
5月前
|
SQL Java 关系型数据库
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
256 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
|
5月前
|
SQL 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
48 6
|
5月前
|
存储 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
123 4
|
5月前
|
SQL 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(中)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
46 3