深度體驗與測評openGauss 6.0.0新版本

来源:https://www.cnblogs.com/huaweiyun/p/18241468
-Advertisement-
Play Games

openGauss 6.0.0版本在安裝和使用方面都帶來了很大的改進和優化。一站式交互安裝功能極大地簡化了安裝流程,降低了用戶的學習成本;性能優化和中文日誌支持功能則進一步提升了資料庫的穩定性和易用性。 ...


本文分享自華為雲社區《openGauss 6.0.0新版本安裝測評》,作者:馬順華。

前言

近日,備受矚目的openGauss 6.0.0版本正式上線,作為國產資料庫的佼佼者,openGauss一直致力於為用戶提供高效、穩定的資料庫解決方案。恰逢openGauss社區舉辦的第七屆openGauss技術文章徵集活動正式開啟,我有幸親身體驗了這一新版本,併在此分享我的安裝及使用測評。

一、安裝體驗

openGauss 6.0.0版本在安裝方面進行了重大改進,推出了全新的一站式交互安裝功能。這一功能極大地簡化了安裝流程,降低了用戶的學習成本。在安裝過程中,用戶只需通過交互界面輸入資料庫的相關信息,系統便會自動生成xml配置文件,並自動進行資料庫的初始化安裝。相比之前的版本,這一改變無疑是一大亮點。

在實際安裝過程中,我按照提示逐步操作,整個過程流暢無阻。值得一提的是,openGauss 6.0.0版本還解除了對root用戶的依賴,進一步提升了安裝的安全性。安裝完成後,我成功啟動了資料庫服務,併進行了基本的測試。

二、使用體驗

性能優化:openGauss 6.0.0版本在性能方面進行了優化,特別是在主備複製方面。通過實際測試,我發現新版本在數據同步和故障恢復方面表現優異,能夠滿足大多數業務場景的需求。

中文日誌支持:新版本還增加了中文日誌支持功能,這一功能對於國內用戶來說非常實用。通過查看中文日誌,用戶可以更直觀地瞭解資料庫的運行狀態和錯誤信息,從而更快速地定位問題併進行修複。

多版本支持:openGauss 6.0.0版本提供了企業版和輕量版兩個安裝版本供用戶選擇。企業版適用於大規模、高性能的業務場景,而輕量版則更加適合小規模、輕量級的應用。這種多版本的支持策略使得openGauss能夠滿足不同用戶的需求。

三、安裝準備

本章詳細介紹openGauss極簡安裝的環境準備和配置,極簡安裝包括單節點安裝和一主一備節點安裝,請在安裝之前仔細閱讀本章的內容。如果已完成本章節的配置,請忽略。

1、獲取安裝包

openGauss開源社區上提供了安裝包的獲取方式。

本次試驗環境如下:(根據實際軟硬體情況,選擇不同的安裝包)

架構 :x86x_64

操作系統:Centos 7.6

軟體包:openGauss_6.0.0-RC1 極簡版

2、下載到伺服器

[root@worker1 soft]# ls
openGauss-6.0.0-RC1-CentOS-64bit.tar.bz2
[root@worker1 soft]# 

c237461fa854fff129f1aabf72b0f8b0_20240517-f0bb6e79-6152-4252-bbd9-9f4c87ccc29b.png

3、系統環境配置

3.1 目前僅支持在防火牆關閉的狀態下進行安裝。

[root@worker1 soft]# sestatus
SELinux status:                 disabled
[root@worker1 soft]# 
[root@worker1 soft]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)
[root@worker1 soft]# 

2b5fd09b005eeb8ad1652e745070917a_20240517-b3f5234f-3789-4e82-b4b9-d27f6aba5956.png

3.2 設置字元集參數

將各資料庫節點的字元集設置為相同的字元集,可以在/etc/profile文件中添加“export LANG=XXX”(XXX為Unicode編碼)。

en_US.UTF-8

[root@worker1 soft]# echo 'export LANG=en_US.UTF-8' >>/etc/profile
[root@worker1 soft]# 

c5a23e186b43f7adb38e64704f49b6dc_20240517-2b0deed6-e793-476d-a933-bec12975e653.png

3.3 關閉RemoveIPC

在各資料庫節點上,關閉RemoveIPC。CentOS操作系統預設為關閉,可以跳過該步驟。、

RemoveIPC=no

