2023/02/28,Pigsty v2.0.0 正式發布,帶來了一系列重大的功能更新。
現在PIGSTY 是”PostgreSQL In Great STYle”的首字母縮寫,即”全盛狀態的PostgreSQL”。而Pigsty 的定位也不再是“開箱即用的PostgreSQL數據庫發行版”,變成了“Me Better 開源RDS PG 替代”。
Pigsty 是一個更好的、本地優先的,開源 RDS for PostgreSQL 替代。
- 開箱即用的PostgreSQL 發行版,深度整合地理時序分佈式三大核心擴展: PostGlS,TimescaleDB,Citus.
- 基於現代的Prometheus 與Grafana 技術棧,提供令人驚艷,無可比擬的數據庫觀測能力: Public Demo
- 基於patroni,haproxy,與etcd,打造故障自癒的高可用架構: 硬件故障自動切換,流量無縫銜接。 ·
- 基於pgBackRest 與可選的Minl0 集群提供開箱即用的PITR 時間點恢復,為軟件缺陷與人為刪庫兜底
- 基於Ansible 提供聲明式的API對複雜度進行抽象,以Database-as-Code 的方式極大簡化了日常運維管理操作。
- Pigsty用途廣泛,可用作完整應用運行時,開發演示數據/可視化應用,大量使用PG 的軟件可使用Docker 模板一鍵拉起
- 提供基於Vagrant 的本地開發測試沙箱環境,與基於Terraform 的雲端自動部署方案,開發測試生產保持環境一致。
強力的發行版
徹底釋放關係型數據庫的力量!
PostgreSQL 是一個足夠完美的數據庫內核,但它需要更多工具與系統的配合,才能成為一個足夠好的數據庫服務(RDS),而Pigsty 幫助PostgreSQL 完成這一步飛躍。
Pigsty 深度整合了PostgreSQL 生態的三大核心擴展插件 PostGIS,TimescaleDB,Citus,並確保它們可以協同工作,提供分佈式的時序地理空間數據庫能力。 Pigsty 還提供了運行企業級RDS 服務的所需軟件,打包所有依賴為離線軟件包,所有組件均可在無需互聯網訪問的情況下一鍵完成安裝部署,進入生產可用狀態。
在Pigsty 中功能組件被抽象 模塊,可以自由組合以應對多變的需求場景。INFRA
模塊帶有完整的現代監控技術棧,而 NODE
模塊則將節點調諧至指定狀態並納入監控。在多個節點上安裝 PGSQL
模塊會自動組建出一個基於主從復制的高可用數據庫集群,而同樣的 ETCD
模塊則為數據庫高可用提供共識與元數據存儲。可選的 MINIO
模塊可以用作圖像視頻等大档案存儲並可選用為數據庫備份倉庫。與PG 有著極佳相性的 REDIS
亦為Pigsty 所支持,更多的模塊(如GPSQL
, MYSQL
, KAFKA
)將會在後續加入,你也可以開發自己的模塊並自行擴展Pigsty 的能力。
驚豔的觀測能力
使用現代開源可觀測性技術棧,提供監控最佳實踐!
Pigsty 提供了基於開源的Grafana / Prometheus 可觀測性技術棧做監控的最佳實踐:Prometheus 用於收集監控指標,Grafana 負責可視化呈現,Loki 用於日誌收集與查詢,Alertmanager 用於告警通知。 PushGateway 用於批處理任務監控,Blackbox Exporter 負責檢查服務可用性。整套系統同樣被設計為一鍵拉起,開箱即用的INFRA 模塊。
Pigsty 所管理的任何組件都會被自動納入監控之中,包括主機節點,負載均衡HAProxy,數據庫Postgres,連接池Pgbouncer,元數據庫ETCD,KV緩存Redis,對象存儲MinIO,……,以及整套監控基礎設施本身。大量的Grafana 監控面板與預置告警規則會讓你的系統觀測能力有質的提升,當然,這套系統也可以被復用於您的應用監控基礎設施,或者監控已有的數據庫實例或RDS。
無論是故障分析還是慢查詢優化、無論是水位評估還是資源規劃,Pigsty 提供全面的數據支撐,真正做到數據驅動。在Pigsty 中,超過三千類監控指標被用於描述整個系統的方方面面,並被進一步加工、聚合、處理、分析、提煉並以符合直覺的可視化模式呈現在您的面前。從全局大盤總攬,到某個數據庫實例中單個對象(表,索引,函數)的增刪改查詳情都能一覽無餘。您可以隨意上卷下鑽橫向跳轉,瀏覽系統現狀與歷史趨勢,並預測未來的演變。
詳見公開演示Demo
久經考驗的可靠性
開箱即用的高可用與時間點恢復能力
對於軟件缺陷或人為誤操作造成的刪表刪庫,Pigsty 提供了開箱即用的PITR 時間點恢復能力,無需額外配置即默認啟用。只要存儲空間管夠,基於 pgBackRest
的基礎備份與WAL 歸檔讓您擁有快速回到過去任意時間點的能力。您可以使用本地目錄/磁盤,亦或專用的 MinIO 集群或 S3 對象存儲服務保留更長的回溯期限,豐儉由人。
更重要的是,Pigsty 讓高可用與故障自愈成為PostgreSQL 集群的標配,基於 patroni
, etcd
與 haproxy
打造的故障自愈架構,讓您在面對硬件故障時游刃有餘:主庫故障自動切換的 RTO < 30s,一致性優先模式下確保數據零損失 RPO = 0。只要集群中有任意實例存活,集群就可以對外提供完整的服務,而客戶端只要連接至集群中的任意節點,即可獲得完整的服務。
Pigsty 內置了HAProxy 負載均衡器用於自動流量切換,提供DNS/VIP/LVS 等多種接入方式供客戶端選用。故障切換與主動切換對業務側除零星閃斷外幾乎無感知,應用不需要修改連接串重啟。極小的維護窗口需求帶來了極大的靈活便利:您完全可以在無需應用配合的情況下滾動維護升級整個集群。硬件故障可以等到第二天再抽空善後處置的特性,讓研發,運維與DBA 都能安心睡個好覺。許多大型組織與核心機構已經在生產環境中長時間使用Pigsty ,最大的部署有 25K CPU 核心與200+ PostgreSQL 實例,在這一部署案例中, Pigsty 在三年內經歷了數十次硬件故障與各類事故,但依然可以保持 99.999% 以上的整體可用性。
簡單易用可維護
Infra as Code, 數據庫即程式碼,聲明式的API將數據庫管理的複雜度來封裝。
Pigsty 使用聲明式的接口對外提供服務,將系統的可控制性拔高到一個全新水平:用戶通過配置清單告訴Pigsty “我想要什麼樣的數據庫集群”,而不用去操心到底需要怎樣去做。從效果上講,這類似於K8S 中的CRD 與Operator,但Pigsty 可用於任何節點上的數據庫與基礎設施:不論是容器,虛擬機,還是物理機。
無論是創建/銷毀集群,添加/移除從庫,還是新增數據庫/用戶/服務/擴展/黑白名單規則,您只需要修改配置清單並運行Pigsty 提供的冪等劇本,而Pigsty 負責將系統調整到您期望的狀態。用戶無需操心配置的細節,Pigsty將自動根據機器的硬件配置進行調優,您只需要關心諸如集群叫什麼名字,有幾個實例放在哪幾台機器上,使用什麼配置模版:事務/分析/核心/微型,這些基礎信息,研發也可以自助服務。但如果您願意跳入兔子洞中,Pigsty 也提供了豐富且精細的控制參數,滿足最龜毛DBA 的苛刻定制需求。
除此之外,Pigsty 本身的安裝部署也是一鍵傻瓜式的,所有依賴被預先打包,在安裝時可以無需互聯網訪問。而安裝所需的機器資源,也可以通過Vagrant 或Terraform 模板自動獲取,讓您在十幾分鐘內就可以從零在本地筆記本或云端虛擬機上拉起一套完整的Pigsty 部署。本地沙箱環境可以跑在1核2G的微型虛擬機中,提供與生產環境完全一致的功能模擬,可以用於開發、測試、演示與學習。
紮實的安全性
加密備份一應俱全,只要硬件與密鑰安全,無需操心數據庫的安全性。
每套Pigsty 部署都會創建一套自簽名的CA 用於證書籤發,所有的網絡通信都可以使用SSL 加密。數據庫密碼使用合規的 scram-sha-256
算法加密存儲,遠端備份會使用 AES-256
算法加密。此外還針對PGSQL 提供了一套開箱即用的的訪問控制體系,足以應對絕大多數應用場景下的安全需求。
Pigsty 針對PostgreSQL 提供了一套開箱即用,簡單易用,精煉靈活的,便於擴展的訪問控制體系,包括職能分離的四類默認角色:讀(DQL) / 寫(DML) / 管理(DDL) / 離線(ETL) ,與四個默認用戶:dbsu / replicator / monitor / admin。所有數據庫模板都針對這些角色與用戶配置有合理的默認權限,而任何新建的數據庫對像也會自動遵循這套權限體系,而客戶端的訪問則受到一套基於最小權限原則的設計的HBA 規則組限制,任何敏感操作都會記入日誌審計。
任何網絡通信都可以使用SSL 加密,需要保護的敏感管理頁面與API端點都受到多重保護:使用用戶名與密碼進行認證,限制從管理節點/基礎設施節點IP地址/網段訪問,要求使用HTTPS 加密網絡流量。 Patroni API 與Pgbouncer 因為性能因素默認不啟用SSL ,但亦提供安全開關便於您在需要時開啟。合理配置的系統通過等保三級毫無問題,只要您遵循安全性最佳實踐,內網部署並合理配置安全組與防火牆,數據庫安全性將不再是您的痛點。
廣泛的應用場景
使用預置的Docker模板,一鍵拉起使用PostgreSQL的海量軟件!
在各類數據密集型應用中,數據庫往往是最為棘手的部分。例如Gitlab 企業版與社區版的核心區別就是底層PostgreSQL 數據庫的監控與高可用,如果您已經有了足夠好的本地 PG RDS,又為什麼要為軟件自帶的土法手造數據庫掏錢?
Pigsty 提供了Docker 模塊與大量開箱即用的Compose 模板。您可以使用Pigsty 管理的高可用PostgreSQL (以及Redis 與MinIO )作為後端存儲,以無狀態的模式一鍵拉起這些軟件:Gitlab、Gitea、Wiki.js、Odoo、Jira、Confluence、Habour、Mastodon、Discourse、KeyCloak 等等。如果您的應用需要一個靠譜的PostgreSQL 數據庫, Pigsty 也許是最簡單的獲取方案。
Pigsty 也提供了與PostgreSQL 緊密聯繫的應用開發工具集:PGAdmin4、PGWeb、ByteBase、PostgREST、Kong、以及EdgeDB、FerretDB、Supabase 這些使用PostgreSQL 作為存儲的”上層數據庫”。更奇妙的是,您完全可以基於Pigsty 內置了的Grafana 與Postgres ,以低程式碼的方式快速搭建起一個交互式的數據應用來,甚至還可以使用Pigsty 內置的ECharts 面板創造更有表現力的交互可視化作品。
開源免費的自由軟件
Pigsty是基於AGPLv3 開源的自由軟件,由熱愛PostgreSQL 的社區成員用熱情澆灌
Pigsty 是完全開源免費的自由軟件,它允許您在缺乏數據庫專家的情況下,用幾乎接近純硬件的成本來運行企業級的PostgreSQL 數據庫服務。作為對比,公有云廠商提供的RDS 會收取底層硬件資源幾倍到十幾倍不等的溢價作為“服務費”。
很多用戶選擇上雲,正是因為自己搞不定數據庫;很多用戶使用RDS,是因為別無他選。我們將打破雲廠商的壟斷,為用戶提供一個雲中立的,更好的RDS 開源替代:Pigsty 緊跟PostgreSQL 上游主幹,不會有供應商鎖定,不會有惱人的“授權費”,不會有節點數量限制,不會收集您的任何數據。您的所有的核心資產—— 數據,都能”自主可控”,掌握在自己手中。
Pigsty 本身旨在用數據庫自動駕駛軟件,替代大量無趣的人肉數據庫運維工作,但再好的軟件也沒法解決所有的問題。總會有一些的冷門低頻疑難雜症需要專家介入處理。 Pigsty 提供專業的訂閱服務,來為有需要的企業級用戶使用PostgreSQL 提供兜底。當然對於社區用戶,團隊亦用愛發電,提供免費的支持與日常答疑。
Pigsty 2.0 的安裝依然是一條命令搞定所有
curl -fsSL http://download.pigsty.cc/get) | bash
如果互聯網訪問受限,您可以提前從Github 或CDN 下載對應操作系統的離線軟件包進行離線安裝。監控系統部分提供公開的Demo:http://demo.pigsty.cc 。
距離上一個版本v1.5.1 已經過去255 天,在這接近一年時間中的七百多個提交裡,大量來自用戶側的需求與反饋被接納、實現、打磨、測試。新增了一系列重磅特性。主要的亮點包括:
具體細節如下:
詳情可查看官方發佈公告。
You may also like
相关贴文:
近期文章
- NuvemShop 或 Shopify – 是否有資格在 2024 年獲得 Melhor 平台?
- 如何透過 Shopify Dropshipping 將 AI 用於 UGC 廣告
- 2024 年如何學習 Shopify 開發
- Shopify 太邪惡了!不要使用! Shopify 不會釋放我的資金 |預言性警告 | Shopify 付款
- 10 個讓你大吃一驚的 ChatGPT 黑客!
- 配置 Shopify POS – 預覽
- 得獎者 Ürün Bulmak Áçin Áhtiyacın Olan TEK 影片 (Shopify Dropshipping)
- 如何免費打造 7 位數的 Shopify 商店
- META 商務套件:終極教學 2024
發佈留言