第一章 数据库介绍

第一章 数据库介绍

文章目录

  • 第一章 数据库介绍
    • 一、 数据库技术:
        • 1、数据(Data)
        • 2、数据库(Database,DB)
        • 3、数据库管理系统(DBMS)
        • 4、数据库系统(Database System,DBS)
    • 二、数据库发展史:
        • 1、三个阶段:
        • 2、数据库系统优势:
    • 三、结构化查询语言——Structured Query Language
        • 1、SQL语言
        • 2、NoSQL数据库
    • 四、云数据库
        • 1、云数据库比传统数据库的优势
    • 五、关系型数据库架构发展
        • 1,单机架构
        • 2、分组架构 - 主备
        • 3、分组架构 - 主从
        • 4、分组架构 - 多主
        • 5、共享存储多活架构(Shared - Disk)
        • 6、分片架构(Sharding)架构
        • 7、无共享(Shared - Nothing)架构
        • 数据库架构特点对比
    • 六、关系型数据库主流应用场景
        • 1、联机事务处理( OnLine Transaction Processing )
        • 2、联机分析处理( OnLine Analytical Processing )
        • 3、OLTP和OLTP对比分析

一、 数据库技术:

1、数据(Data)

​ 数据的含义称为数据的语义。

2、数据库(Database,DB)

1,数据库是存放数据的仓库,是大量数据的集合。

2,存放在数据库中数据的特点:

  • 永久性
  • 有组织
  • 可共享

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

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

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

4、数据库系统(Database System,DBS)

​ 数据库系统是由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员组成的存储、管理、处理、和维护数据的系统

第一章 数据库介绍_第1张图片

二、数据库发展史:

1、三个阶段:

  • 人工管理
  • 文件系统
  • 数据库系统

2、数据库系统优势:

1,整体数据的结构化

​ 数据面向整个体统而不是单个应用,被多个应用共享。

2,数据共享性高,冗余度低且易扩充

3,数据的独立性高

​ 物理独立性:应用程序与数据库中数据的物理存储是相互独立的。

​ 逻辑独立性:应用程序与数据库的逻辑结构是相互独立的。

4,统一管理和控制

  1. 数据的安全性保护
  2. 数据的完整性检查
  3. 并发控制
  4. 数据库恢复

三、结构化查询语言——Structured Query Language

1、SQL语言

  • 高级的非过程化编程语言,允许用户在高层数据结构上工作
  • 不要求用户指定数据存放方式
  • 底层结构完全不同的各种关系型数据库系统可以使用相同的SQL语言作为数据操作和管理的接口

2、NoSQL数据库

  • 键值数据库
  • 列式数据库
  • 文档型数据库
  • 图数数据库

四、云数据库

1、云数据库比传统数据库的优势

  • 易 易使用,易管理
  • 稳 高可靠,跨地域容灾备份
  • 快 读写延时低
  • 弹 扩展性好,快速自动弹性伸缩
  • 密 数据安全性好,全同态加密

五、关系型数据库架构发展

第一章 数据库介绍_第2张图片

1,单机架构

  • 单机架构
    • 为了避免应用服务与数据库服务对资源的竞争,单机架构也从早期的单主机模式发展到数据库独立主机模式,把应用和数据服务分开。应用服务可以增加服务器数量,进行负载均衡,增大系统并发能力。
  • 优点
    • 部署集中,运维方 便
  • 缺点
    • 可扩充性
      • 数据库单机架构扩展性只有纵向扩展。通过增加硬件配置来提升性能,但单台主机的硬件可配置资源会遇到上限。
    • 存在单点故障
      • 扩容的时候往往需要停机,服务停止。
      • 硬件故障导致整个服务不可用,甚至数据丢失。
    • 单机会遇到性能瓶颈

2、分组架构 - 主备

  • 主备机架构
    • ​ 数据库部署在两台服务器,其中承担数据读写服务的服务器称为"主机"。
    • 另外一台服务器利用数据同步机制把主机的数据复制过来,称为“备机”。
    • 同一时刻,只有一台服务器对外提供数据服务。
  • 优点
    • 应用不需要针对数据库故障增加开发量
    • 相对单机架构提升了数据的容错性。
  • 缺点
    • 资源浪费
    • 性能压力还是集中在单机上,无法解决性能瓶颈问题
    • 当出现故障时候,主备机切换需要人工干预或监控