4b27cc879aa858c0511e47cb7e01d3e3_20240517-cdc28759-16b7-45ed-9e06-72db57feab5c.png

3.4 關閉HISTORY記錄

HISTSIZE=0

e3f6aded75db4407ebd9ecfd5d3554fd_20240517-d1d0a8b0-1e36-4a52-9400-c128595cad91.png

4、創建用戶和組

4.1 創建用戶組dbgroup。

[root@worker1 ~]# 
[root@worker1 ~]# groupadd dbgroup
[root@worker1 ~]# 

5bb4149d70950473f138de4b2d4bb1fa_20240517-9af53ca6-c6b8-46ed-84e8-9206c509655e.png

4.2 創建用戶組dbgroup下的普通用戶omm,並設置普通用戶omm的密碼。

[root@worker1 ~]# useradd -g dbgroup omm
[root@worker1 ~]# passwd omm
Changing password for user omm.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@worker1 ~]# 

66a05f207caa8f492367f4cfb28a64af_20240517-b4acbc3b-5364-40fd-9c77-1b92715a71be.png

四、單節點安裝

前提條件

  • 已完成用戶組和普通用戶的創建。
  • 所有伺服器操作系統和網路均正常運行。
  • 普通用戶必須有資料庫包解壓路徑、安裝路徑的讀、寫和執行操作許可權,並且安裝路徑必須為空。
  • 普通用戶對下載的openGauss壓縮包有執行許可權。
  • 安裝前請檢查指定的openGauss埠是否被占用,如果被占用請更改埠或者停止當前使用埠進程。

1、用戶登錄

使用普通用戶登錄到openGauss包安裝的主機,解壓openGauss壓縮包到安裝目錄(假定安裝目錄為/opt/software/openGauss,請用實際值替換)。

[root@worker1 soft]# ls
openGauss-6.0.0-RC1-CentOS-64bit.tar.bz2
[root@worker1 soft]# tar -jxf openGauss-6.0.0-RC1-CentOS-64bit.tar.bz2 -C /opt/software/openGauss/
[root@worker1 soft]# 

3fb989cfbc09a714114083d170846e88_20240517-e73bbfab-39fe-4574-9491-4dadfe6d4a74.png

如果報錯沒有許可權

[omm@worker1 soft]$ tar -jxf openGauss-6.0.0-RC1-CentOS-64bit.tar.bz2 -C /opt/software/openGauss/
tar: ./bin: Cannot mkdir: Permission denied
tar: ./bin: Cannot mkdir: Permission denied

938b8492bc17f5dbe8126a27db7bdd15_20240517-e1a3f22f-6cd8-4698-9cf3-16995109e88b.png

切換為root用戶後添加許可權就可以了

[root@worker1 opt]# chown omm:dbgroup /opt/software/openGauss/
[root@worker1 opt]# chmod 755 /opt/software/openGauss/

889dd17f0e304d83eac36a0a2c04c637_20240517-7f0d8543-9adf-4319-bffb-47c7e9ff2177.png

2、解壓

假定解壓包的路徑為/opt/software/openGauss,進入解壓後目錄下的simpleInstall。

[root@worker1 soft]# cd /opt/software/openGauss/simpleInstall
[root@worker1 simpleInstall]# ls
finance.sql  install.sh  README.md  school.sql
[root@worker1 simpleInstall]# 

9f09b6d606be98c7c53f4c145d9654f8_20240517-20560cd7-d6ef-457e-9328-f40e6ef31ac2.png

3、腳本安裝

執行install.sh腳本安裝openGauss。

[root@worker1 simpleInstall]# sh install.sh  -w "openGauss666" &&source ~/.bashrc
[step 1]: check parameter
Error: can not install openGauss with root
[root@worker1 simpleInstall]# 

安裝報錯

[omm@worker1 simpleInstall]$ sh install.sh  -w "openGauss666" &&source ~/.bashrc
[step 1]: check parameter
[step 2]: check install env and os setting
On systemwide basis, the maximum number of SEMMNI is not correct. the current SEMMNI value is: 128. Please check it.
The required value should be greater than 321. You can modify it in file '/etc/sysctl.conf'.
[omm@worker1 simpleInstall]$ 

解決辦法:

用root登錄修改所需的值應大於321,然後執行sysctl -p

[root@worker1 ~]# 
[root@worker1 ~]# sysctl -w kernel.sem="250 85000 250 330" 
kernel.sem = 250 85000 250 330
[root@worker1 ~]# 

