OpenGauss是什么
上一篇文章里我们提到了华为的自研生态
以Euler欧拉OS为底座
支持服务器、云计算、嵌入式等综合性的平台
Gauss 高斯是华为的数据库主打产品
同样也用了数学巨匠的名字
可以看出创作者团队在数学方面的情怀
Gauss 高斯
数学王子
每个人都听说过高斯小时候的故事
代码语言:javascript复制老师上课问到:1 2 3... 100 等于多少?
9岁的高斯脱口而出:5050
每个学计算机的人都学过统计图表
著名的高斯分布-正态分布曲线
也是以他命名的
高斯数据库
高斯数据库诞生于PostGreSQL之上
基于PGSQL的9.2版进行演变
直到今天
两个版本的区别也越来越大
PostGreSQL发展到了 16
摈弃了很多之前的功能
甚至连系统表都改了
也因此造成很多工具
比如navicat的老版本无法连接
必须升级到最新
而另一方面
OpenGauss发展到了5.0
按照木兰宽松许可证
可供用户免费使用
继承了PG的免费优良传统
安装
数据库支持单体和主备的安装方法
安装包可以从官网下载
大家可以自行搜索
支持服务器直接安装
以及docker容器安装的方式
1. 直接安装
需先下载安装包
下载时注意选择架构区分
然后在服务器上进行解压
推荐使用欧拉OS
其他的环境请选择docker安装的方式
在 simpleInstall 目录下
有一个 install.sh 命令
直接执行即可安装
代码语言:javascript复制sh install.sh -p 5432 -w "Xiao#mian53" &&source ~/.bashrc
注意,端口如果不写则默认 5432
初始密码需要满足高复杂度
比如我设置的 Xiao#mian53
2. Docker安装
需要先具有docker环境
然后搜索镜像
代码语言:javascript复制docker search opengauss
注意不同的架构环境下
版本可能不同
然后拉取镜像
代码语言:javascript复制docker pull enmotech/opengauss
下载完成后,启动即可
可以把数据文件映射到宿主机
代码语言:javascript复制docker run -d -v /home/xiaomian/opengauss/data:/var/lib/opengauss/data --restart=always --privileged=true --name mygauss -e GS_PASSWORD=Xiao#mian53 -e TZ=Asia/Shanghai -p 5432:5432 enmotech/opengauss
这样就启动了
使用
默认端口5432
使用的时候,其实大部分支持PostGreSQL的工具都能用
比如PgAdmin,Navicat
默认管理员用户是gaussdb
默认库是 omm
我们用navicat做示范
就这样写:
代码语言:javascript复制 选postgre
连接名 mygauss
主机 10.172.3.13
端口 5432
初始数据库 omm
用户名 gaussdb
密码 Xiao#mian53
它的结构类似Oracle
包括 表空间 tablespace,库 database,模式 schema
库表索引等对象
都需要使用表空间
如不特指则使用默认
schema模式类似于子库的概念
一个真实数据库 database 下面
可以有若干个模式 schema
并且至少有一个叫做 public 作为默认模式
所以,比如写 select * from myschema1.mytable1
就是针对具体的表查询
如果不写schema,则默认会去查询public
特性
很多人都是从MySQL或是SQL Server起步学习
这里主要强调一下Gauss的特殊点
比如数值型
常用的有 integer, decimal(10,2) 这两种格式
除此之外,高斯库还支持 bigint,smallint等细分
如果需要自增数,可以使用serial
它会自动增加一个序列与列绑定
源自PG的另一个特性是数组
任何字段都可以被定义为 [ ] 的格式
即列可以被定义为 integer []
可以应用于某些特定场合
比如 经纬度 都是成对出现
还有一些特殊的类型
比如 bytea 存放的是二进制数据
类似 blob 的使用
还有 inet 类型
存储的是 ipv4或者 ipv6的地址格式等等
如果你想低成本的学习数据库
或是想上手研究信创知识体系
可以尝试选择OpenGauss
在国内数据库遍地开花的年代
学习高斯的难度还是较低的
甚至于它可以直接使用PGSQL的JDBC驱动
可以参考很多原有的知识
需要的朋友可以访问华为高斯的官网进行进一步了解
我是了不起
和我一起学习更多精彩知识!!!
点击
关注我们,实时获取推送