讀寫分離集群其實是主備集群的公升級版本,在雙機熱備的基礎上把使用者寫和度的會話事務分別放在主庫和備庫上執行。寫事務會被分發到主庫上執行,讀事務則分發到備庫上執行。由介面負責讀寫事務的分發。讀寫分離集群是基於即時歸檔實現的高效能資料庫集群,不但提供資料保護、容災等資料守護基本功能,還具有讀寫操作自動分離、負載均衡等特性。讀寫分離集群最多可以配置8 個即時備庫,提供資料同步、備庫故障自動處理、故障恢復自動資料同步等功能,也支援自動故障切換和手動故障切換兩種守護模式。
在乙個高併發的事務型系統中,當寫事務佔的比例相對讀事務相對較小時,可以借助dm8 的主備系統備機可讀的特點,將讀事務轉移到備機執行,減少單節點的併發壓力,通過增加備機節點資源,提高系統的併發能力,增強系統效能。理論上說,在允許的範圍內,備機配置的越多,更能分擔主機的壓力,系統整體併發效率越高。讀寫分離系統適用於讀寫比例較大的應用系統,讀寫比例越大對系統效能提公升越明顯。對於一般簡單應用業務來講,若需要使用讀寫分離系統提公升系統效能,讀寫比例最少要大於1:1。
根據讀寫分離的事務特性,在業務允許條件下最好將具有讀又有寫的事務拆分成純度和純寫的事務。讀操作盡量放在寫操作之前,利用備機的可讀特點來分攤系統壓力。 寫操作後盡量不要有讀操作,避免壓力集中在主機,影響效能。因為純讀操作的事務全部在備機執行。純寫操作的事務全部在主機執行。有讀有寫的事務放在主機上執行。
系統結構圖
讀寫分離集群的具體配置,請參照操作幫助手冊《dm8資料守護與讀寫分離集群v3.0》,第7.3章專門講述配置讀寫分離集群的內容。
操作幫助的位置為資料庫安裝目錄下的doc資料夾下面。
配置讀寫分離集群的步驟如下。
1、 安裝程式
groupadd dinstall
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
passwd dmdba
密碼:11111111
chown dmdba:dinstall -r /opt/dmdbms
mount -o loop dm8_setup.iso /mnt
./dminstall.sh -i
2、 初始化庫
在兩台上初始化庫
./dminit path=/opt/dmdbms/data page_size=16
在主機上啟動一次。並備份到備機
./dmserver ../data/dameng/dm.ini
exit
./dmap
./dmrman ctlstmt="backup database '/opt/dmdbms/data/dameng/dm.ini' to backup_file_01 backupset '/opt/dmdbms/backup_file_01'"
3、拷貝到備機進行還原
scp -r /opt/dmdbms/backup_file_01/ 192.168.25.12:/opt/dmdbms
在備機上根據還原三部曲進行進行還原操作。
./dmrman ctlstmt="restore database '/opt/dmdbms/data/dameng/dm.ini' from backupset '/opt/dmdbms/backup_file_01'"
./dmrman ctlstmt="recover database '/opt/dmdbms/data/dameng/dm.ini' from backupset '/opt/dmdbms/backup_file_01'"
./dmrman ctlstmt="recover database '/opt/dmdbms/data/dameng/dm.ini' update db_magic"
4、配置主機,具體內容詳細資訊請參照操作幫助手冊
vim dm.ini
vim dmmal.ini
vim dmarch.ini
vim dmwatcher.ini
修改主節點模式狀態,注意必須以mount方式啟動
./dmserver /dm8/data/dameng/dm.ini mount
登入disql工具
./disql sysdba/[email protected]:5236
設定oguid
sql>sp_set_oguid(453332);
修改資料庫模式
sql>alter database primary;
配置完退出disql
ctrl+c 結束mount啟動
5、配置備機,具體內容詳細資訊請參照操作幫助手冊
vim dm.ini
vim dmmal.ini
vim dmarch.ini
vim dmwatcher.ini
修改備節點模式狀態,注意必須以mount方式啟動
./dmserver /dm8/data/dameng/dm.ini mount
登入disql
./disql sysdba/[email protected]:5236
設定oguid
sql>sp_set_oguid(453332);
修改資料庫模式
sql> sp_set_para_value(1, 'alter_mode_status', 1);
sql> alter database standby;
sql>sp_set_para_value(1, 'alter_mode_status', 0);
6、啟動集群
以mount方式啟動資料庫例項
./dmserver /opt/dmdbms/data/dameng/dm.ini mount
啟動資料守護
./dmwatcher /opt/dmdbms/data/dameng/dmwatcher.ini
啟動監視器
./dmmonitor /opt/dmdbms/data/dmmonitor.ini
7、檢視資料庫狀態
因資料庫無法自動拉起,所以檢查資料庫狀態及lsn
select status$ from v$instance;
select cur_lsn from v$rlog;
8、dm_svn.conf的配置
windows平台下位於%systemroot%\system32目錄
linux平台下位於/etc目錄
編輯dm_svc.conf檔案
內容如下:
time_zone=(+8:00)
language=(en)
dm_dw=(192.168.25.11:5236,192.168.25.12:5236)
login_mode=(1)
[dm_dw]
login_mode=(1)
switch_time=2000
switch_interval=10
dm_dw為訪問服務名,可以自己配置,後面的ip位址根據主備節點的實際位址進行配置即可。
9、連線字串的配置
應用連線串如何使用,以jdbc為例:
資料守護:
jdbc:dm://dm_dw
讀寫分離:
jdbc:dm://dm_rwc?rwseparate=1&rwpercent=25
配置注意集群的oguid值和組名必須相同。
達夢讀寫分離集群搭建 yxy
5 配置備庫 6 配置監視器 7 啟動守護程序 8 啟動監視器 例項名port num 例項的對外服務 ip 位址 mal host mal port rws a 主庫 5236 192.168.139.100 192.168.139.100 61141 rws b 備庫 5236 192.168....
應用連線達夢讀寫分離集群方式
相信會部署達夢主備集群,就會部署達夢的讀寫分離集群,下面具體去講下正確連線達夢讀寫分離集群的方法 jdbc 介面 dpi 介面 odbc 介面 dci 介面 provider 介面 1 jdbc 介面 在 jdbc 連線串中增加了兩個連線屬性 rwseparate 是否使用讀寫分離系統,預設 0 取...
達夢資料庫讀寫分離
讀寫分離與主備架構基本基本一致,僅歸檔和客戶端訪問不同 參考 1 開啟歸檔日誌,配置遠端歸檔 2 修改主庫引數 3 主備庫修改配置檔案 4 主備庫dawacher 5 配置dmmonitor監視器 6 註冊服務 7 設定開機啟動 8 提供對外服務 歸檔設定 主庫 vi home dmdba dmdb...