5cd1fb304817d30f971b9d56fe328caf_20240517-17459f2b-52c2-4077-b828-f4297929c96b.png

再次執行install.sh腳本安裝openGauss。

[omm@worker1 simpleInstall]$ sh install.sh  -w "openGauss666" &&source ~/.bashrc

[2024-05-17 16:39:10.010][7802][][gs_ctl]:  done
[2024-05-17 16:39:10.010][7802][][gs_ctl]: server started (/opt/software/openGauss/data/single_node)
import sql file
Would you like to create a demo database (yes/no)? 

4、完成安裝

ecc664481cdcf76f3779fe39ef943963_20240517-0e420f23-e3c8-45c2-9fb6-fde00a8b1c77.png

5、檢查安裝進程

安裝執行完成後,使用ps和gs_ctl查看進程是否正常。

[omm@worker1 simpleInstall]$ 
[omm@worker1 simpleInstall]$ ps ux | grep gaussdb
omm        7805  2.2  2.8 6267816 922936 ?      Ssl  16:39   0:04 /opt/software/openGauss/bin/gaussdb -D /opt/software/openGauss/data/single_node
omm        8180  0.0  0.0 110480   908 pts/0    S+   16:42   0:00 grep --color=auto gaussdb
[omm@worker1 simpleInstall]$ 

d508f1f93b50a9acafda2f0979c1d9af_20240517-a6867ed2-9b03-405e-9a07-b34b4211ea98.png

ps ux | grep gaussdb
gs_ctl query -D /opt/software/openGauss/data/single_node

5.1 執行ps命令,顯示類似如下信息:

omm 20377 0.0 0.0 119880 1216 pts/0 S+ 15:37 0:00 grep --color=auto gaussdb

5.2 執行gs_ctl命令,顯示類似如下信息:

 HA state:           
    local_role                     : Normal
    static_connections             : 0
    db_state                       : Normal
    detail_information             : Normal

 Senders info:       
No information 
 Receiver info:      
No information 
[omm@worker1 simpleInstall]$ 

729dbc835c12929b1eb840c3d9a8045d_20240517-2130bc10-3a3f-41bd-9cd0-1238b6264d4c.png

五、資料庫的增刪改查

1、連接本地連接資料庫

gsql ((openGauss 6.0.0-RC1 build ed7f8e37) compiled at 2024-03-31 11:59:31 commit 0 last mr  )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.

openGauss=# 

4d13cb4cb28d3439573bdacae962bf33_20240517-29875966-b6a5-4a72-8e2c-d5a733e14b2d.png

登錄埠可以查看 postgresql.conf文件

[omm@worker1 single_node]$ cat postgresql.conf |grep port
port = 5432                # (change requires restart)
#ssl_renegotiation_limit = 0        # amount of data between renegotiations, no longer supported
                    # supported by the operating system:

33650eb673e39e22b0f692f0c5bd405e_20240517-28909fa4-8d0d-4c23-baa6-3060b72bb338.png

2、創建資料庫

資料庫安裝完成後,預設生成名稱為postgres的資料庫。您需要自己創建一個新的資料庫。

openGauss=# CREATE DATABASE database_openGauss;
CREATE DATABASE
openGauss=# 

40bfaf9f583acfd4b95c167fef7ed534_20240517-04e3a41d-f72b-4032-9af8-3b04ba38aa2f.png

3、查看資料庫

3.1 使用“\l”用於查看已經存在的資料庫。

\l

openGauss=# \l
                                   List of databases
        Name        | Owner | Encoding |   Collate   |    Ctype    | Access privileges 
--------------------+-------+----------+-------------+-------------+-------------------
 database_opengauss | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 finance            | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 postgres           | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 school             | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0          | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/omm           +
                    |       |          |             |             | omm=CTc/omm
 template1          | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/omm           +
                    |       |          |             |             | omm=CTc/omm
(6 rows)

openGauss=# 

9856027e1967a6094475a2b1ad33fd58_20240517-841718f9-e622-4183-a9ac-3d210aba2eea.png

3.2 使用 “\c + 資料庫名” 進入已存在資料庫。

openGauss=# 
openGauss=# \c database_opengauss
Non-SSL connection (SSL connection is recommended when requiring high-security)
You are now connected to database "database_opengauss" as user "omm".
database_opengauss=# 

