首页 > 数据库 >系统架构设计师-第2章-数据库

系统架构设计师-第2章-数据库

时间:2024-02-21 22:01:05浏览次数:20  
标签:存储 架构 数据库 Oracle 设计 设计师 数据 分布式

第2章-数据库

在信息处理领域,由于数据量庞大,如何有效组织、存储数据对实现高效率的信息处理至关重要。数据库技术是目前最有效的数据管理技术。数据库(DataBase,DB)是指长期存储在计算机内、有组织的、统一管理的相关数据的集合。它不仅描述事物的数据本身,而且还包括相关事物之间的联系。数据库可以直观地理解为存放数据的仓库,只不过这个仓库是在计算机的存储设备上,而且数据是按一定格式存放的,具有较小的冗余度、较高的数据独立性和易扩展性,可为多个用户共享。

早期数据库种类有3种,分别是层次式数据库、网络式数据库和关系型数据库。目前最常见的数据库种类是关系型数据库和非关系型数据库。根据数据库存储体系分类,还可分为关系 型数据库、键值(Key-Value)数据库、列存储数据库、文档数据库和搜索引擎数据库等类型。

  1. 关系型数据库。这种类型的数据库是最传统的数据库类型,关系型数据库模型是把复杂的数据结构归结为简单的二元关系,在数据库中,对数据的操作几乎全部建立在一个或多个关系表格上。在大型系统中通常有多个表,且表之间有各种关系。实际使用就是通过对这些关联的表格进行分类、合并、连接或选取等运算来实现数据库的管理。
  2. 键值数据库。键值数据库是一种非关系型数据库,它使用简单的键值方法来存储数据。键值数据库将数据存储为键值对集合,其中键作为唯一标识符。
  3. 列存储数据库。列式存储(Column-Based)是相对于传统关系型数据库的行式存储(Row-Basedstorage)来说的。简单来说两者的区别就是对表中数据的存储形式的差异。
  4. 文档数据库。此类数据库可存放并获取文档,可以是XML、JSON、BSON等格式,这些文档具备可述性(Self-Describing),呈现分层的树状结构 (Hierarchical Tree Data Structure),可以包含映射表、集合和纯量值。数据库中的文档彼此相似,但不必完全相同。文档数据库所存放的文档,就相当于键值数据库所存放的“值”。文档数据库可视为其值可查的键值数据库。
  5. 搜索引擎数据库。搜索引擎数据库是应用在搜索引擎领域的数据存储形式,由于搜索引擎会爬取大量的数据,并以特定的格式进行存储,这样在检索的时候才能保证性能最优。

