数据库前置知识

数据库前置知识

数据库是什么?

数据库是一类软件,这一类软件可以用来“管理数据”(能够对数据进行保存,和增删改查)。而我们知道,数据结构就是针对数据进行增删改查,那么这两者有什么关联呢?其实,数据库则是管理数据的软件,是实现数据增删改查的具体方式,实现数据库软件内部就用到了很多的数据结构。

数据库这一类软件中,有一些典型的“代表”

-Oracle
Oracle(甲骨文公司)是数据库中的老大哥,Java语言正是甲骨文维护的!!!要说当下最好的数据库软件,当属Oracle。其优点在于数据库足够安全,自身软件的安全性足够强大,且客户在出现问题后可联系工作人员上门来及时解决。当然其最大的缺点就是价格昂贵,很多中小型公司根本无法承担起昂贵的成本。Oracle一般要搭配“小型机”使用。

计算机注释
巨型机超级计算机(超算)
大型机、中型机、小型机统称小型机,仅次于超算的机器(一人之下,万人之上)
微型机平时的笔记本,台式机,包括普通的服务器

-MySQL
MySQL是当下非常流行的数据库软件,其最大的特点就是开源,免费。在2010年之前,mysql虽然已经成名,但是不够能打。当时mysql主打的是一些中小型网站,对于大型网站还有些捉襟见肘。后来阿里巴巴内部推进了“去Oracle计划”,虽然单个Oracle功能比MySQL强大,但是可以使用多个MySQL取而代之。阿里就大大的推进了MySQL的进化,让MySQL各个方面不断完善,甚至能够支撑像双十一这种非常可怕的业务场景了。于是,其它公司也纷纷跟进,MySQL一下就火起来了。就在MySQL有向Oracle发起挑战的趋势时,Oracle反手将MySQL收购了,所以MySQL现在也是Oracle旗下的产品了。

-SQL Server
这个数据库时微软搞的一个数据库,SQL Server市场占有率并不高。其软件自身并不存在太大问题,问题在于微软早期的营销策略存在大问题。最开始微软把SQL Server和Windows Server系统捆绑销售,而服务器端主流的操作系统是Linux,SQL Server并不支持别的系统,因此SQL Server使用情况非常不乐观。后来,微软改变策略,也想支持Linux的时候已经为时已晚了。

-SQLite
SQLite是一个轻量级的数据库,整个数据库就只有一个可执行文件,体积大概是1MB左右。千万不要以为这么小的数据库没有太大作用。事实上,SQLite市场份额也非常高。Android手机上内置的数据库就是SQLite。

上述介绍的数据库,都称为“关系型数据库”。还有一类叫做“非关系型数据库”(NoSQL)。
1.关系型数据库
这样的数据库是按照“表格”的形式来组织数据的(类似excel),一个表格有很多行,每一行又有很多列,每一列表示不同的含义,每一行与每一行之间的列需要对应。因此,上述几个数据库使用方法都大同小异,只要熟练掌握其中一个,后续如果使用到其它的数据库,也能信手拈来。

2.非关系型数据库
非关系型数据库常见的有Redis,MongoDB,HBase… 这一类的数据库往往是按照“键值对”或者“文档”的方式来组织的,文档并没有上述“表格”这样严格的要求。

实际开发中,一个复杂的系统(网站)背后往往有多种“存储介质”,很可能是“关系型数据库”和“非关系型数据库”搭配使用的。

上述这些数据库中,最广泛使用的还是MySQL
上述数据库中,分成了关系型数据库和非关系型数据库。MySQL属于关系型,使用表的结构来组织数据。

MySQL前置知识

MySQL是一个“客户端-服务器”结构的程序(C/S结构)。
-客户端(client)c :主动发起通信的一方,称为“客户端”。
-服务器(server) s :被动接受通信的一方,称为“服务器”。

客户端给服务器发送的数据,称为“请求”(Request)
服务器给客户端返回的数据,称为“响应”(Response)