3、分组架构 - 主从

  • 主从式架构
    • 部署模式和主备模式相似,备机上升为从机,对外提供一定数据服务。
    • 通过读写分离式分散压力
      • 读写,修改,删除操作,在主机上完成
      • 查询请求,主机上完成
  • 优点
    • 提升资源利用率,适合读多写少的应用场景
    • 在大并发读的使用场景,可以使用负载均衡在多个从机间进行平衡
    • 从机的扩展性比较灵活,扩容操作不会影响到业务进行
  • 缺点
    • 数据同步到从机数据库时会有延迟
    • 写操作的性能压力还是集中在主机上
    • 主机出现故障,需要实现主从切换,人工干预需要相应时间

4、分组架构 - 多主

  • 多主架构
    • 数据库服务器互为主从、同时对外提供完整的数据服务
  • 优点
    • 资源利用率较高的同时降低了单点故障的风险
  • 缺点
    • 要实现数据的双向同步,双向复制同样会带来延迟问题,极端境况下有可能数据丢失
    • 数据库数量增加导致数据同步问题变得极为复杂

5、共享存储多活架构(Shared - Disk)

  • 共享存储多活架构(Shared - Disk)

    • 一种特殊的多主架构
    • 数据库服务器共享数据存储,而多个服务器实现均衡负载。
  • 优点

    • 多个计算服务器提高可用服务,提供了高级别的可用性。可伸缩性,避免了服务器集群的单点故障问题
    • 比较方便的横向扩展能够增加群体系统并发处理能力
  • 缺点

    • 实现技术难度大
    • 当存储器接口带宽达到饱和的时候,增加节点并不能获得更高的性能,存储IO容易成为整个系统的性能瓶

6、分片架构(Sharding)架构

  • 分片架构的主要表现形式就是水平数据分片架构
    • 把数据分散在多个节点上的分片方案,每个分片包括数据库的一部分,称为shard
    • 多个节点都拥有相同的数据库结构,但不同分片数据之间没有交集,所有分区数据并集构成数据总体
    • 常见的分片算法有:根据列表值,范围取值和Hash值进行数据分片
  • 优点
    • 数据分散在集群内的各个节点,所有节点可以独立性工作。

7、无共享(Shared - Nothing)架构

  • 无共享架构
    • 集群中每个节点都完全拥有自己独立的CPU/内存/存储,不存在共享资源
    • 各节点处理自己的本地数据,处理结果可以向上层汇总或者通过通信协议在节点间流转
    • 节点是相互独立的,扩展能力强,整个集群拥有强大的并行处理能力

数据库架构特点对比

特点 单机 主备 主从 多主 分片
高可用性 一般 较好
读写性能 依赖于单主机的硬件性能瓶颈 赖于单主机的硬件性能瓶颈 利用读写分离,写性能受主机限制,读性能可以通过增加从机数量来提升并发能力 多个主机能够同时提供读写服务,具备较好的读写能力 Shared - Nothing架构提供了出色的分布式计算能力,具备强大的并行处理能力
数据一致性 不存在数据一致性的问题 利用数据同步机制在主备机之间进行同步,存在数据延迟问题和数据丢失风险 同主备模式,且从机数量增加,数据延迟问题和数据丢失风险更为突出 多个主机之间需要进行数据双向同步,容易产生数据的不一致性,但对于Shared - Disk架构不存在此问题 基于sharding技术,数据分散在各个节点,节点之间不需要数据同步,所以不存在数据一致性问题
可扩展性 只能纵向扩展,会遇到单机硬件性能瓶颈 只能纵向扩展,会遇到单机硬件性能瓶颈 从机可以通过横向扩展来提升并发读能力 扩展性好,但是主机数量增加,会导致数据同步复杂性急剧升高 理论上可以实现线性扩展,线性扩展性最高

六、关系型数据库主流应用场景

1、联机事务处理( OnLine Transaction Processing )

  • OLTP是传统关系型数据的主要应用

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

    • 大吞吐量:大量的短在线事务(插入、更新、删除),非常快速的查询处理。
    • 高并发,实时相应。
  • 典型的OLTP场景

    • 零售系统
    • 金融交易系统
    • 火车票销售系统
    • 秒杀活动

2、联机分析处理( OnLine Analytical Processing )

  • OLAP
    • 是指对数据的查询和分析操作,通常对大量历史数据查询和分析。涉及到的历史周期比较长,数据量大等
  • 特点
    • 主要面向侧重于复杂的查询,回答一些"战略性"的问题
    • 数据处理方面聚焦于数据的聚合,汇总,分组计算,窗口计算等"分析型"数据加工和操作
    • 从多维度去使用和分析数据
  • 典型的OLAP场景
    • 报表系统,CRM系统(客户管理系统)
    • 金融风险预测预警系统、反洗钱系统
    • 数据集市,数据仓库

3、OLTP和OLTP对比分析

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

你可能感兴趣的:(从零学习数据库,数据库,database,postgresql)