1. 程式人生 > >PostgreSQL的叢集技術比較

PostgreSQL的叢集技術比較

PostgreSQL 資料庫的可用叢集技術如下:

1、Bucardo 

   複製技術,主從複製,非同步,基於 觸發器。 

     詳情: https://wiki.postgresql.org/wiki/Bucardo 

2、GridSQL

   一個開源的,我共享的叢集資料庫系統,可用於PostgreSQL資料倉庫,具有智慧的,平行的做到多個數據庫之間的訪問,最新的名稱為:  Stado .

3、HadoopBD

   是 apache 下的專案,和 MapReduce 一起, 應用叢集。

4、pgpool-II

 一個位於 PostgSQL  伺服器和 client 之間的中間價,他提供了以下特性:

    連線池

  (無需多說)。

    複製 : pgpool-II 可以管理多個 PostgreSQL伺服器,利用複製功能可以實時的備份多個福利磁碟,保障了在磁碟失效情況下的連續服務。(最多128 資料節點))

    負載均衡:複製生效時,執行 select 命令時,無論那個服務其將返回相同的結果。pgpool-II 利用複製的優勢來減少伺服器的負載--在多個伺服器之間選分發select指令,從而增加了系統吞吐量。 當大量的使用者執行select 指令時候這一優勢將得到充分的體現。

超過載連結:PostgreSQL 有一個最大的同時連結數,超過時就拒絕連結。設定大的連結數,增加了資源的消耗,影響系統的效能,. pgpool-II 有最大連線數限制,對超過的連線請求做佇列處理,或者立即返回錯誤。 

平行的Query: 使用平行 Query 功能,資料可分配到多個伺服器,所以 查詢會同時在多個伺服器執行,減少了總執行時間。平行查詢在大規模資料查詢時候體現出最好的表現。

PL/Proxy: 是一個數據庫分割槽系統,用 PL 語言實現。 其思路是 一個遠端功能呼叫時,會產生同一的簽名,所以 在代理呼叫時只需要指定目標資訊。

Postgres-XC : 基於無共享結構的,多主,寫擴充套件的 PostgreSQL叢集, 由 Postgres-XC 團隊開發。

          其特性如下: 

  1. 寫擴充套件的 PostgreSQL 叢集,和純PostgreSQL相比,用五個伺服器可獲得超過三倍的效能增強(1.0版本),提高擴充套件性的方法是眾所周知的。
  2. 同步的多主配置,對主的任何更新對其他主都是可見的。
  3. 表位置是透明的,可以繼續使用同一的應用,事物處理無需改變。
  4. 基於PostgreSQL。
  5. 使用和PostgreSQL相同的API。 V 1.2.1 已經可用了。

 PostgresForest 是針對商業智慧應用設計的,這些應用是讀敏感的。

  • 以 PostgreSQL JDBC 驅動為基礎,修改了 JDBC 程式程式碼增加了叢集特性。
  • 高可用性: PostgresForest用其複製能力實現了一個高可用性的資料庫系統。
  • 平行的 Query 處理: PostgresForest在無共享的分佈資料庫系統中能理解和執行平行的查詢。
  • 線上恢復: PostgresForest能恢復失效的節點而無需重啟動服務。
SkyTools 是Skype中的一個軟體包,用於資料庫的災難恢復和複製,包括一個佇列機制。PgQ 和實用庫使用者  Python 指令碼程式。其核心是基於消費佇列的處理。