PostgreSQL High Availability Cookbook - Second Edition

Shaun M. Thomas

買這商品的人也買了...

商品描述

Key Features

  • Create a PostgreSQL cluster that stays online even when disaster strikes
  • Avoid costly downtime and data loss that can ruin your business
  • Updated to include the newest features introduced in PostgreSQL 9.6 with hands-on industry-driven recipes

Book Description

Databases are nothing without the data they store. In the event of a failure - catastrophic or otherwise - immediate recovery is essential. By carefully combining multiple servers, it s even possible to hide the fact a failure occurred at all.

From hardware selection to software stacks and horizontal scalability, this book will help you build a versatile PostgreSQL cluster that will survive crashes, resist data corruption, and grow smoothly with customer demand. It all begins with hardware selection for the skeleton of an efficient PostgreSQL database cluster. Then it s on to preventing downtime as well as troubleshooting some real life problems that administrators commonly face. Next, we add database monitoring to the stack, using collectd, Nagios, and Graphite. And no stack is complete without replication using multiple internal and external tools, including the newly released pglogical extension. Pacemaker or Raft consensus tools are the final piece to grant the cluster the ability to heal itself. We even round off by tackling the complex problem of data scalability.

This book exploits many new features introduced in PostgreSQL 9.6 to make the database more efficient and adaptive, and most importantly, keep it running.

What you will learn

  • Protect your data with PostgreSQL replication and management tools such as Slony, Bucardo, pglogical, and WAL-E
  • Hardware planning to help your database run efficiently
  • Prepare for catastrophes and prevent them before they happen
  • Reduce database resource contention with connection pooling using pgpool and PgBouncer
  • Automate monitoring and alerts to visualize cluster activity using Nagios and collected
  • Construct a robust software stack that can detect and fix outages
  • Learn simple PostgreSQL High Availability with Patroni, or dive into the full power of Pacemaker.

About the Author

Shaun M. Thomas has been working with PostgreSQL since late 2000. He is a frequent contributor to the PostgreSQL Performance and General mailing lists, assisting other DBAs with the knowledge he's gained over the years. In 2011 and 2012, he gave presentations at the Postgres Open conference on topics such as handling extreme throughput, high availability, server redundancy, and failover techniques. Most recently, he has contributed the Shard Manager extension and the walctl WAL management suite. Currently, he serves as the database architect at PEAK6 Investments, where he develops standard operating procedure (SOP) guidelines to facilitate reliable server architecture among many other tasks. Many of the techniques used in this book were developed specifically for this extreme environment. He believes that PostgreSQL has a stupendous future ahead, and he can't wait to see the advancements subsequent versions will bring.

Table of Contents

  1. Hardware Planning
  2. Handling and Avoiding Downtime
  3. Pooling Resources
  4. Troubleshooting
  5. Monitoring
  6. Replication
  7. Replication Management Tools
  8. Simple Stack
  9. Advanced Stack
  10. Cluster Control
  11. Data Distribution

商品描述(中文翻譯)

主要特點


  • 建立一個PostgreSQL集群,即使遇到災難也能保持線上運行

  • 避免昂貴的停機時間和可能破壞業務的數據損失

  • 更新以包含PostgreSQL 9.6中引入的最新功能,並提供實用的行業驅動食譜

書籍描述

沒有數據,數據庫就毫無意義。在發生故障(無論是災難性還是其他)時,立即恢復至關重要。通過精心結合多個服務器,甚至可以隱藏故障的事實。

從硬件選擇到軟件堆棧和水平擴展,本書將幫助您構建一個多功能的PostgreSQL集群,以應對崩潰、抵抗數據損壞並根據客戶需求平穩增長。一切都始於為高效的PostgreSQL數據庫集群選擇硬件。然後,我們解決停機問題,以及管理員常常面臨的一些實際問題。接下來,我們將數據庫監控添加到堆棧中,使用collectd、Nagios和Graphite。而且,沒有完整的堆棧,就不能使用多個內部和外部工具進行複製,包括新發布的pglogical擴展。Pacemaker或Raft共識工具是賦予集群自我修復能力的最後一塊拼圖。我們甚至解決了數據可擴展性的複雜問題。

本書利用了PostgreSQL 9.6中引入的許多新功能,使數據庫更高效、適應性更強,最重要的是保持運行。

你將學到什麼


  • 使用PostgreSQL複製和管理工具(如Slony、Bucardo、pglogical和WAL-E)保護數據

  • 進行硬件規劃,以幫助數據庫高效運行

  • 在災難發生之前準備並防止災難

  • 使用pgpool和PgBouncer進行連接池,減少數據庫資源爭用

  • 使用Nagios和collectd自動監控和警報,可視化集群活動

  • 構建一個強大的軟件堆棧,可以檢測和修復故障

  • 學習使用Patroni進行簡單的PostgreSQL高可用性,或深入研究Pacemaker的全部功能

關於作者

Shaun M. Thomas自2000年末以來一直在使用PostgreSQL。他經常在PostgreSQL性能和一般郵件列表上提供幫助,以他多年來獲得的知識協助其他數據庫管理員。在2011年和2012年,他在Postgres Open會議上就處理極高吞吐量、高可用性、服務器冗余和故障轉移技術等主題發表演講。最近,他貢獻了Shard Manager擴展和walctl WAL管理套件。目前,他擔任PEAK6 Investments的數據庫架構師,他在該公司開發標準作業程序(SOP)指南,以促進可靠的服務器架構等眾多任務。本書中使用的許多技術都是專門為這個極端環境開發的。他相信PostgreSQL有一個非常美好的未來,並且迫不及待地期待後續版本的進步。

目錄


  1. 硬件規劃

  2. 處理和避免停機時間

  3. 資源池化

  4. 故障排除

  5. 監控

  6. 複製

  7. 複製管理工具

  8. 簡單堆棧

  9. 高級堆棧

  10. 集群控制

  11. 數據分佈