6ef2a712f8ea1b3f3345b0b5b015de83_20240517-02321ce4-5ac0-4b48-b8a8-d4b2711696b6.png

4、修改資料庫

ALTER DATABASE database_opengauss RENAME TO new_name666;

openGauss=# ALTER DATABASE database_opengauss RENAME TO new_name666;
ALTER DATABASE
openGauss=# \l
                               List of databases
    Name     | Owner | Encoding |   Collate   |    Ctype    | Access privileges 
-------------+-------+----------+-------------+-------------+-------------------
 finance     | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 new_name666 | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 postgres    | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 school      | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0   | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/omm           +
             |       |          |             |             | omm=CTc/omm
 template1   | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/omm           +
             |       |          |             |             | omm=CTc/omm
(6 rows)

openGauss=# 

7b69ca6df9cc5af5222cb017fa0959d2_20240517-e6561c73-7395-4683-99a8-e2fc19720fb9.png

5、刪除資料庫

openGauss=# DROP DATABASE new_name666 ;
DROP DATABASE
openGauss=# \l      
                              List of databases
   Name    | Owner | Encoding |   Collate   |    Ctype    | Access privileges 
-----------+-------+----------+-------------+-------------+-------------------
 finance   | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 postgres  | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 school    | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0 | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/omm           +
           |       |          |             |             | omm=CTc/omm
 template1 | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/omm           +
           |       |          |             |             | omm=CTc/omm
(5 rows)

openGauss=# 

總結

openGauss 6.0.0版本在安裝和使用方面都帶來了很大的改進和優化。一站式交互安裝功能極大地簡化了安裝流程,降低了用戶的學習成本;性能優化和中文日誌支持功能則進一步提升了資料庫的穩定性和易用性。通過實際測試,我認為openGauss 6.0.0版本是一款非常優秀的國產資料庫產品,值得廣大用戶嘗試和使用。

cke_44166.png

HDC 2024,6月21日-23日,東莞松山湖,期待與您相見!

更多詳情請關註官網:

中文:https://developer.huawei.com/home/hdc

英文:https://developer.huawei.com/home/en/hdc

點擊關註,第一時間瞭解華為雲新鮮技術~

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 目錄題目分析代碼結果 題目 利用聚合API平臺的API介面,利用HTTP協議向伺服器發送請求,並接受伺服器的響應,要求利用cJSON庫對伺服器的響應數據進行解析,並輸出到終端 分析 1.需從代碼托管網站GitHub或SourceForge代碼網站下載cJSON庫及閱讀下載的README相關手冊如何使 ...
  • 目錄題目註意事項實現代碼結果展示相關介面指引 題目 利用某些平臺(聚合API、百度AI、科大訊飛API)的API介面,利用HTTP協議向伺服器發送請求,並接受伺服器的響應,要求利用cJSON庫對伺服器的響應數據進行解析,並輸出到終端。 註意事項 1.預測的日期開始時間為2010-01-01 2."老 ...
  • 在Linux系統中使用Certbot為Nginx安裝SSL證書併進行配置,通常遵循以下步驟: 1. 安裝Certbot 首先確保你的系統已經安裝了EPEL倉庫,如果沒有安裝,可以通過以下命令安裝:sudo yum install epel-release 接著安裝Certbot:sudo yum i ...
  • 想使用Windows的計劃任務來實現:當電腦空閑時,自動關機,以避免資源浪費。 方案一 測試了多個軟體,如Shutter,WinOFF Setup,它們功能豐富,但僅能在用戶登錄時運行。而Windows 11會在一段時間後自動註銷用戶,儘管嘗試多種設置方法,問題仍未解決。 方案二 編寫了AI程式來 ...
  • liwen01 2024.06.09 前言 Linux系統中的ext2、ext3、ext4 文件系統,它們都有很強的向後和向前相容性,可以在數據不丟失的情況下進行文件系統的升級。目前ext4是一個相對較成熟、穩定且高效的文件系統,適用於絕大部分規模和需求的Linux環境。 ext4它突出的特點有:數 ...
  • V1.0 2024年6月11日 發佈於博客園 目錄 目錄目錄線程池原理線程池是什麼線程池解決的問題動態創建子線程的缺點線程池相關介面線程池相關結構體struct task 任務節點線程池介面init_pool() 線程池初始化線程池初始化流程圖add_task() 向線程池添加任務add_threa ...
  • GaussDB作為企業級的資料庫,經過了多年的技術發展,具備豐富的技術特性,使用LLVM技術後提升了系統的查詢性能,使得開發者在OLAP和OLTP多場景中均受益。 ...
  • 通過本文的介紹,我們瞭解了騰訊雲 BI 這款商業智能解決方案的基本功能和應用場景。從創建項目、連接數據源、數據表建模到頁面搭建和推送功能的設置,我們通過一個互聯網運營看板的案例,展示瞭如何快速入門並利用騰訊雲 BI 進行數據分析和可視化。通過簡單的數據編輯,我們可以輕鬆地設計報表,並實現數據的可視化... ...