客户端程序和服务器之间,数据交互的方式,最主要就是通用“网络”
服务器的特点:
1.被动的一方
2.一般来说,一个服务器有同时给多个客户端提供服务
3.服务器一般会7*24小时运行(商业级别的服务器)

MySQL是一个客户端-服务器 结构的程序。客户端和服务器之间使用网络进行通信。可以在同一个主机上,也可以在不同的主机上。
MySQL的服务器部分是“本体”。MySQL使用刚才的服务器部分,来存储/管理数据。
MySQL使用硬盘来存储数据

内存和硬盘的区别:

  • 内存和硬盘在计算机上的显示

    本机内存显示:
    本机内存
    本机硬盘显示:
    本机硬盘

  • 内存和硬盘的差别

  1. 硬盘比较大,内存比较小(不是物理的尺寸,是存储空间的容量)
  2. 硬盘的读写速度比较慢,内存的读写速度比较快(比硬盘快几千倍、上万倍)
  3. 内存比硬盘成本更高(贵)
  4. 内存存储的数据,断电之后,就会丢失;硬盘存储的数据(持久化存储),断电之后,仍然存在。
    促成了现在的计算机都是通过 内存 + 硬盘 这样的方式来存储数据的。

寄存器和缓存:

  • 寄存器在计算机上的显示:
    寄存器显示
  • 寄存器和缓存:
    寄存器是CPU内部用来存储数据的部分,寄存器同样也是CPU内部用来存储数据的部分。CPU内部结构非常精密,里面包含了很多很多的功能,非常的复杂。可以说,CPU就是人类科技的巅峰之作,能和CPU相提并论的氢弹算一个。
    寄存器读写数据的速度是最快的,比内存还快几千倍。

寄存器是用来参与进行计算的(保存计算过程中的中间结果的)。
比如你让计算机计算一个表达式 1 + 2 + 3 + 4
CPU是先计算 1 + 2 得到 3,3就会先保存到寄存器里(设为A)
再拿A中的值 + 3
得到的结果再保存到A里
再拿A + 4

因为内存比寄存器慢太多了,所以就给CPU引入了缓存。缓存属于存储空间介于寄存器和内存之间,速度也是介于之间的。
CPU读内存的时候,往往会把一些数据线放到缓存中保存,以减少读取内存的次数,提高整体程序的效率。

显卡:
显卡也是一种芯片,称为GPU,也是用来进行计算和逻辑判断的。最开始的电脑,没有显卡,只有CPU(显卡大概是2000年之后才有的概念),而计算机1946年就有了。
人们希望电脑能显示出更丰富的图像。显示复杂图像,尤其是快速变化的图像,就需要大量的算术运算(一系列的矩阵运算,线代)。用CPU能算,但是会给CPU带来一定的负担。
英伟达这个公司就提出了GPU这个概念。GPU是“专用计算芯片”,CPU则是“通用计算芯片”。

如果你把CPU比喻成大学生,可以算 1 + 1,也能算微积分。
那么GPU就是小学生,就只能算 1 + 1,算不了微积分。
一群小学生虽然算不了微积分,但是算 1 + 1 就比大学生更快。
巧的是,图形领域运算量虽然很大,但是基本都是 1 + 1 这种水平的。除了图形领域之外,人工智能领域也都是 1 + 1 的运算,运算量特别大。

总结

  • 数据库是一类软件,这一类软件可以用来“管理数据”(能够对数据进行保存,和增删改查)。数据库这类软件可以分为“关系型数据库”和“非关系型数据库”。
  • MySQL是一个客户端-服务器 结构的程序。客户端和服务器之间使用网络进行通信。可以在同一个主机上,也可以在不同的主机上。MySQL的服务器部分是“本体”。MySQL使用刚才的服务器部分,来存储/管理数据。MySQL使用硬盘来存储数据。
  • 硬盘与内存之间的区别。
  • CPU上寄存器与缓存。
  • 22
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值