【数据库】数据库巩固一

前言:

这次我们来从头到脚来重新认识一遍数据库吧!!!

一、数据库技术

数据库技术是数据库管理的有效技术,研究如何对数据进行科学管理,从而为人们提供可共享的、安全的、可靠的数据。

数据库技术包含四个相关概念: 数据,数据库,数据库管理系统,数据库系统

1、数据

  • 早起的计算机系统主要用于科学计算,处理的数据是数值型数据:比如整数,浮点数。
  • 现代计算机系统的数据概念是广义的:数字、文字、图像、图形、音频等
  • 数据除了表现形式之外,还有语义---->理解:比如60可以是一个班有60个人,也可以是一个人的体重
  • 记录:记录是在计算机中表示和存储数据的一种格式或一种方法(比如把多方面的数据来描述一个人,这些数据组织在一起,构成一条记录)

2、数据库
数据库是存放数据的仓库,是大量数据的集合。
数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。

有组织:按照一定的数据模型组织、描述和存储。
可共享:为各种用户使用

3、数据库管理系统(DBMS)

数据库管理系统是一个能够科学地组织和存储数据,高效的获取和维护数据的系统软件,是位于用户与操作系统之间的数据管理软件,包含的功能:

  • 数据定义功能(DDL)
  • 数据组织、存储和管理功能
  • 数据操纵功能(DML)
  • 数据库的事务管理和运行管理功能
  • 数据库的建立和维护功能
  • 与其他软件系统的通信功能

强调:数据库管理系统是一个系统软件的概念,数据库管理系统和操作系统一样是计算机系统的基础软件

4、数据库系统(DBS)

数据库系统是由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统。
在这里插入图片描述
(蓝色框框都是代表数据库系统组成部分)

二、数据模型

数据模型是数据库系统的核心和基础,所以数据库系统的发展和数据模型的发展密不可分。所以数据库模型的划分维度是数据库系统划分的一个重要标准。

1、层次模型

在这里插入图片描述

  • 层次模型的数据结构就是一棵树形结构,只有一个节点没有双亲,也就是根节点(root)
  • 根节点意外的其他节点有且只有一个双亲节点
2、网状模型

在这里插入图片描述

  • 允许一个以上的节点无双亲
  • 一个节点可以有多于一个双亲

例子:如学生选课之类的
注:图里的E代表实体,R代表实体之间的关系

3、关系模型

关系模型是一组关系组成的。每个关系的数据结构都是一张规范化的二维表

  • 建立在严格的数据概念基础上
  • 关系必须是规范化的
  • 关系的分量必须是一个不可分的数据项
    在这里插入图片描述

关系模式: 关系名(属性1,属性2,属性3,……,属性n)
比如例子中的关系就是 学生(学号,姓名,年龄,性别)

4、面向对象数据模型

传统的关系数据模型对复制对象的标识能力差,语义表达能力较弱,就提出了面向对象型,但是语言过于复制,没有得到认可

5、XML数据模型

是一种半结构化数据,半结构化是相对结构化数据而言的,纯文本的话就是一种无结构化数据

6、RDF数据模型

RDF是用来描述互联网资源的标记语言,结构为(主语(url),谓语(属性),宾语(具体的值或者另一个数据对象))

三、数据库类型
1、SQL(Structured Query Language)

用于关系型数据库(ACID特性)

  • 高级的非过程化编程语言,允许用户在高层数据结构上工作
  • 不要求用户制定数据存放方法
  • 不需要用户了解具体数据存放格式
  • 还有通用的特点,底层不同的关系型数据库也可以使用相同的SQL语言
2、NoSQL(Not Only SQL)

非关系型的、分布式的、不保证满足ACID特性的一类数据管理系统。
在这里插入图片描述
技术特点:

  • 对数据进行分区,利用大量节点并行处理获得高性能
  • 降低ACID一致性约束,运行暂时不一致,接收最终一致性。遵循BASE原则
  • 各数据分区提供备份(一般三份),提高系统可用性