一周排行
    -Advertisement-
    Play Games
  • 問題 有很多應用程式在驗證JSON數據的時候用到了JSON Schema。 在微服務架構下,有時候各個微服務由於各種歷史原因,它們所生成的數據對JSON Object屬性名的大小寫規則可能並不統一,它們需要消費的JSON數據的屬性名可能需要大小寫無關。 遺憾的是,目前的JSON Schema沒有這方 ...
  • 首先下載centos07鏡像,建議使用阿裡雲推薦的地址: https://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/?spm=a2c6h.25603864.0.0.59b5f5ad5Nfr0X 其實這裡就已經出現第一個坑了 centos 07 /u ...
  • 相信很多.NETer看了標題,都會忍不住好奇,點進來看看,並且順便準備要噴作者! 這裡,首先要申明一下,作者本人也非常喜歡Linq,也在各個項目中常用Linq。 我愛Linq,Linq優雅萬歲!!!(PS:順便吐槽一下,隔壁Java從8.0版本推出的Streams API,抄了個四不像,一點都不優雅 ...
  • 在人生的重要時刻,我站在了畢業的門檻上,望著前方的道路,心中涌動著對未來的無限憧憬與些許忐忑。面前,兩條道路蜿蜒伸展:一是繼續在職場中尋求穩定,一是勇敢地走出一條屬於自己的創新之路。儘管面臨年齡和現實的挑戰,我仍舊選擇勇往直前,用技術這把鑰匙,開啟新的人生篇章。 迴首過去,我深知時間寶貴,精力有限。 ...
  • 單元測試 前言 時隔多個月,終於抽空學習了點新知識,那麼這次來記錄一下C#怎麼進行單元測試,單元測試是做什麼的。 我相信大部分剛畢業的都很疑惑單元測試是乾什麼的?在小廠實習了6個月後,我發現每天除了寫CRUD就是寫CRUD,幾乎用不到單元測試。寫完一個功能直接上手去測,當然這隻是我個人感受,僅供參考 ...
  • 一:背景 1. 講故事 最近在分析dump時,發現有程式的卡死和WeakReference有關,在以前只知道怎麼用,但不清楚底層邏輯走向是什麼樣的,藉著這個dump的契機來簡單研究下。 二:弱引用的玩法 1. 一些基礎概念 用過WeakReference的朋友都知道這裡面又可以分為弱短和弱長兩個概念 ...
  • 最近想把ET打表工具的報錯提示直接調用win系統彈窗,好讓策劃明顯的知道表格哪裡填錯數據,彈窗需要調用System.Windows.Forms庫。操作如下: 需要在 .csproj 文件中添加: <UseWindowsForms>true</UseWindowsForms> 須將目標平臺設置為 Wi ...
  • 從C#3開始,拓展方法這一特性就得到了廣泛的應用。 此功能允許你能夠使用實例方法的語法調用某個靜態方法,以下是一個獲取/創建文件的靜態方法: public static async Task<StorageFile> GetOrCreateFileAsync(this StorageFolder f ...
  • 在Windows 11下,使用WinUI2.6以上版本的ListView長這樣: 然而到了Win10上,儘管其他控制項的樣式沒有改變,但ListViewItem變成了預設樣式(初代Fluent) 最重大的問題是,Win10上的HorizontalAlignment未被設置成Stretch,可能造成嚴重 ...
  • 前言 周六在公司加班,幹完活後越顯無聊,想著下載RabbiitMQ做個小項目玩玩。然而這一下就下載了2個小時,真讓人頭痛。 簡單的講一下如何安裝吧,網上教程和踩坑文章還是很多的,我講我感覺有用的文章放在本文末尾。 安裝地址 erlang 下載 - Erlang/OTP https://www.erl ...