openGauss

开源数据库

openGauss社区官网

开源社区

【我和openGauss的故事】—初闻不识,久知细读。

鱿年年2022-10-09SampleopenGauss介绍

前言

当我第一次听见 openGauss 的时候,我在想这是一个什么,是一个打开的工具箱吗?还是一个活动标签,从没有想过会是一个数据库管理系统。慢慢的从朋友口中得知,这是一款免费的开源的国产数据库管理系统,目前美国等西方国家在很多方面都在卡我们的脖子,目前国内使用的数据库一般是 MySQL,Oracle 比较多,假如数据库被卡脖子那将是一场灾难,因此国产数据库的重要性就体现出来了,能看到 openGauss 这样一款优秀的数据库系统我感到很欣慰,已经迫不及待想尝尝鲜了。openGauss 是一款全面友好开放,携手伙伴共同打造的企业级开源关系型数据库。openGauss 提供面向多核架构的极致性能、全链路的业务、数据安全、基于 AI 的调优和高效运维的能力。openGauss 深度融合华为在数据库领域多年的研发经验,结合企业级场景需求,持续构建竞争力特性。

大纲概括:

1.openGauss 是一个数据库管理系统。

2.openGauss 数据库是关系型的。

3.openGauss 软件是开源的。

4.openGauss 数据库具有高性能、高可用、高安全、易运维、全开放的特点。

一、系统架构

openGauss 是单机系统,在这样的系统架构中,业务数据存储在单个物理节点上,数据访问任务被推送到服务节点执行,通过服务器的高并发,实现对数据处理的快速响应。同时通过日志复制可以把数据复制到备机,提供数据的高可靠和读扩展。

二、软件架构

openGauss 是单机系统,支持主备部署。

表 1 架构说明

名称描述
OM运维管理模块(Operation Manager)。提供数据库日常运维、配置管理的管理接口、工具。
CM数据库管理模块(Cluster Manager)。管理和监控数据库系统中各个功能单元和物理资源的运行情况,确保整个系统的稳定运行。
客户端驱动客户端驱动(Client Driver)。负责接收来自应用的访问请求,并向应用返回执行结果。客户端驱动负责与 openGauss 实例通信,发送应用的 SQL 命令,接收 openGauss 实例的执行结果。
openGauss(主备)openGauss 主备(Datanode)。负责存储业务数据、执行数据查询任务以及向客户端返回执行结果。openGauss 实例包含主、备两种类型,支持一主多备。建议将主、备 openGauss 实例分散部署在不同的物理节点中。
Storage服务器的本地存储资源,持久化存储数据。

三、基础语法

1.创建数据库

数据库安装完成后,默认生成名称为 postgres 的数据库。您需要自己创建一个新的数据库。

语法格式

创建数据库

CREATE DATABASE database_name;

查看数据库

使用“\l”用于查看已经存在的数据库。

\l

使用 “\c + 数据库名” 进入已存在数据库。

\c dbname

修改数据库

ALTER DATABASE database_name RENAME TO new_name;

删除数据库

DROP DATABASE database_name ;

示例

创建数据库

CREATE DATABASE nianNian OWNER tbug;

使用“\l”用于查看已经存在的数据库。

postgres=# CREATE DATABASE nianNian OWNER tbug;
CREATE DATABASE
postgres=# \l
                          List of databases
   Name    | Owner | Encoding  | Collate | Ctype | Access privileges
-----------+-------+-----------+---------+-------+-------------------
 db1       | tbug  | SQL_ASCII | C       | C     |
 niannian  | tbug  | SQL_ASCII | C       | C     |
 postgres  | omm   | SQL_ASCII | C       | C     |
 template0 | omm   | SQL_ASCII | C       | C     | =c/omm           +
           |       |           |         |       | omm=CTc/omm
 template1 | omm   | SQL_ASCII | C       | C     | =c/omm           +
           |       |           |         |       | omm=CTc/omm
(5 rows)