3、NewSQL
  • 指追求NoSQL的可扩展性同时能够支持关系模型(包括ACID特性)的关系型数据库系统,主要面向OLTP场景。
  • 能够支持SQL作为主要的使用语言
四、数据库架构发展

随着业务规模增大,数据库存储的数据量和承载的业务压力也不断增加,数据库的架构需要随之变化,为上层应用提供稳定和高效的数据服务。
在这里插入图片描述

  • 首先按照主机数量来区分,一个数据库主机是单机架构,多于一个数据库主机是多机架构

  • 对于单机架构来说,单主机是指应用和database都部署在同一个主机上。而独立主机则是两者分开,database专门部署在独立的数据库服务器上。

  • 对于多机架构来说,按照数据数量是否分片,分为两类,分别是分组和分片

  • 分组:有主备、主从、多从,是根据服务器拥有的角色不同来划分的,本质也是利用同步技术在多个库之间进行数据复制

  • 分片(sharding):从数据的独立性角度来描述架构

    分片架构主要表现形式就是水平数据分片架构,把数据分散在多个节点上的分片烦恼干,每一个分片包括数据库的一部分,成为一个shard。(常见的分片算法:根据列表值,范围取值和hash值进行分片)

    ○ 无共享(Share-Nothing)架构:是从资源独立性角度来描述架构。sharding是shared-nothing架构的基础。
    集群中每一个节点(处理单元)都有自己独立的CPU/内存/存储,不存在共享资源,各处理单元处理本地的数据。Shared-Nothing的最小单元可能不是物理节点,而是逻辑上的虚拟处理单元。比如一个物理主机具有4核CPU,部署的时候可以部署4个数据库实例,也就相当于拥有4个处理单元。

    ○ MPP:大规模并行处理:MPP是从并行计算角度来描述框架

五、数据库的应用场景
1、联机事务处理(OLTP)

面向基本的,日常的事务处理,例如银行储蓄业务的存取交易,转账交易等

特点:

  • 大吞吐量:大量的短在线事务,非常快速的查询处理
  • 高并发,(准)实时响应

事务的举例: 在tb买100块钱的东西,里面至少包括两个操作:
1、买家的账户减少100元
2、卖家的账户增加100元
支持事务的数据库管理系统要确保以上两个操作(也就是整个事务)都能完成,或一起取消,不然会出现100元平白消失或出现的情况。

2、联机分析处理(OLAP)

是指对数据的查询和分析操作,通常对大量的历史数据查询和分析。涉及到的历史周期比较长,数据量大,在不同层级上的汇总,聚合操作使得事务处理操作比较复杂。例如报表系统,数据集市,数据仓库等。

特点:

  • 侧重于复制查询,回答一些“战略性”的问题
  • 数据处理方面聚焦于数据的聚合,汇总,分组计算,窗口计算等“分析型”数据加工和操作
  • 从多维度去使用和分析数据
3、OLTP和OLAP对比分析

无论OLTP还是OLAP系统都是遵守ACID原则的关系型数据库。两者在功能上是相似的,都支持SQL,都可以处理大量数据,都是强一致事务处理。但是对于应用场景来说,OLTP更强调实时性要求,OLAP更强调大数据量分析。

数据处理类型OLTPOLAP
分析粒度细节的细节的,综合的,或提炼的
时效性在存取瞬间是准确的代表过去的数据
可更新性可更新不更新
操作可预知性操作需求事先可知道操作需求事先可能不知道
实时性对性能要求高,相应毫秒级别、秒级对性能要求相对宽松,相应分钟级、小时级
数据量一个时刻操作一条或几条记录,数据量小一个时刻操作一集合,数据量大
驱动方式事务驱动分析驱动
应用类型面向应用面向分析
应用场景支持日常运营支持管理需求
典型应用银行核心系统、信用卡系统ACRM、风险管理
六、2020年3月数据库排行

在这里插入图片描述
可以去看每个月数据库的排行:

https://db-engines.com/

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值