第一章 数据库介绍

第一章 数据库介绍

一、 数据库技术:

1、数据(Data)

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

2、数据库(Database,DB)

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

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

  • 永久性
  • 有组织
  • 可共享
3、数据库管理系统(DBMS)

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

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

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

在这里插入图片描述

二、数据库发展史:

1、三个阶段:
  • 人工管理
  • 文件系统
  • 数据库系统
2、数据库系统优势:

1,整体数据的结构化

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

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

3,数据的独立性高

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

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

4,统一管理和控制

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

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

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

四、云数据库

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

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

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘学.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值