2007-04-09

PostgreSQL 複寫叢集系統 Slony-I(二) (簡體)

更新:2007-04-09
對映章節:
http://www.pgadmin.org/docs/dev/slony/index.html

內容:
阿益曾经写过Slony-I的简单介绍,我跟在后边再展开一点,仍然是简介。
关键性技术文章请在Slony-I的官方网站查阅,我不是专业翻译,只能表达自己知道的一点内容。

Slony-I是个非同步复制系统,使用上存在很多制约条件,而且无法做到数据库的完全复制。Slony-II正在开发中,是完全独立于一代进行开发的,也就是说是个完全不同的复制系统,功能上有很大的进步和完善,大家可以去关注一下。

Slony-I用于所有节点在任何时间都有效并且保证安全性的状况,如果某些节点会规律性的脱离网络或者不能保证安全性,那么它并不是一个合适的解决方案。列举一些不能正常工作的例子:
*网络连接不正常
*试图复制到连接不可预知的节点
*把中心服务器的价格数据库复制到销售人员用来更新数据而定期连接的服务器
*服务器因为偶然因素更改配置
*客户可以自己修改数据库结构的某些节点

Slony-I不能做的事:
*Slony-I不是网络管理系统
*没有检测节点崩溃的功能,也不能把一个节点提升为主节点或者其它数据源
*不是一个多主节点复制系统(Slony-II支持多主节点

Slony-I的制约条件:
*不能复制数据结构的变化,并且不能复制大对象(large object)
Slony-I目前具有复制结构变化的能力,但是它不是自动完成的,请查阅EXECUTE SCRIPT
*如果必须有这方面的需求,可以使用PostgreSQL 8.X PITR (Point In Time Recovery),当然它也有一些缺点(自行查阅吧)。

通讯代价:
Slony-I的通讯量是节点数量的二次方增长的,n个节点需要有n(n-1)条网络路径。


延伸閱讀(Link):
http://www.pgadmin.org/docs/dev/slony.html
http://www.pgadmin.org/docs/dev/slony/index.html

4 則留言:

匿名 提到...

既然是一对多架构(1:N),为何需要n(n-1)这样的复杂度?是否架构上有瑕疵?

yamtopia 提到...

拜讀過在這 "標籤 - PG高可靠性(HA):叢集:虛擬化" 的文章後,覺得多半不像是實際的使用經驗,比較像是猜測。希望有多一點實際的使用經驗的 "報告" 在此出現。

KuoChaoYi 提到...

感謝 yamtopia 的見意, 我們以推廣為主, 實務面有其它更專業的PostgreSQL論壇, 即您認為多數猜測, 可見您必是這方面的使用經驗, 您願意貢獻您的使用經驗分享給我們和閱讀者們嗎? 歡迎您加入.

yamtopia 提到...

小弟於工作上使用 Slony 已一段時間,從 v1.1.2 版開始接觸,直到 v1.2.1 才正式用於工作上,並以此版本開始架構幾組較為單純的雙主機 HA。但長久以來一直未曾配合應用程式及不同的網路設定來嚴格的測試 Slony Failover 的機制,直到前一陣子遇到一個因網路問題而引發 failover 時所遇到的問題。經過追查,才開始質疑 failover 的反應時間,但在網路上找不到任何有關 failover 反應時間的相關文章。

網誌存檔

PostgreSQL & Google-Analytics Running...

::Planet PostgreSQL::

PostgreSQL Information Page

PostgreSQL日記(日本 石井達夫先生Blog)

PostgreSQL News

黑喵的家 - 資料庫相關

Google 網上論壇
PostgreSQL 8 DBA 專業指南中文版
書籍內容討論與更多下載區(造訪此群組)
目錄下載: PostgreSQL_8 _DBA_Index_zh_TW.pdf (更新:2007-05-18)

全球訪客分佈圖(Google)

全球訪客分佈圖(Google)