当前位置: 首页 > news >正文

【OpenGauss】知识总结

OpenGauss

OpenGauss概述

一、基本概念

DBMS 数据库管理系统 (opengauss隶属于这个)

🚀DBMS充当数据库与其用户或程序之间的系统

  • 层次模型数据管理系统

  • 网状模型数据库管理系统

  • RDBMS 关系型数据管理系统 (R - relationship)

    • mysql、 sql server、 oracle、 opengauss 等等

    • 结构化数据

  • NoSQL 数据库管理系统

    • 高性能并发读写 key-value、 redis

    • 文档数据库 MongoDB

    • 搜索引擎 ES、 Solor

    • 分布式数据库 Hbase、 Hive

    • NoSQL - CAP 理论

      • 一个分布式系统不可能同时满足 一致性、可用性、分区容错性 三个基本需求,并且最多只能满足其中的两项

当然还有其他的类型:

  1. DBS 数据库系统

    • 数据库系统是指在计算机系统中引入入数据库后的系统
  2. DB 数据库

  3. Database 数据库 (永久存储,有组织,可共享)

    数据库是指长期存储在计算机内、有组织、可共享的大量的数据的集合。数据库中的数据按照一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。

数据库管理技术的三个发展阶段

人工管理阶段、 文件系统阶段 和 数据库系统阶段

每一个阶段都是以减小数据冗余

数据库模型 - 层次、 网状、 关系模型

一、层次模型

  • 有且只有一个节点没有双亲

  • 跟节点意外的其他节点有且只有一个双亲节点

  • (类似于树结构)

二、网状数据模型

  • 允许一个以上的节点无双亲

  • 一个节点可以有多余一个的双亲

三、 关系数据模型

  • 建立在严格的数据概念基础上

  • 关系必须是规范化的

  • 关系的分量必须是一个不可分的数据项

结构化查询语言 SQL

SQL是结构化查询语言的简称,是关系数据库的标准语言。


事务
ACID-关系型数据库 四大特性⭐
  • 原子性(Atomicity)

  • 一致性(Consisterncy)

  • 隔离性(Isolation)

  • 持久性(Durability)

事务的状态也只有三种:Active、Committed和Failed


数据库架构
单机架构

优点:部署几种,运维方便

缺点:

  • 可扩展性:数据库单机架构扩展性只有纵向扩展(Scale-
    up),即通过增加硬件配置来提升性能,但单台主机的硬件
    可配置的资源会遇到上限。

  • 在单点故障:扩容的时候往往需要停机扩容,服务停止;
    硬件故障导致整个服务不可用,甚至数据丢失。

  • 单机会遇到性能瓶颈

多机架构
分组
  • 主备架构和主从架构

  • 多主 —— Shared Disk 共享存储

分片
  • Share-nothing、MPP
无共享架构 Shared Nothing
  • 各个处理单元有自己的CPU/内存/硬盘

  • 各节点互相独立,处理后结果向上汇总

  • 容易扩容

MPP架构 Massively Parallel Processing
  • 将任务并行分散到多个服务器和节点上
关系型数据库主流应用场景
  1. 联机事务处理 OLTP

    • 操作处理

    • 强调内存各种指标的命令率,强调绑定变量,强调并发操作

  2. 联机分析处理 OLAP

    • 信息处理

    • 强调SQL执行时长,强调磁盘 I/O,强调分区等


二、openGauss的发展历程
  • GaussDB100 OLTP场景

    GaussDB200OLAP场景

    CaussDB3OO HATP场景

  • GaussDB T
    GaussDB A

  • 2019年华为全联结大会开源GaussDB数据库
    命名为openGauss

  • 华为云 GaussDB 数据库

openGauss全面友好开放,采用 木兰宽松许可证v2 发行⭐

Postgres-XC(eXtensibleCluster)是基于PostgreSQL实现的可扩展集群,该集群基于shared-nothing架构形成多主(multi-master)且写可靠(write-scalable)的数据库集群系统,PostgreSQL相关的API可以无需修改直接使用,应用程序、事务处理等均不需要做任何修改。

openGaussVSPG架构和关键技术对比
  • 线程池模型 | 进程模型

  • 行存、列存、内存引擎 | 仅支持行存


OpenGauss的部署

  1. 直接在华为云上购买opebnGauss

  2. 在华为云购买ECS服务器安装openGauss

  3. 本地部署

官网下载openGauss数据库

架构: x86_64

操作系统: openRuler 22.03 LTS

部署数据库服务

命令行可以直接安装极简版,建议单练习SQL语句操作使用

dnf install -y opengauss  //下载
systemctl enable --now opengauss //启动

自动在系统生成opengauss用户

su -opengauss  //切换用户
gsql -d postgres -r //连接数据库
企业版本部署

