数据库的演变史

一:数据库演变史

1.什么是数据库?

1、顾名思义,数据库(DB,database)是按照数据结构来组织、存储和管理数据的“仓库”。

2、数据库指的是以一定方式储存在一起、能为多个用户共享、具有尽可能小的冗余度的特点的、与应用程序彼此独立的数据集合。

3、数据库可以通过统一的一些指令对数据进行增、删、改、查(Create,Retrive,Updata,Delete)等操作。

4,看作是冰箱,可以存取物品的地方
image

2.数据库的作用

1.实现数据共享:
数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。

2.减少数据的冗余度:
同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据,减少了数据冗余,维护了数据的一致性。

3.保持数据的独立性:
数据的独立性包括逻辑独立性(数据库中数据库的逻辑结构和应用程序相互独立)和物理独立性(数据物理结构的变化不影响数据的逻辑结构)。
4.数据实现集中控制:
文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。

5.数据一致性和可维护性:
以确保数据的安全性和可靠性:主要包括:安全性控制、完整性控制、并发控制,使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用。

6.故障恢复:
由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏。数据库系统能尽快恢复数据库系统运行时出现的故障,可能是物理上或是逻辑上的错误。比如对系统的误操作造成的数据错误等。
image

二:数据库的演变方向

1.文件操作阶段(保存数据(读写方式))
jason|123|read

缺点:
每个人数据格式都不相同 程序之间无法兼容

2.软件开发目录规范(保存数据分类不同(文件夹))
db		数据存储文件

缺点:
虽然存储目录相同了,但是每个人数据格式都不相同 程序之间无法兼容

3.存储位置和格式(规定了文件的存储位置和数据格式)

使用数据库的目的就是为了解决数据不兼容的问题,基于网络使数据在某一个地方以相同的格式统一保存,实现数据共享(完成数据之间的格式与存储位置统一)

三:数据存储发展史

1.只保存本地自己数据,彼此不共享(单机模式)
单机游戏: 不需要连接网络就可以玩,在本机储存数据,你的通关记录,账号密码,都存储在本机
    优点:不需要链接网络
    缺点:限制于在一台计算机玩,如果你计算机坏掉了,在换一台,那这些记录都没有。你注册的账号换一台电脑登录也是没有记录的,还是初始化状态。(其实单机好像不需要注册账号)

image

2.数据存储全部统一在相同的地方完成(联机模式)
联机游戏:不在本地保存数据。所有人基于网络把自己的数据存储到相同的位置,数据存储的格式都相同,访问的格式也相同,所以不管在那台计算机上,登录账号密码就可以访问到我们存储在数据库的信息,这样就实现了兼容问题。

image

3.集群的概念

如果数据库机房内,服务器着火了,地震了,海啸了。那这样是不是所有用户的数据都会流失,所以我们用到了集群。 多台计算机从事相同的工作内容

  • 集群的作用:
集群一般由两个或两个以上的服务器组建而成,每个服务器被称为一个集群节点,集群节点之间可以相互通信。通信方式有两种,一种是基于RS232线的心跳监控,另一种是一块单独的网卡 来跑心跳。因而,集群具有节点服务状态监控功能,同时还必须具有服务实体扩展功能,可以灵活地增加和剔除某个服务实体。

集群中,同样的服务可以由多个服务实体提供。因此,当一个节点出现故障时,集群的另一个节点,可以自动接管故障节点的资源,从而保证服务持久、不间断地运行。因而集群具有故障
自动转移功能。


一个集群系统必须拥有共享的数据存储,因为集群对外提供的服务是一致的,任何一个集群节点运行一个应用时,应用的数据集中存储在节点共享空间内,而每个节点的操作系统上仅运行应用的服务,同时存储应用程序文件。

image

四:数据库基本概念

1.什么是数据(Data)?

事物的状态

2.什么是记录?

一组数据结构成一条记录,相当于文件中的一行内容,如1,tanke,male,18

3.什么是表?

文件