下面简要介绍常用的关系数据库和分布式数据库。

  1. 关系数据库
    数据模型是数据特征的抽象,它是对数据库组织方式的一种模型化表示,是数据库系统的核心与基础。它具有数据结构、数据操作和完整性约束条件三要素。
    关系可以理解为二维表。一个关系模型就是指用若干关系表示实体及其联系,用二维表的形式存储数据。例如,对某高校学生的选课(不同年级甚至同一年级学生所选课程可以不同) 进行管理,可以用二维表表示,如图2-4所示。
    20240221204744
    用关系表示如下,其中带下画线的属性为主码,主码能唯一确定某个实体,如学号能唯一 确定某个学生。
    学生(学号,姓名,年龄,系别)
    课 程 (课程号,课程名,学分)
    选 课 (学 号,课程号,分数)
  • 关系数据库设计的特点及方法
    数据库设计是指对于一个给定的应用环境构造最优的数据库,建立数据库及其应用系统,使之能有效地存储数据,满足各种用户的需求。数据库设计包括结构特性和行为特性的设计两 方面的内容。
    数据库设计的很多阶段都可以和软件工程的各阶段对应起来,数据库设计的特点有:从数据结构即数据模型开始,并以数据模型为核心展开,这是数据库设计的一个主要特点;静态结构设计与动态行为设计分离;试探性;反复性和多步性。
    目前已有的数据库设计方法可分为4类,即直观设计法、规范设计法、计算机辅助设计法和自动化设计法。常用的有基于3NF的设计方法、基于实体联(E-R)模型的数据库设计方法、基于视图概念的数据库设计方法、面向对象的关系数据库设计方法、计算机辅助数据库设计方法、敏捷数据库设计方法等。
  • 关系数据库设计的基本步骤
    数据库设计分为需求分析、概念结构设计、逻辑结构设计、物理结构设计、应用程序设计和运行维护6个阶段,如图2-5所示。
    20240221210506
    需求分析阶段的任务是对现实世界要处理的对象(组织、部门和企业等)进行详细调查,在了解现行系统的概况和确定新系统功能的过程中,收集支持系统目标的基础数据及其处理方 法。需求分析是在用户调查的基础上,通过分析逐步明确用户对系统的需求,包括数据需求和围绕这些数据的业务处理需求。
    数据库概念结构设计是在需求分析的基础上,依照需求分析中的信息需求,对用户信息加以分类、聚集和概括,建立信息模型,并依照选定的数据库管理系统软件,把它们转换为数据的逻辑结构,再依照软硬件环境,最终实现数据的合理存储。这一过程也称为数据建模。
    设计数据库概念模型的最著名、最常用的方法是E-R方法。采用E-R方法的数据库概念结构设计可分为三步:设计局部E-R模型、设计全局E-R模型以及全局E-R模型的优化。
    逻辑结构设计是在概念结构设计基础上进行的数据模型设计,可以是层次、网状模型和关系模型。逻辑结构设计阶段的主要任务是确定数据模型,将E-R图转换为指定的数据模型,确定完整性约束,确定用户视图。
    数据库在物理设备上的存储结构与存取方法称为数据库的物理结构。数据库的物理结构设计是对已确定的数据库逻辑结构,利用DBMS所提供的方法、技术,以较优的存储结构和数据 存取路径、合理的数据存放位置以及存储分配,设计出一个高效的、可实现的数据库物理结构。
    数据库应用系统开发是DBMS的二次开发,一方面是对用户信息的存储;另一方面就是对用户处理要求的实现。
    数据库应用程序设计要做的工作有选择设计方法、制订开发计划、选择系统架构和设计安全性策略。在应用程序设计阶段,设计方法有结构化设计方法和面向对象设计方法两种。安全性策略主要是指硬件平台、操作系统、数据库系统、网络及应用系统的安全。
    数据库的正常运行和优化也是数据库设计的内容之一 。在数据库运行维护阶段要做的工作主要有数据库的转储和恢复,数据库的安全性和完整性控制,数据库性能的监督、分析和改造,数据库的重组和重构等。
  1. 分布式数据库
    分布式数据库系统(Distributed DataBase System,DDBS) 是针对地理上分散,而管理上又需要不同程度集中管理的需求而提出的一种数据管理信息系统。满足分布性、逻辑相关性、地透明性和场地自治性的数据库系统被称为完全分布式数据库系统。
    分布式数据库系统的特点是数据的集中控制性、数据独立性、数据冗余可控性、场地自治性和存取的有效性。
  • 分布式数据库体系结构
    我国在多年研究与开发分布式数据库及制定《分布式数据库系统标准》中,提出了把分布式数据库抽象为4层的结构模式,如图2-6所示。这种结构模式得到了国内外一定程度的支持和认同。
    1708521252617
    4层模式划分为全局外层、全局概念层、局部概念层和局部内层,在各层间还有相应的层 间映射。这种4层模式适用于同构型分布式数据库系统,也适用于异构型分布式数据库系统。
  • 分布式数据库的应用
    分布式数据库的应用领域有分布式计算、Internet应用、数据仓库、数据复制以及全球联网查询等,Sybase公司的Replication Server即是一种典型的分布式数据库系统。
  1. 常用数据库管理系统
    计算机科学技术不断发展,数据库管理系统也不断发展进化,MySQLAB公司(2009年被Oracle公司收购)MySQL、Microsoft公司的Access等是小型关系数据库管理系统的代表,Oracle公司的Oracle、Microsoft公司的SQL Server、IBM公司的DB2等是功能强大的大型关系数据库管理系统的代表。
  • Oracle
    Oracle 是一种适用于大型、中型和微型计算机的关系数据库管理系统。Oracle的结构包括数据库的内部结构、外存储结构、内存储结构和进程结构。在Oracle中,数据库不仅指物理上的数据,还包括处理这些数据的程序,即DBMS本身。Oracle使用PL/SQL(ProceduralLanguage/SQL)语言执行各种操作。Oracle除了以关系格式存储数据外,Oracle8以上的版本还支持面向对象的结构(如抽象数据类型)。
    Oracle产品主要包括数据库服务器、开发工具和连接产品三类。Oracle还提供了一系列的工具产品,如逻辑备份工具Export、Import等。
  • IBM DB2
    DB2是IBM的一种分布式数据库解决方案。简单地说,DB2就是IBM开发的一种大型关系型数据库平台,它支持多用户或应用程序在同一条SQL语句中查询不同Database甚至不同DBMS中的数据。
    DB2核心数据库的特色有支持面向对象编程,支持多媒体应用程序,支持备份和恢复功能,支持存储过程和触发器,支持SQL查询,支持异构分布式数据库访问,支持数据复制。
    DB2采用多进程多线索体系结构,可运行于多种操作系统之上。IBM还提供了Visualizer、Visualage、Visualgen等开发工具。
  • Sybase
    Sybase是美国SYBASE公司在20世纪80年代中期推出的客户机/服务器(Client/Server,C/S)结构的关系数据库系统,也是世界上第一个真正的基于客户机/服务器结构的RDBMS产品。
    Sybase数据库主要由三部分组成:进行数据库管理和维护的联机关系数据库管理系统Sybase SQLServer,支持数据库应用系统建立与开发的一组前端工具Sybase SQLToolset,可把异构环境下其他厂商的应用软件和任何类型的数据连接在一起的接口Sybase OpenClient/OpenServer。
    Sybase提供了Sybase Adaptive Server Enterprise高性能企业智能型关系数据库管理系统、EAServer电子商务解决方案应用服务器、系统分析设计工具PowerDesigner和应用开发工具PowerBuilder。
  • Microsoft SQL Server
    Microsoft SQL Server是一种典型的关系型数据库管理系统,可运行于多个操作系统上,它使用Transact-SQL 语言完成数据操作。

