版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章数据库系统工程数据库系统设计与开发数据库系统工程数据库系统数据库系统开发步骤常用的数据库管理系统数据库管理系统选型数据库系统数据库系统组成:数据库(Database,DB)硬件:高性能服务器、大容量存贮设备、高速网络软件:OS、DBMS、Application人员:DBA、Programmer、Boss、Staff数据库系统开发步骤数据库系统工程的内容作为系统核心的数据库设计与实现相应的应用软件设计与实现数据库系统的开发步骤规划阶段分析阶段设计阶段:概述设计、逻辑设计、物理设计实现阶段测试阶段运维阶段信创产业,即信息技术应用创新产业,是指在信息技术领域内,通过自主研发和创新,实现技术自主可控,保障国家信息安全的产业。信创产业的核心是建立自主可控的信息技术底层架构和标准,特别是在芯片、传感器、基础软件、应用软件等领域实现国产替代。常用的数据库管理系统信创产业的核心组成部分基础硬件:CPU、芯片、服务器、交换机、路由器等基础软件:操作系统、数据库、中间件、云平台等应用软件:办公软件、通用软件、行业软件等信息安全:边界安全产品(防火墙)、终端安全产品(杀毒软件)等,确保信息不被非法获取和利用。常用的数据库管理系统常用的数据库管理系统国外厂商仍然占据中国数据库市场份额超过50%,仅Oracle、IBM和微软三家厂商占据市场份额超40%,其中Oracle占据了关系型数据库市场近30%的份额。常用的数据库管理系统2022年国资委发布文件,明确指出截止到2027年,“2+8+N”党政与八大行业要实现数据库的100%国产替代。如今2024年接近尾声,国产数据库的替代进程备受瞩目。国资委79号文件中的“2+8+N”,“2”是指党政,是信创产业发展的首要领域,“8”是金融、电力、电信、石油、交通、教育、医疗、航空航天等关于国计民生的八大行业,也是信创产业发展的重点行业,“N”是指包括消费市场和各种企业级市场,是信创产业未来发展的潜在市场和增长点。目前党政领域的数据库国产替代率高达80%,已经基本处于替换的尾声阶段。国产数据库替代在党政领域成功试水后,开始逐步向八大行业稳步渗透。常用的数据库管理系统常用的数据库管理系统墨天轮:/dbRank常用的数据库管理系统SQLServer公司:Microsoft公司平台:Windows系列最新版本:SQLServer2025适用范围:中小型企业MySQL公司:
MySQLAB公司开发,Oracle公司收购平台:Windows系列、Linux最新版本:
MySQL9.2.0适用范围:中小型企业常用的数据库管理系统Oracle公司:
Oracle公司平台:Windows系列、Linux、
UNIX最新版本:
Oracle23ai适用范围:大中型企业DB2公司:
IBM公司平台:Linux、
UNIX最新版本:
DB212.1.1适用范围:大中型企业常用的数据库管理系统
PolarDB公司:阿里云平台:云环境主流、最新版本:PolarDB-XV2.4.x适用范围:大中型企、事业应用
OceanBase公司:阿里集团、蚂蚁金服、北京奥星贝斯科技有限公司平台:Linux、
Windows主流、最新版本:
OceanBase3.x、OceanBase4.x适用范围:大中型企、事业应用常用的数据库管理系统openGauss公司:
华为平台:欧拉、Linux最新版本:
openGauss6.0.x适用范围:大中型企业
KingbaseES公司:北京人大金仓信息技术有限公司平台:Linux、
Windows最新版本:
KingbaseESV9适用范围:大中型企业常用的数据库管理系统TiDB公司:
北京平凯星辰科技发展有限公司(PingCAP)平台:Windows系列、Linux、
UNIX最新版本:
TiDB8.5.1适用范围:大中型企业达梦数据库(DM)公司:
武汉达梦数据库股份有限公司平台:Windows系列、Linux、
UNIX最新版本:
DM8适用范围:大中型企业数据库管理系统选型性能哪一个是性能最好、处理最快、可扩展性最好的呢?适合自己项目的就是最好的!平台大型的商业应用数据库服务器,通常会选择更加安全、稳定的UNIX、Linux操作系统作为系统平台。因此,许多商业应用会排斥掉SQLServer。数据库管理系统选型价格价格不仅仅是指数据库产品的购买价格,产品系统的维护、额外工具以及技术支持等费用。没有免费的午餐、服务会越来越重要!可用资源考虑现有的服务器是否能够满足新系统的需求?现有的维护人员是否能够满足新系统的需求?不能一味追求高性能而造成资源浪费。数据库管理系统选型建设方案一般的小型Web网站应用,使用免费的MySQL是一个不错的选择数据处理稍大,但也不是海量数据,对数据库的可靠性和稳定性要求不是很高,可以考虑选择SQLServer高端的企业应用,并发数据量大,同时对于数据库的可靠性、安全性和可扩展性有很高的要求,Oracle是一个不错的选择。面向事业单位、国企,我们坚决选择国产数据库-openGauss。
第2章需求分析数据库系统设计与开发需求分析需求分析任务PowerDesigner需求建模需求分析任务设计系统的功能模型-用例图参与者:与用例存在交互关系的系统外部实体,主要包括软件的使用者、与软件有数据传递的外部设备、与拟开发软件有信息交互的其他软件系统(如支付宝);用例:一个相对独立的软件功能模块;关系:参与者与用例间存在关联关系,表示参与者与用例之间存在信息交互;参与者相互之间可能存在泛化的关系,表示参与者之间存在继承关系;用例相互之间可能存在依赖关系,表示一个用例可能要使用到另外一个用例的功能。需求分析任务设计业务处理模型-业务流程图起/止点(Start/End):表示处理过程的入口/结束点。处理过程(Process)/任务(Task):为了达到某个目标而执行的动作。每个处理过程至少有一个输入流和一个输出流。组织单元(OrganizationUnit):与处理过程相关的组织或个体,可以是一个系统、一个服务器、一个组织或一个用户等。流程(Flow):描述处理过程中各步骤的顺序和关系,具有多种属性,如名称、代码、注释、起始对象、终止对象等。需求分析任务绘制数据流图加工或处理:指对数据加工或处理的应用软件模块,表示的是数据应用功能。数据流:表示某加工处理过程的输入或输出数据,组成该数据流的是一个复合数据结构或数据项。数据存储(文件):数据存储处理过程中要存储的数据,数据可以以文件或者数据库表的形式存储。外部实体:指数据库系统中的操作人员、外部电子设备及其他外部软件模块。PowerDesignerSybase公司的PowerDesigner是一个集所有现代建模技术于一身的完整工具,它集成了强有力的业务建模技术、传统的数据库分析和设计技术以及UML对象建模技术。可以制作数据流程图、概念数据模型、逻辑数据模型及物理数据模型PowerDesigner支持所有主流开发平台,支持超过数十种(版本)关系数据库管理系统,包括最新的Oracle、DB2、SQLServer、Sybase、MySQL等PowerDesignerPowerDesignerVersion16.5的10种模型。企业架构模型(EnterpriseArchitectureModel,EAM)需求模型(RequirementsModel,RQM)信息流模型(InformationLiquidityModel,ILM)业务过程模型(BusinessProcessModel,BPM)概念数据模型(ConceptualDataModel,CDM)逻辑数据模型(LogicalDataModel,LDM)物理数据模型(PhysicalDataModel,PDM)面向对象模型(ObjectOrientedModel,OOM)XML模型(XMLModel,XSM)数据移动模型(DataMovementModel,DMM)PowerDesigner核心模型业务过程模型(BPM):从业务人员的角度对业务逻辑和规则进行详细描述,并使用流程图表示从一个或多个起点到终点间的处理过程、流程、消息和协作协议。概念数据模型(CDM):主要在数据库设计阶段使用,按用户的观点来对数据和信息进行建模,利用实体联系图(E-R图)来实现。它描述系统中的各个实体以及实体之间的联系,是系统特性的静态描述。物理数据模型(PDM):提供了系统初始设计所需的基础元素,以及相关元素之间的关系,但在数据库的物理设计阶段必须在此基础上进行详细的后台设计,包括数据存储过程、触发器、视图和索引等。PowerDesignerBPM、CDM、PDM之间的联系。PowerDesigner核心模型BPM包括以下几种流图处理层次视图(ProcessHierarchyDiagram):以层次化的方式来识别系统的功能。业务过程视图(BusinessProcessDiagram):用于分析一个/组流程的具体实现机制。编排视图(ChoreographyDiagram):参与者之间业务合同(信息交换)的图形视图。会话视图(ConversationDiagram):表达参与者之间消息交换的逻辑关系的图形视图。数据库系统设计选择:业务过程视图(BusinessProcessDiagram)需求建模实训案例-高校教材管理系统系统目标:实现高校教材选用、审核、订购、发行等工作环节的信息化管理,通过信息化手段规范业务流程,提升工作效率。主要涉众:教务员、书商、课程负责人、专业负责人、学生及图书代办站。业务愿景:教务员通过平台设置专业、专业负责人、课程、课程负责人、学生、培养方案等基础信息;书商通过平台发布新出版的教材书目,推荐给课程负责人选用;课程负责人通过平台选择课程拟用的教材;实训案例-高校教材管理系统专业负责人对课程负责人选定的教材进行初步审核;学生通过平台选购课程学习所需教材,并在线完成订购支付;图书代办站通过平台获取教材订购清单,组织教材的统一采购,并负责教材的逐级发放。需求建模需求建模-业务处理模型运行PowerDesigner选择【File->NewModel…】菜单,创建新模型。需求建模-业务处理模型选择新创建模型类型点击模型类别【Modeltypes】,选择业务过程模型【BusinessProcessModel】中的业务过程视图【BusinessProcessDiagram】,输入模型名称【Modelname】,在过程语言【Processlanguage】下拉框中选择数据流图【BPMN2】,最后点击【OK】按钮进入模型设计主界面。需求建模-业务处理模型窗体说明模型设计窗口从左到右分别是对象浏览框(ObjectBrowser)、模型视图框、工具框(Toolbox)。工具框又包括标准(Standard)、BPMN2.0、业务处理视图(BusinessProcessDiagram)等工具组,基于BPMN2.0的业务处理模型主要使用BPMN2.0工具组中的工具。需求建模-业务处理模型工具说明-BPMN的四大类元素:流对象(FlowObjects)活动(Activity):流程中的任务/步骤;事件(Event):流程中发生的事情;网关(Gateway):用于控制流程的分支、合并、并行和条件判断;连接对象(ConnectingObjects):顺序流(SequenceFlow):用于显示流程中活动的发生顺序;消息流(MessageFlow):用于显示两个独立池实体间的通信;关联(Association):用于显示信息和流对象之间的关系;需求建模-业务处理模型工具说明-BPMN的四大类元素:泳道(Swimlanes):池(Pool):表示一个独立的参与者(如部门、系统);道(Lane):池内的子分区,表示池内的不同角色或职责;工件(Artifacts):数据对象(DataObject):表示流程中使用的数据或文档;组(Group):用于将相关的活动分组,便于理解;注释(Annotation):为流程图中的元素添加说明或注释;需求建模-业务处理模型主干业务设计通过拖拽工具组中的工具,将主干业务处理模型中所有的对象全部拖拽生成,然后调整所有对象的位置,让模型视图整齐些。需求建模-业务处理模型属性设计双击模型中任何对象可以弹出对象属性窗体,在属性窗体中主要设置对象的名称、代码等属性值。需求建模-业务处理模型格式设计点击主菜单Symbol下面的“Format…”子菜单弹出符号格式设置窗体,在格式窗体中可以设置对象符号的大小、条线、填充、阴影、字体等样式。需求建模-业务处理模型更改对象符号图片鼠标右击对象,在弹出的快捷菜单中选择ChangeImage…可以更改对象符号图片,首先选择左边的图片类别,然后从右边图片列表中选择一个合适的图片作为符号图片。需求建模-业务处理模型最终模型通过对象属性设置、格式设置及对象符号图片设计,最终的主干业务处理模型如右图所示。需求建模-功能模型选择新创建模型类型点击模型类别【Modeltypes】,选择面向对象模型【Object-OrientedModel】下面的用例视图【UseCaseDiagram,输入模型名称【Modelname】,在过程语言【Objectlanguage】下拉框中选择数据流图【Java】,最后点击【OK】按钮进入模型设计主界面。需求建模-功能模型工具说明用例设计工具组中的工具主要包括参与者、用例、泛化关系、关联关系及依赖关系等工具。其中,关联关系通常表示参与者与用例之间存在信息交互;泛化关系表示参与者之间存在继承关系;依赖关系表示一个用例可能要使用到另外一个用例的功能。需求建模-功能用例模型最终模型首先绘制项目的参与者,参与者主要包括书商、课程负责人、专业负责人、学生、代办站及教务员;然后绘制项目的用例,主要用例包括教材推荐、教材选用、教材审核、教材订购、教材代办及系统管理,另外还有一个登录用例;最后,按照参与者的业务范围与责任绘制参与者与用例之前的关联关系,最终的主干业务处理模型如右图所示。运行PowerDesigner选择【File->NewModel…】菜单,创建新模型。需求建模-数据流图选择新创建模型类型点击模型类别【Modeltypes】,选择业务过程模型【BusinessProcessModel】中的业务过程视图【BusinessProcessDiagram】,输入模型名称【Modelname】,在过程语言【Processlanguage】下拉框中选择数据流图【DataFlowDiagram】,最后点击【OK】按钮进入模型设计主界面。需求建模-数据流图绘制工具说明外部实体:代表人、机器或组织,负责发送或接收数据;数据存贮:表示静态数据,如文件、数据库表;过程:数据加工活动,它转换和操作输入数据以生成输出数据;数据流:连接外部实体、加工/处理对象,表示对象间数据传输;资源流:表示过程/处理与数据存贮之间的数据传输,表示对存贮数据的读/写操作;分裂/合并:允许您将流拆分为多个流以将数据发送到不同的目标,或将来自不同源的流合并为一个流。需求建模-数据流图顶层DFD设计数据流图通常都需要分层设计,采取自顶而下的方式分层设计DFD,首先设计系统的顶层DFD。需求建模-数据流图对象排列设置首先在DFD中选中n个对象元素,然后点击主菜单中的【Symbol->Align】菜单项,弹出n个符号对象排列设置菜单。可以设置多个对象的水平排列方式、竖直排列方式。排列菜单需求建模-数据流图拆分过程在【系统管理】对象上单击右键的弹出菜单中选择【DecomposeProcess】菜单项,将商品管理过程拆分成1个下级DFD视图。拆分过程需求建模-数据流图打开下级视图双击对象浏览窗体中【系统管理】对象的下级视图即可打开下级DFD视图,进行二级数据流图的设计窗体。需求建模-数据流图选择存取模型资源流表示数据的读/写操作,箭头指向数据存贮表示写入数据,箭头从数据存贮出发表示读取数据,双击资源流可以打开资源流属性窗体,在属性窗体中可以勾选数据存取模型(Create、Read、Update、Delete)。选择存取模型需求建模-数据流图双向箭头第3章概念数据模型设计数据库系统设计与开发概念数据模型设计概念数据模型
建立概念数据模型概念数据模型概念数据模型(ConceptualDataModel,CDM)是一组严格定义的模型元素的集合,这些模型元素精确地描述了系统的静态特性、动态特性以及完整性约束条件等,其中包括了数据结构、数据操作和完整性约束3部分。数据结构表达为实体和属性。数据操作表达为实体中记录的插入、删除、修改、查询等操作。完整性约束表达为数据的自身完整性约束(如数据类型、检查、规则等)和数据间的参照完整性约束(如联系、继承联系等)。概念数据模型实体-联系模型(E-R模型)是最常见的概念数据模型。建立概念数据模型启动PowerDesigner,新建模型,选择CDM。建立概念数据模型在CDM绘制工作区点击右键弹出菜单,选择【ModelOptions】菜单项,在模型选项窗体中的符号(notation)下拉框中选择E/R模型,将Relationship下面的Uniquecode前面的勾除掉,DataItem下面的Uniquecode前面的勾除掉,允许关系、主键的代码可以重名。建立概念数据模型绘制工具说明“关联”工具用来连接2个有联系的实体,表示实体间的1对1联系或1对n联系;“联合”工具用来创建联合对象,联合对象是为了解决多对多联系而产生的一个“虚拟”实体,可以为联合实体定义属性;“联合关联”工具用来直接连接2个实体,表示它们之间的多对多联系;“继承”工具用来创建继承联系,继承联系用来定义一种父类(父实体)与子类(子实体)之间的特殊联系,子实体与它的父实体共享一些属性,有一个或多个属性不被父实体或其他子实体所共享,父实体也能有一个或多个联系不与子实体共享。首先绘制一个实体对象,然后双击此实体弹出对象属性窗体。在此窗体中包含常规(General)、属性(Attributes)、标识符(Identifiers)等选项卡。在常规页面中可以设置实体的名字(Name)、代码(Code)、说明(Comment)等常规信息。建立概念数据模型建立概念数据模型在属性页面中可以设置实体属性的名字、代码、数据类型、长度、非空(M)、主标识(P)等信息。可以在列表中任意添加、编辑实体属性。也可以移动属性的排列位置建立概念数据模型如果在属性页面中设置了主标识,则会在标识页面中自动添加1条主属性标识,可以修改主属性标识的名称、代码。建立概念数据模型实体名属性列表主标识实体的结构建立概念数据模型默认情况下,实体图会显示每个属性的数据类型和长度。因为概念数据模型主要是用来和软件需求方(非专业人员)进行交流的信息模型,不应该把带有专业特征的信息呈现出来,所以需要修改CDM的显示方式。在绘图区域,单击右键弹出菜单。选择【DisplayPreferences…】菜单项,打开模型显示设置窗体。建立概念数据模型在【Category】列表中选择【Entity】,然后在【Entityattributes】选择框中取消【Datatypes】、【Domainordatatype】选项。还可以在“Displaylimit”输入框中将系统默认的最多显示5个属性修改为一个更大的值(如50),否则如果实体的属性超过5个,在CDM中不会显示出来。建立概念数据模型完成所有实体的设计。建立概念数据模型完成所有实体间简单联系的设计。利用联系【
Relationship】工具将实体之间的简单联系(1:1、1:n)连接起来。建立概念数据模型双击联系(Relationship),打开联系属性窗体。选择联系的连通词、联系的基数,系统默认的连通词是1对多(One-Many)。建立概念数据模型完成所有实体间多对多复杂联系的设计。利用联合关联【Associationlink】工具将实体之间的n:m复杂连接起来。第4章物理数据模型设计数据库系统设计与开发物理数据模型设计物理数据模型
建立物理数据模型生成数据库创建脚本PowerDesigner物理数据模型的主要功能包括以下5个:可以通过物理数据模型将数据库移植到任何一种关系型数据库中。可以通过逆向工程从数据库中生成物理数据模型。可以定制生成标准的模型报告。可以转换为OOM。自动生成数据库对象定义的SQL脚本。物理数据模型PowerDesigner可以在CDM、PDM、OOM、DB之间进行自由转换。物理数据模型建立物理数据模型PowerDesigner有3种途径创建物理数据模型。手工新建PDM。正向工程:从CDM/LDM生成PDM。逆向工程:从现有DB逆向生成PDM。手工新建PDM单击【File】菜单下的【NewModel…】子菜单创建新模型,在模型类型列表中选择【PhysicalDataModel】,在DBMS下拉框中选择具体DBMS类型,PowerDesigner支持数十种DBMS产品,因为openGauss是一个基于PostgreSQL的开源数据库管理系统,所以我们从中选择【PostgreSQL9.x】。建立物理数据模型利用右图所示的工具面板可以创建PDM中的常见对象,如包、表、视图、过程、参照完整约束等。建立物理数据模型表包视图参照过程通过工具栏中的【表格】工具按钮创建1个表格对象,然后双击对象打开对象属性设置窗体。在对象属性设置窗体内可以进一步完善对象的设计。建立物理数据模型利用正向工程生成PDM打开数据库系统的CDM窗体,单击【Tools】主菜单,选择【GeneratePhysicalDataModel…】子菜单,打开PDM模型生成选项窗口建立物理数据模型选择具体的DBMS类型(如PostgreSQL9.x)。建立物理数据模型点击【Detail】选项卡进行转换设置,重点设置:Table:可以给每张表加前缀;Index:设置主键索引、外键索引及候选键索引名规范、创建外键索引的阈值等;其中%TABLE%表示表名,%CHILD%表示外键所在表,%PARENT%表示参考主键所属表。Reference:设置外键字段的名称规范。建立物理数据模型在PDM图中默认显示所有数据库对象的Name而非Code,需要把数据库对象的Code属性设置为英文字符。因此,我们需要修改PDM的显示模式,让PDM只显示对象的Code。建立物理数据模型在PDM窗体中选择弹出菜单中的【DisplayPreferences…】子菜单,弹出显示模式设置窗体,在目录(Category)框中选择Content->Table,然后单击窗体右边的【Advanced…】按钮打开高级设置窗体。建立物理数据模型在高级显示模式设置窗体中单击Columns,选择窗体右边的【Select】按钮,打开Table显示选项设置窗体。建立物理数据模型在数据库表显示选项设置窗体中勾选AttributeName列表中的Code,取消DisplayName上的√,然后单击【OK】按钮,则PDM只显示表中的Code而不显示Name。建立物理数据模型此时在PDM中表名还是显示为中文的Name,需要进一步修改。在PDM窗体中选择弹出菜单中的【ModelOptions…】子菜单。在Category列表中选择NamingConvention,然后在窗体右边选择Display选择为Code,单击【OK】按钮。建立物理数据模型最终生成的PDM。建立物理数据模型利用逆向工程生成PDM首先,需要从openGauss官网下载并安装相应版本的ODBC驱动程序。然后,运行Windows操作系统的ODBC32位数据源管理程序。建立物理数据模型利用逆向工程生成PDM点击【添加】按钮新建1个ODBC用户数据源。建立物理数据模型利用逆向工程生成PDM选择“PostgreSQLUnicode”驱动程序。建立物理数据模型利用逆向工程生成PDM输入openGauss数据库信息,主要包括数据源名称、数据库名、服务器IP、端口号、用户名、密码等信息,点击【Test】测试。建立物理数据模型选择File->ReverseEngineer->Database菜单通过反向工程新建PDM。建立物理数据模型在新建窗体中输入需要新建的PDM名称,选择具体的DBMS类型,单击【OK】按钮。建立物理数据模型选择前面已经创建的ODBC用户数据源(openGaussHR)。建立物理数据模型选择源数据库中需要加入到PDM的数据库表,然后点击【OK】按钮。建立物理数据模型最后生成物理数据模型。建立物理数据模型数据库系统设计一般来说都是先设计出数据库的CDM,然后将CDM转成PDM,最后利用PDM生成创建具体数据库的SQL脚本。选择【Database->EditCurrentDBMS…】菜单,打开DBMS属性窗体。生成数据库创建脚本在DBMS属性窗体中Script->Sql->Format中有一项CaseSensitivityUsingQuote,表示是否使用双引号将表名、字段名括起来,选中Value的值为“No”即可!。生成数据库创建脚本选择Database->GenerateDatabase菜单,打开数据库生成窗体。生成数据库创建脚本在General选项卡中输入即将要生成的SQL脚本文件名、保存的目录,可以在Options选项卡中设置需要生成的对象类型,在Format选项卡中设置SQL脚本格式,在Select选项卡选择需要具体生成数据库对象,单击Summary查看概要说明,单击Preview可以预览SQL脚本。生成数据库创建脚本在数据库生成窗体中设置好参数后点击【确定】按钮生成SQL脚本,弹出生成文件窗体,此时点击【Edit】按钮就可以查看、编辑数据库生成脚本SQL代码了。生成数据库创建脚本最终生成的脚本SQL代码。生成数据库创建脚本第5章openGauss概述数据库系统设计与开发openGauss概述openGauss简介openGauss功能openGauss安装openGauss工具openGauss简介鲲鹏计算产业openGauss简介华为鲲鹏生态的数据库战略openGauss简介openGauss集中式版本内核全开源openGauss简介openGauss产品:商用+自用+开源相结合openGauss简介openGauss伙伴使能策略openGauss简介openGauss社区openGauss简介openGauss是关系型数据库,采用客户端/服务器,单进程多线程架构,支持单机和一主多备部署方式,备机可读,支持双机高可用和读扩展。产品特点openGauss相比其他开源数据库主要有复合应用场景、高性能和高可用等产品特点。软件架构openGauss主要包含了openGauss服务器,客户端驱动,OM等模块,本章将介绍这些模块之间的相互关系。典型组网为了保证整个应用数据的安全性,建议将openGauss的典型组网划分为两个独立网络:前端业务网络和数据管理存储网络。openGauss数据库openGauss简介openGauss数据库特点openGauss简介应用场景openGauss简介支持的硬件平台openGauss支持运行在鲲鹏服务器和通用的x86服务器上:支持鲲鹏服务器和基于x86_64的通用PC服务器。支持本地存储(SATA、SAS、SSD)。支持千兆、万兆Ethernet网络。支持的操作系统openEulerrelease22.05(LTS)onARM。推荐采用此操作系统。openEuler22.05onX86-64。CentOS7.6onX86-64。运行环境openGauss功能运行环境基本功能标准SQL支持支持标准的SQL92/SQL99/SQL2003/SQL2011规范,支持GBK和UTF-8字符集,支持SQL标准函数与分析函数,支持存储过程。数据库存储管理功能支持表空间,可以把不同表规划到不同的存储位置。提供主备双机事务支持ACID特性、单节点故障恢复、双机数据同步,双机故障切换等。openGauss功能应用程序接口支持标准JDBC4.0的特性、ODBC3.5特性。管理工具提供安装部署工具、实例启停工具、备份恢复工具。安全管理支持SSL安全网络连接、用户权限管理、密码管理、安全审计等功能,保证数据库在管理层、应用层、系统层和网络层的安全性。基本功能openGauss功能增强特性-数据分区数据分区是数据库产品普遍具备的功能。在openGauss中,这句话建议修改为:数据分区是对数据集按照用户指定的策略对数据集做进一步拆分的水平分表,将表按照指定范围划分为多个数据互不重叠的部分(Partition)。openGauss支持范围分区(RangePartitioning)功能,即根据表的一列或者多列,将要插入表的记录分为若干个范围(这些范围在不同的分区里没有重叠),然后为每个范围创建一个分区,用来存储相应的数据。用户在CREATETABLE时增加PARTITION参数,即表示针对此表应用数据分区功能。openGauss功能运行环境增强特性-openGauss行存&列存
openGauss功能运行环境增强特性-高可靠事务处理
openGauss提供事务管理功能,保证事务的ACID特性。为了在主节点出现故障时尽可能地不中断服务,openGauss提供了主备双机高可靠机制。通过保护关键用户程序对外不间断提供服务,把因为硬件、软件和人为造成的故障对业务的影响程度降到最低,以保证业务的持续性。故障恢复支持节点故障可恢复及恢复后满足ACID特性。节点故障、停止后重启等情况下,openGauss能够保证故障之前的数据无丢失,满足ACID特性。事务管理支持事务块,用户可以通过starttransaction命令显式启动一个事务块。支持单语句事务,用户不显式启动事务,则单条语句就是一个事务。openGauss功能运行环境增强特性-高并发&高性能
openGauss功能运行环境增强特性-内存表
openGauss功能运行环境增强特性-主备双机
openGauss安装安装前的准备工作之一安装openGauss需要的依赖包dnf-yinstallwgetcurlvimnet-toolstardnf-yinstalllibaio-develflexbisonncurses-develglibc-develpatchreadline-devellibnslpython3openeuler-lsbntp\*实现时间同步systemctlrestartntpdsystemctlenablentpd关闭防火墙,查看防火墙状态,如果提示“notrunning”,即表示关闭成功systemctlstopfirewalld.servicesystemctldisablefirewalld.servicefirewall-cmd--state关闭selinux,最后1条查看selinux是否关闭成功setenforce0sed-i"s/SELINUX=enforcing/SELINUX=disabled/g"/etc/selinux/configgetenforceopenGauss安装关闭透明大页echonever>/sys/kernel/mm/transparent_hugepage/enabledechonever>/sys/kernel/mm/transparent_hugepage/defragcat>>/etc/rc.d/rc.local<<EOFiftest-f/sys/kernel/mm/transparent_hugepage/enabled;thenechonever>/sys/kernel/mm/transparent_hugepage/enabledfiiftest-f/sys/kernel/mm/transparent_hugepage/defrag;thenechonever>/sys/kernel/mm/transparent_hugepage/defragfiEOFchmodu+x/etc/rc.d/rc.local重新启动reboot在/home目录创建脚本文件init01.sh,将上述内容复制粘贴至文件中,然后修改文件属性为可执行cd/homeviminit01.shchmod+xinit01.shopenGauss安装安装前的准备工作之二设置网卡MTU,网卡名为enp0s3,原来的mtu为1500ifconfigenp0s3mtu8192设置字符集为en_US.UTF-8。echoLANG=en_US.UTF-8>>/etc/profilesource/etc/profile配置Banner,注释掉“Banner”sed-i"s/^Banner/#Banner/g"/etc/ssh/sshd_config执行下列命令使设置生效。systemctlrestartsshd.service执行下列命令查看是否注释成功cat/etc/ssh/sshd_config|grepBanneropenGauss安装修改内核参数cat>>/etc/sysctl.conf<<EOFfs.file-max=76724200kernel.sem=1000010240000100001024kernel.shmmni=4096kernel.shmall=1152921504606846720kernel.shmmax=18446744073709551615net.ipv4.ip_local_port_range=2600065535net.ipv4.tcp_fin_timeout=60net.ipv4.tcp_retries1=5net.ipv4.tcp_syn_retries=5net.core.rmem_default=21299200net.core.wmem_default=21299200net.core.rmem_max=21299200net.core.wmem_max=21299200fs.aio-max-nr=40960000vm.dirty_ratio=20vm.dirty_background_ratio=3vm.dirty_writeback_centisecs=100vm.dirty_expire_centisecs=500vm.swappiness=10vm.min_free_kbytes=193053EOFopenGauss安装用户limit调整cat>>/etc/security/limits.conf<<EOFommsoftnofile1048576ommhardnofile1048576ommsoftnproc131072ommhardnproc131072ommsoftmemlockunlimitedommhardmemlockunlimitedommsoftcoreunlimitedommhardcoreunlimitedommsoftstackunlimitedommhardstackunlimited*softnofile1048576*hardnofile1048576EOFopenGauss安装创建用户和组groupadddbgroup-g1000useraddomm--gid1000--uid1000--create-homepasswdomm创建源文件目录,用来存放下载的安装包mkdir-p/opt/software/openGauss创建安装目录,用来将openGauss安装到该目录下mkdir-p/software/openGauss创建数据目录,用来存放openGauss相关的数据mkdir-p/data/openGauss修改目录属性
chown-Romm:dbgroup/opt/software/openGausschown-Romm:dbgroup/software/openGausschown-Romm:dbgroup/data/openGausschmod-R775/opt/software/chmod-R777/opt/software/openGauss在/home目录创建脚本文件init02.sh,将上述内容复制粘贴至文件中,然后修改文件属性为可执行cd/homeviminit02.shchmod+xinit02.shopenGauss安装安装前的准备工作之三创建配置文件,此文件包含部署openGauss的服务器信息、安装路径、IP地址以及端口号等cluster_config.xml<?xmlversion="1.0"encoding="UTF-8"?><ROOT><!--openGauss整体信息--><CLUSTER><!--数据库名称--><PARAMname="clusterName"value="dbCluster"/><!--数据库节点名称(hostname)--><PARAMname="nodeNames"value="gaussMaster"/><!--数据库安装目录--><PARAMname="gaussdbAppPath"value="/software/openGauss/install/app"/><!--日志目录--><PARAMname="gaussdbLogPath"value="/data/openGauss/log/omm"/><!--临时文件目录--><PARAMname="tmpMppdbPath"value="/data/openGauss/tmp"/><!--数据库工具目录--><PARAMname="gaussdbToolPath"value="/software/openGauss/om"/><!--数据库core文件目录--><PARAMname="corePath"value="/data/openGauss/corefile"/><!--节点IP,与数据库节点名称列表一一对应--><PARAMname="backIp1s"value="5"/></CLUSTER>openGauss安装<!--每台服务器上的节点部署信息--><DEVICELIST><!--节点1上的部署信息--><DEVICEsn="gaussMaster"><!--节点1的主机名称--><PARAMname="name"value="gaussMaster"/><!--节点1所在的AZ及AZ优先级--><PARAMname="azName"value="AZ1"/><PARAMname="azPriority"value="1"/><!--节点1的IP,如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP--><PARAMname="backIp1"value="5"/><PARAMname="sshIp1"value="5"/> <!--dn--><PARAMname="dataNum"value="1"/> <PARAMname="dataPortBase"value="15600"/> <PARAMname="dataNode1"value="/software/openGauss/install/data/dn"/><PARAMname="dataNode1_syncNum"value="0"/></DEVICE></DEVICELIST></ROOT>openGauss安装安装步骤执行init01.sh脚本文件cd/home./inito1.sh重启后执行init02.sql文件./init02.sh复制cluster_config.xmlcp/home/cluster_config.xml/opt/software/openGauss/cluster_config.xml下载openGauss5.0.2wget-P/opt/software/openGauss/5.0.2/x86_openEuler_2203/openGauss-5.0.2-openEuler-64bit-all.tar.gz解压缩安装包tar-xvf/opt/software/openGauss/openGauss-5.0.2-openEuler-64bit-all.tar.gz-C/opt/software/openGausstar-zxvf/opt/software/openGauss/openGauss-5.0.2-openEuler-64bit-om.tar.gz-C/opt/software/openGauss修改主机名为gaussMasterhostnamectlset-hostnamegaussMaster使用root用户执行gs_preinstall预安装命令/opt/software/openGauss/script/gs_preinstall-Uomm-Gdbgroup-X/opt/software/openGauss/cluster_config.xmlopenGauss安装重新调整目录权限root用户执行下列命令重新设置/opt/software/openGauss目录属主为omm。chown-Romm:dbgroup/opt/software/openGauss切换用户omm用户su-omm安装openGauss/opt/software/openGauss/script/gs_install-X/opt/software/openGauss/cluster_config.xml启动集群,安装顺利完成后,执行下列命令重新启动集群数据库服务gs_om-trestart检查状态,安装顺利完成后,执行下列命令可以查看机群的状态gs_om-tstatus--detail登录openGaussgsql-dpostgres自启动服务配置systemd:linux服务管理程序安装openGauss后如果重新启动openEuler将不能登录使用openGuass,原因是openGauss并没有随着linux的启动而自动启动。因此,我们需要使用systemd服务管理器创建1个openGauss自启动服务,将openGauss数据库服务集成到操作系统的启动流程中,设置openGauss服务开机自启动,为业务提供更稳定和可靠的基础环境。自启动服务配置创建服务创建服务实际上就是在/usr/lib/systemd/system目录下面新建1个opengauss.service文件,在此文件中按照systemd管理器要求编辑服务程序单元信息。#定义单元[Unit]#服务的描述信息,说明该服务是0penGauss数据库服务器Description=0penGaussDatabaseServer#在syslog和network目标之后启动After=syslog.targetnetwork.target#定义服务[Service]#服务类型为forking,表示服务将在启动时派生一个子进程,后台运行Type=forking#以omm用户身份运行服务User=omm#以dbgrp用户组身份运行服务Group=dbgroup#设置GPHOME环境变量为0penGauss的安装路径Environment=GPHOME=/software/openGauss/om自启动服务配置#设置PGHOST环境变量为0penGauss的日志路径Environment=PGHOST=/data/openGauss/tmp#设置PGDATA环境变量为0penGauss数据目录路径Environment=PGDATA=/software/openGauss/install/data/dn#设置LDLIBRARYPATH坏境变量,指定动态链接库路径Environment=LD_LIBRARY_PATH=$GPHOME/lib:$LD_LIBRARY_PATH#设置GAUSSHOME环境变量为openGauss的程序路径Environment=GAUSSHOME=/software/openGauss/install/app#设置GAUSSLOG环境变量为openGauss的日志路径Environment=GAUSSLOG=/data/openGauss/log/omm/omm#启动服务的命令ExecStart=/software/openGauss/om/script/gs_om-tstart#停止服务的命令ExecStop=/software/openGauss/om/script/gs_om-tstop#重新加载服务的命令ExecReload=/software/openGauss/om/script/gs_om-trestart#配置服务的安装属性[Install]#系统运行在多用户模式下WantedBy=multi-user.target自启动服务配置重新加载systemd配置systemctldaemon-reload启用openGauss服务,使其在openEuler系统启动时自动运行systemctlenableopengauss.service启动openGauss服务,这条命令实际上是执行gs_om-tstart启动数据库systemctlstartopengauss.service自启动服务配置查看openGauss服务状态systemctlstatusopengauss.service重新启动系统reboot再次查看状态systemctlstatusopengauss.service再次查看openGauss服务状态,如果openGauss服务处于active(running)状态,表示openGauss已经正常启动,可以对外提供服务了。openGauss配置openGauss主配置文件修改openGauss默认配置只允许本机()可以登录数据库,远程终端还不可以登录openGauss数据库。openGauss的主配置文件为postgresql.conf,保存在服务器数据节点目录下,通过查询环境变量$PGDATA可以找到具体位置。利用Linux的vim文本编辑器修改postgresql.conf文件。通过修改此文件设置数据库的监听ip地址、端口及密码加密方式。listen_addresses参数值将默认的
设置为*,原来仅本地可以访问,设置为*意味着所有ip地址均可访问。可以修改port参数的值,默认为15600,表示openGauss监听客户连接数据库的端口号。password_encryption_type参数表示密码存储类型,取值范围为{0,1,2},默认为2,0表示仅支持md5,1表示支持md5、sha256两种类型,2表示只支持sha256类型。openGauss配置openGauss客户端认证配置文件修改客户端认证配置文件为pg_hba.conf,它与postgresql.conf文件在同一路径下。pg_hba.conf文件的常用格式是一组记录,每行一条客户端认证规则。每条记录依次指定连接类型(TYPE)、访问数据库(DATABASE)、登录用户(USER)、客户端连接地址(ADDRESS)以及认证方法(METHOD)。连接类型(TYPE)local:Unix-domainsocket,unix域套接字通讯方式host:plainorSSL-encryptedTCP/IPsocket,普通或SSL加密的TCP/IP套接字通讯方式hostssl:SSL-encryptedTCP/IPsocket,SSL加密的TCP/IP套接字通讯方式hostnossl:plainTCP/IPsocket,普通TCP/IP套接字通讯方式openGauss配置openGauss客户端认证配置文件修改访问数据库(DATABASE)all:表示可以访问所有数据库sameuser:表示只能访问与用户名相同的数据库samerole:表示只能访问与角色名相同的数据库登录用户(USER)all:表示所有用户可以访问username:表示只有该用户可以访问+rolename:前缀为+组才能访问openGauss配置openGauss客户端认证配置文件修改客户端连接地址(ADDRESS)hostname:主机名,表示只有该主机可以访问IP/CIDRmask:由IP地址和CIDR掩码组成,表示允许某段ip可以访问,例如:/0表示所有IP都可以访问。samerole:表示只能访问与角色名相同的数据库认证方法(METHOD)md5:md5认证方式sha256:sha256认证方式,首选此方式openGauss配置防火墙配置为了数据库的安全性需要重新启用防火墙,利用firewalld设置防火墙通行策略,确保openGauss默认的端口号15600能够通过防火墙访问数据库管理员。root用户身份进行配置systemctlenablefirewalld.servicesystemctlstartfirewalld.servicefirewall-cmd--zone=public--add-port=15600/tcp--permanentfirewall-cmd--reloadopenGauss配置配置端口转发用户通常不想使用虚拟机提供的终端访问openEuler系统,因此,需要设置虚拟机的“端口转发”,让对主机的特定端口的访问转发到虚拟机对应的端口,实现虚拟机的远程访问。openGauss配置配置端口转发在这里设置1条转发规则,实现对主机15666端口的访问转发到虚拟机openGauss对应的15600端口。openGauss配置远程连接openGauss因为openGauss的初创用户(omm)是不允许远程登录的,所以需要创建1个新用户jimmy,并授予它系统管理员(sysadmin)的身份。CREATEUSERjimmyWITHSYSADMINIDENTIFIEDBY'**********';DataStudio
是华为自研的openGauss配套客户端工具,需要从openGauss官网下载,下载后直接解压即可运行
。DataStudio依赖JDK,请先在主机上安装好JDK,DataStudio5.0最少需要JDK11以上。openGauss配置DataStudio启动后,默认打开“创建数据库连接”对话框。创建数据库连接时需要输入名称、主机、端口号、数据库、用户名和密码等连接参数,必选参数用星号(*)标识,如果没有配置启用SSL协议,则需要取消“启用SSL”选项。openGauss配置DataStudio运行界面自启动服务配置systemd:linux服务管理程序安装openGauss后如果重新启动openEuler将不能登录使用openGuass,原因是openGauss并没有随着linux的启动而自动启动。因此,我们需要使用systemd服务管理器创建1个openGauss自启动服务,将openGauss数据库服务到集成操作系统的启动流程中,设置openGauss服务开机自启动,为业务提供更稳定和可靠的基础环境。自启动服务配置创建服务创建服务实际上就是在/usr/lib/systemd/system目录下面新建1个opengauss.service文件,在此文件中按照systemd管理器要求编辑服务程序单元信息。#定义单元[Unit]#服务的描述信息,说明该服务是0penGauss数据库服务器Description=0penGaussDatabaseServer#在syslog和network目标之后启动After=syslog.targetnetwork.target#定义服务[Service]#服务类型为forking,表示服务将在启动时派生一个子进程,后台运行Type=forking#以omm用户身份运行服务User=omm#以dbgrp用户组身份运行服务Group=dbgroup#设置GPHOME环境变量为0penGauss的安装路径Environment=GPHOME=/software/openGauss/om自启动服务配置#设置PGHOST环境变量为0penGauss的日志路径Environment=PGHOST=/data/openGauss/tmp#设置PGDATA环境变量为0penGauss数据目录路径Environment=PGDATA=/software/openGauss/install/data/dn#设置LDLIBRARYPATH坏境变量,指定动态链接库路径Environment=LD_LIBRARY_PATH=$GPHOME/lib:$LD_LIBRARY_PATH#设置GAUSSHOME环境变量为openGauss的程序路径Environment=GAUSSHOME=/software/openGauss/install/app#设置GAUSSLOG环境变量为openGauss的日志路径Environment=GAUSSLOG=/data/openGauss/log/omm/omm#启动服务的命令ExecStart=/software/openGauss/om/script/gs_om-tstart#停止服务的命令ExecStop=/software/openGauss/om/script/gs_om-tstop#重新加载服务的命令ExecReload=/software/openGauss/om/script/gs_om-trestart#配置服务的安装属性[Install]#系统运行在多用户模式下WantedBy=multi-user.target自启动服务配置重新加载systemd配置systemctldaemon-reload启用openGauss服务,使其在openEuler系统启动时自动运行systemctlenableopengauss.service启动openGauss服务,这条命令实际上是执行gs_om-tstart启动数据库systemctlstartopengauss.service自启动服务配置查看openGauss服务状态systemctlstatusopengauss.service重新启动系统reboot再次查看状态systemctlstatusopengauss.service再次查看openGauss服务状态,如果openGauss服务处于active(running)状态,表示openGauss已经正常启动,可以对外提供服务了。openGauss配置openGauss主配置文件修改openGauss默认配置只允许本机()可以登录数据库,远程终端还不可以登录openGauss数据库。openGauss的主配置文件为postgresql.conf,保存在服务器数据节点目录下,通过查询环境变量$PGDATA可以找到具体位置。利用Linux的vim文本编辑器修改postgresql.conf文件。通过修改此文件设置数据库的监听ip地址、端口及密码加密方式。listen_addresses参数值将默认的
设置为*,原来仅本地可以访问,设置为*意味着所有ip地址均可访问。可以修改port参数的值,默认为15600,表示openGauss监听客户连接数据库的端口号。password_encryption_type参数表示密码存储类型,取值范围为{0,1,2},默认为2,0表示仅支持md5,1表示支持md5、sha256两种类型,2表示只支持sha256类型。openGauss配置openGauss客户端认证配置文件修改客户端认证配置文件为pg_hba.conf,它与postgresql.conf文件在同一路径下。pg_hba.conf文件的常用格式是一组记录,每行一条客户端认证规则。每条记录依次指定连接类型(TYPE)、访问数据库(DATABASE)、登录用户(USER)、客户端连接地址(ADDRESS)以及认证方法(METHOD)。连接类型(TYPE)local:Unix-domainsocket,unix域套接字通讯方式host:plainorSSL-encryptedTCP/IPsocket,普通或SSL加密的TCP/IP套接字通讯方式hostssl:SSL-encryptedTCP/IPsocket,SSL加密的TCP/IP套接字通讯方式hostnossl:plainTCP/IPsocket,普通TCP/IP套接字通讯方式openGauss配置openGauss客户端认证配置文件修改访问数据库(DATABASE)all:表示可以访问所有数据库sameuser:表示只能访问与用户名相同的数据库samerole:表示只能访问与角色名相同的数据库登录用户(USER)all:表示所有用户可以访问username:表示只有该
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年绿色供应链协同管理实务
- 2026年会员日促销方案策划指南
- 2026福建福州软件职业技术学院招聘19人备考题库附答案详解
- 2026西藏山南加查县文旅局公益性岗位的招聘1人备考题库及答案详解参考
- 计算机自然语言处理应用手册
- 职业噪声心血管疾病的综合干预策略优化
- 职业噪声与心血管疾病环境暴露评估技术
- 客户活动年终总结范文(3篇)
- 职业健康档案电子化数据在职业病科研中的应用
- 职业健康促进医疗成本控制策略
- 2026年无锡工艺职业技术学院单招综合素质考试题库带答案解析
- 数字孪生方案
- 【低空经济】无人机AI巡检系统设计方案
- 金融领域人工智能算法应用伦理与安全评规范
- 2025年公务员多省联考《申论》题(陕西A卷)及参考答案
- cie1931年标准色度观测者的光谱色品坐标
- per200软件petrel2009中文版教程
- SB/T 10595-2011清洁行业经营服务规范
- JJF 1078-2002光学测角比较仪校准规范
- 新乡市兴华煤矿尽职调查报告
- GB 1886.215-2016食品安全国家标准食品添加剂白油(又名液体石蜡)
评论
0/150
提交评论