4.什么是库?

文件夹

5.什么是数据库管理系统(DataBase Management System 简称DBMS)

管理数据的套接字软件,CS架构

6.什么是数据库服务器?

运行有DBMS服务器的计算机,该计算机对内存和硬件要求都很高

四;软件开发架构

1.c/s架构
客户端 服务端
2.b/s架构
浏览器 服务端

本质:bs架构本质也是cs架构

六:数据库的分类(两大类)

1.关系型数据库(简称RDBMS)

具有固定的表结构 并且表与表之间可以通过外键建立关系
MySQL、MariaDB、Oracle、PostgreSQL、sqlserver、sqlite、db2

  • 简介
    sql server
    微软公司的产品,主要应用于大中型企业,如联想、方正等。
    
    oracle  收费 维护成本高 大型公司可能会使用
    主要用于银行、铁路、飞机场等。该数据库功能强大,软件费用高。
    也是甲骨文公司的产品。
    
    MySQL  开源免费 使用非常规范
    主要用于大型门户,例如搜狗、新浪等,它主要的优势就是开放源代码
    因为开放源代码这个数据库是免费的,他现在是甲骨文公司的产品。
    
    MariaDB  MySQL的替代产品(并且有自己的特性)
    SUN被甲骨文收购后,MySQL 的原创人员有拉出另外一个分支,
    命名MariaDB 。该数据库被维基百科,Facebook 甚至 Google 
    等技术巨头使用。 MariaDB 是一种可为 MySQL 提供插件替换功能的
    数据库服务器。开发人员的首要关注点是安全性,在每个版本发布时,
    开发人员还会合并所有 MySQL 的安全修补程序,
    并在需要时对其进行增强。
	
	PostgreSQL
	支持二次开发
	
	sqlite
	小型数据库(django框架自带该数据库)

注意: sql语句通用

2.非关系型数据库

没有固定的表结构 数据存储采用K:V键值对的形式
redis、mongoDB、memcache

  • 简介
	redis    目前最火的缓存数据库 具有很多数据结构 功能强大(多用来作为缓存)
	mongodb  文档型数据库 可以用在大数据和爬虫领域 (可用来作为后端数据库管理软件)
	memcache  已经被redis淘汰(多用来作为缓存)
3.关系型数据库与非关系型数据库语句

我们通常将操作关系型数据库的语句称为:SQL语句

我们通常将操作非关系型数据库的语句称为:NoSQL语句

有时候甚至使用NoSQL指代非关系型数据库

  • 可以理解为:
    关系型数据库需要有表结构
    非关系型数据库是key-value存储的,没有表结构
4.数据库可以指代的

1.程序
2.数据库管理软件
3.存放数据的某个'文件夹'

七:### SQL与NoSQL的由来

1.什么是SQL语句?
就是操作数据库软件的命令
2.为什么要有SQL语句?
1.是因为数据库能够支持的语言非常的多 为了避免识别问题 
发明了SQL语句 规定只要想使用数据库就统一使用SQL语句操作

2.数据库的服务端为了能够兼容不同类型的客户端实现数据交互
所以规定了统一的交互方式
	关系型数据库>>>:SQL语句
 	非关系型数据库>>>:NoSQL语句

NoSQL有时候也表示 非关系型数据库

image

八:数据库的本质

1.数据库本质就是一款cs架构软件
数据库本质其实就是一款cs架构的软件
所以我们所有人其实都可以写一款数据库软件

在市面上确实有很多数据库软件
在目前地球上有很多牛逼的程序员 他们都具备编写数据库软件的能力 并且目前市面上真的有很多款数据库软件
2.狭义与广义层面理解
1.数据库在狭义层面上来说
	指的是处理数据的底层程序
2.数据库在广义层面上来说
	指的是操作这些底层程序的便捷应用软件
其实学习数据库很多时候学习的是配套的数据库软件
posted @ 2022-01-24 19:15  AlexEvans  阅读(865)  评论(0编辑  收藏  举报