Slony report
Download
Report
Transcript Slony report
Slony-I 的基本介紹與應用
Agenda
Slony-I 的優點
Slony-I 的限制
Slony-I 的 Failover 與 Switchover 差異
Slony-I 的應用建議
BI 與 Reports
資料庫升級
異地備援
快速重建 Node 的方式
總結
Q&A
Slony是什麼?
Slony 是一個database replication 工具. (v. 1.2.17, 2.0.2)
設計用在PostgreSQL Database 系統上. (7.3.2以上)
EDB Community Project
單一 master, 多個slave架構 (建議12個以內)
Slave Read Only
以Trigger 方式replicate database (insert, update, delete, copy,
alter …)
Table set為單位. 可有彈性的對重要的Table做備份
http://slony.info/
Slony replication的用途
備分資料庫以防災難發生
分散資料存取流量和降低系統負荷
High Availability (HA).
降低downtime時間
在不同的災難能夠迅速從意外發生後恢復正常而且把錯
誤降至最低.
降低系統的使用瓶頸
Slony 不適合
Schema 常會有架構上的變化(create, alter, drop 對
tables, schema)
Tables 架構常會增加,移除或變動
Node 常上,下線
連線不良
Slony-I 的優點
成熟、穩定的 replication 系統,支援單
一 master 對多個 slaves 進行
replication
為 EnterpriseDB 的 Community Project
,可使用於不同版本的 PostgreSQL 伺
服器
因 Slony-I slaves 僅能讀資料,可提供
read-only applications 使用 replicated
的 tables ,分散負荷
可設定不同的 Replication Set,如 Set
1 提供 Reporting 所需的 tables,Set 2
提供 BI 所需的 tables
Slony-I Node Failover/Switchover
支援 cascaded replication,slave nodes 可以不需全都
從 master 取資料,也進而降低 multi-site replication 的
頻寬使用量
可視需要隨時新增 slaves,不必重新設定 Slony-I
cluster 及資料庫
在nodes不中斷的情況下,可 promote slave
成 master (即 failover 與 switchover)
Slony-I 的限制
不會自動更新 Database Schema
Update (DDL)
不支援 View 與 Indexes 的 replication
不支援 Multi-Master
Slony-I 無 Proxy 或 Pool 功能,需對
Application 設定欲連結至哪個 Node
Slony-I 雖有內建 Failover 機制,但需
搭配 Heartbeat 裝置或軟體以達到自動
Failover
Communication Cost 會因 Node 的增
加而提高,官方建議每個 Slony-I
Cluster 包含 6 個 Nodes 為最佳
Application 連結 Slony-I Cluster 的方式
Slony 安裝
裝PostgreSQL 或Enterprise DB
可以下載套件一次全裝, 或是分開下載獨立安裝.
Windows, Linux x86-32,64, Mac, Solaris SPARC,
Solaris x86-64
YUM-CentOS, Fedora, RHEL
APT-Debian, Ubuntu
裝Slony
Ver1.2 版本有source file, rpm 和給Windows
Ver2.0版只有source file
Slony Configuration
先確認要replicate的table(s)資料都相同
Cluster setup script
Subscribe script
Start slon engine (先master在slave)
slon sql_cluster "dbname=contactdb user=postgres" &
Slon 開啟畫面
Slony-I 的應用建議 – Reporting 與 BI
可於 Slony-I Cluster 為不同部門或活動建
立不同的 Replication Set
可搭配pgpool的Load Balance (loading weight
distribute), parallel query (query rewrite)
分散Read-Only Application、Reporting 或 BI 活動對
Master 的負載
依需求可應用 Cascaded Replication 降低對 Master 的負
載