1)安装环境的检查

2)获取安装包

3)配置XML文件

4)初始化安装环境 —— 利用openGass提供gs_preinstall

5)执行安装 —— 利用openGass提供gs_preinstall 脚本

6)部署—主多备场景 设置备机

数据库卸载

1)下载openGauss应用程序 使用omm用户执行gs_uninstall

2)清除安装openGauss的环境 使用root执行 gs_postuninstall 脚本


openGauss的体系结构

  • 进程线程结构 —— openGauss 单进程多线程

  • 内存结构

    • share buffer: 数据库服务器行存共享缓冲区

    • cstore buffer: 数据库服务器列存共享缓冲区

    • MOT 用于内存优化 表的数据和索引直接鵆在内存中

    • wal buffer: WAL 日志的共享内存

    • maintenance_work_mem:执行常见维护操作

    • wore_mem: 用于查询操作,排序哈希

    • temp buffer: 数据库会话使用的临时缓存,用于访问临时表

    • 调整内存大小

  • 存储结构

    • Tablepace 表空间 数据库的各种物理文件

      • db - 利用gsql的元命令查看的表空间信息

      • /d pg_tablespace 查看数据库的系统表

    • Database 数据库 各种该数据库之间相互隔离

      • 查看数据库 gsql元命令

      • 创建数据库

      • 修改数据库

      • 删除数据库

    • Datafile Segment 数据文件

    • Block 数据块 —— 数据库管理的基本单位

  • 两个重要配置文件

    • pg_hba.conf 客户端认证策略 — 文本文件

    • postgresql.conf 数据库的参数 — 文本文件

  • opengauss的部署方案

    • 单机

    • 主备

    • 一主多备


数据库对象管理

  • 视图

  • 索引

  • 序列

  • 函数

  • 存储过程

  • 触发器


数据库管理工具

客户端工具:

  • gsql是openGauss提供的在命令行下运行的数据库连接工具

服务端工具:

  • gs_check —— 统一化当前系统中存在的各种检查工具

  • gs_checkos —— 用于检查操作系统、控制参数】磁盘配置等内容

  • gs_ceckpref —— 只能root

  • gs_collector —— 在发生故障时,收集OS信息,日志信息以及配置文件信息,来定位问题

  • gs_dump —— 支持导出完整一致的数据

    • 纯文本格式 p

    • 自定义归档格式 c

    • 目录归档格式 d

    • tar归档格式 t

  • gs_dumpall —— 同时不影响用户对数据库的正常访问

  • gs_guc —— 设置openGauss 配置文件

    • 修改、查看 postgresql.conf 的配置文件的参数

    • 修改 pg_hba.conf 文件有关客户端认证的策略

  • gs_om —— 检查opengauss 运行

  • gs_restore —— 针对gs_dump 导出数据的导入工具

  • gs_ssh —— 在openGuss各个节点上执行相同的命令

数据库卸载


SQL

  • DDL

  • DML

  • DCL

  • DQL

http://www.dtcms.com/a/471423.html

相关文章:

  • 海淀教育人才网站网站系统正在升级维护
  • 各种不同光谱工业相机的特性的详细介绍
  • Java学习之旅第二季-21:记录
  • 自己建设网站怎么被百度收入外国人做网站
  • 如何查询网站是谁做的做淘客网站怎么
  • 工业自动化通信控制
  • NetworkPolicy详解
  • 郑州网站建设行情wordpress网站第一次打开慢
  • Python多进程编程核心组件详解:Event、Queue与进程生命周期管理
  • 真空共晶贴装技术
  • 添加SystemProperties的4种方法
  • 汕头建站平台免费推广网站入口2023燕
  • 深圳做棋牌网站建设有哪些公司海阳建设局网站
  • 网站优化大赛做电子商务网站需要什么软件
  • 重庆网站建设外贸加盟建筑公司办分公司
  • 用 “按位统计” 找唯一出现少于 3 次的数
  • 【解决】FAILED TO lOAD IDLINUX.c32
  • 去重表格的几种思路
  • 网站美工做的是什么合肥外贸网站建设公司排名
  • 用mitmproxy替代selenium-wire
  • 响应式网站怎么改成都住建局官网住建蓉e办
  • 参数传递:从字符串拼接到 qs 标准化时代
  • 清浦网站建设清河做网站
  • 中山企业网站建设公司网站内容seo
  • 如何快速建立网站装修无忧网
  • 网站建设尾款收取公司网站界面如何设计
  • 网站前端设计图投诉网站制作
  • linux 启动脚本rcS 及分区挂载分析
  • 快递公司网站怎么做贵州网站开发哪家便宜
  • 10大免费开源HR系统软件整理(含国内外对比)