标签:存储,架构,数据库,Oracle,设计,设计师,数据,分布式
From: https://www.cnblogs.com/daimajiangxin/p/18026295

相关文章

  • python 数据库数据较验
    #-*-coding:utf-8-*-#@Time:2023-09-07#@Author:Carl_DJ"""实现功能:1、python直接链接SqlServer数据库可以MySQL数据库,进行数据对比2、对比mysql和SqlServer两个数据库的表名以及表内数据的差异:3、对比的差异分别输出到文件中---->数据......
  • 深入了解数据库:分类、作用与特点
    在当今信息时代,数据库扮演着至关重要的角色,无论是企业管理、科学研究还是个人应用,都离不开数据库的支持。本文将介绍数据库的分类、作用以及特点,帮助读者更深入地了解这一关键技术。数据库的分类数据库根据其结构和应用领域的不同,可以分为以下几类:关系型数据库(RDBMS):这是最......
  • 数据库基础知识
    title:数据库系统概论tags:数据库date:2022-06-2820:02:16category:数据库学习第一章绪论1、数据的独立性物理独立性:用户程序和数据库中的数据的物理存储是相互独立的。逻辑独立性:用户程序和数据库的逻辑结果是相互独立的。保证:二级映像功能2、数据模型数......
  • Java人力资源管理系统源码(含数据库)-springboot+vue+mysql
    EHR人力资源管理系统是一种利用现代技术,如云计算、大数据等,来实现企业人力资源信息电子化、流程自动化的系统。它覆盖了人力资源管理的各个方面,从招聘、考勤、绩效到薪酬、社保公积金等,为企业提供一站式的解决方案。​1.招聘管理:-职位发布:系统支持在线发布职位信息,吸引候选人......
  • 一张图搞懂微服务架构设计
    前言当前,微服务架构在很多公司都已经落地实施了,下面用一张图简要概述下微服务架构设计中常用组件。不能说已经使用微服务好几年了,结果对微服务架构没有一个整体的认知,一个只懂搬砖的程序员不是一个好码农。流量入口Nginx在上图中可以看到,Nginx作为整个架构的流量入口,可以理解......
  • 数据库连接关键参数推荐配置
     一、MySQL连接参数配置(druid)1、关键参数配置连接池大小a)对于大部分OLTP应用,推荐如下配置:jdbc.druid.initialSize=4jdbc.druid.minIdle=4jdbc.druid.maxActive=12b)针对高并发的api接口,避免瞬间创建大量连接,推荐设置minIdle=initSize=maxActivejdbc.druid.i......
  • 人人都是架构师-清晰架构 | 京东物流技术团队
    前言了解清晰架构之前需要大家先熟悉以下常见架构方案:EBI架构(Entity-Boundary-InteractorArchitecture)领域驱动设计(Domain-DrivenDesign)端口与适配器架构(Ports&AdaptersArchitecture,又称为六边形架构)洋葱架构(OnionArchitecture)整洁架构(CleanArchitecture)事件......
  • 2024年2月中国数据库排行榜:PolarDB夺魁首登顶,TiDB攀升回探花
    银装素裹覆大地,春意初醒待来临。2024年2月墨天轮中国数据库流行度榜单出炉,表现最亮眼的无疑是PolarDB,其自23年7月以来一路高歌猛进,此次更是一举夺魁,彰显了云原生数据库的蓬勃发展态势,OceanBase、TiDB紧接拿下榜眼探花。榜单前十中,开源与商业平分秋色、各家数据库乘云直上,你追我赶......
  • 龙年-数据库时间类型字段精度问题 datetime类型的精度
    数据库时间类型字段精度问题理论DatetimeTimestamp保存毫秒防止精度丢失数据库字段为DATETIME(3)时可以保存毫秒。工程经验当数据库为MariaDb10.x.x,则需要jdbc驱动需更换为mariadbconnnector,或者Mariadb相应Mysql数据库版本高于5.6.4则无需更改。DATETIME(3)......
  • 工业实时关系型数据库 Historian
    WonderwareHistorian 软件,早先发布的名称为InSQL(IndustrialSQLServer)。是应用于制造业工业企业的一种高性能实时数据库,能提供无与伦比的可扩展性,支持多达500,000条标签,与以往产品相比,具有更大的检索吞吐量。Historian可以配置为单一的数据收集和集合系统,也可作为更大......