雲數據庫是不是殺豬盤

近日,Basecamp & HEY 聯合創始人 DHH 的一篇文章【1】【2】引起熱議,主要內容可以概括為一句話:

“我們每年在雲數據庫(RDS/ES)上花50萬美元,你知道50萬美元可以買多少牛逼的服務器嗎?我們要下雲,拜拜瞭您吶!

所以,50萬美元可以買多少牛逼的服務器?


荒謬定價

我們可以換一種問法,服務器和RDS都賣多少錢?

以我們自己數據庫大量使用的物理機型為例:Dell R730, 64核384GB內存,加裝一塊 3.2 TB MLC的NVME SSD。像這樣的一臺服務器部署標準的生產級 PostgreSQL,單機可以承載十幾萬的TPS,隻讀點查詢可以幹到四五十萬。要多錢呢?算上電費網費IDC托管代維費用,按照5年報廢均攤,整個生命周期成本七萬五千上下,合每年一萬五。當然,如果要在生產中使用,高可用是必須的,所以通常一組數據庫集群需要兩到三臺物理機,也就是每年3萬到4.5萬。

如果您直接購買這樣規格的雲數據庫,則費用幾何呢?讓我們看看國內阿裡雲的收費【3】。因為基礎版(乞丐版)實在是沒法生產實用(請參考:《雲數據庫:刪庫到跑路》),我們選用高可用版,通常底下是兩到三個實例。包年包月,引擎PostgreSQL 15 on x86,華東1默認可用區,獨享的64核256GB實例:pg.x4m.8xlarge.2c,並加裝一塊3.2TB的ESSD PL3雲盤。每年的費用在25萬(3年)到75萬(按需)不等,其中存儲費用約占 1/3。

AWS與阿裡雲RDS包年報價(折後)

讓我們再來看看公有雲一哥AWS【4】【5】。AWS上與此最接近的是 db.m5.16xlarge ,也是64核256GB多可用區部署,同樣加裝一塊最大IOPS 8萬,3.2TB的 io1 SSD磁盤,查詢AWS全球與國區的報價,總體在每年160 ~ 237萬元不等,存儲費用約占一半,整體成本如下表所示:

付費模式 價格 折合每年(萬¥)
IDC自建(單物理機) ¥7.5w / 5年 1.5
IDC自建(2~3臺組HA) ¥15w / 5年 3.0 ~ 4.5
阿裡雲 RDS 按需 ¥87.36/時 76.5
阿裡雲 RDS 月付(基準) ¥4.2w / 月 50
阿裡雲 RDS 年付(85折) ¥425095 / 年 42.5
阿裡雲 RDS 3年付(5折) ¥750168 / 3年 25
AWS 按需 $25,817 / 月 217
AWS 1年不預付 $22,827 / 月 191.7
AWS 3年全預付 12w$ + 17.5k$/月 175
AWS 中國/寧夏按需 ¥197,489 / 月 237
AWS 中國/寧夏1年不預付 ¥143,176 / 月 171
AWS 中國/寧夏3年全預付 ¥647k + 116k/月 160.6

我們可以對比一下自建與雲數據庫的成本差異:

方式 折合每年(萬元)
IDC托管服務器 64C / 384G / 3.2TB NVME SSD 660K IOPS (2~3臺) 3.0 ~ 4.5
阿裡雲 RDS PG 高可用版 pg.x4m.8xlarge.2c, 64C / 256GB / 3.2TB ESSD PL3 25 ~ 50
AWS RDS PG 高可用版 db.m5.16xlarge, 64C / 256GB / 3.2TB io1 x 80k IOPS 160 ~ 217

公有雲的大客戶通常可以有商務折扣,但再怎麼打折,三四萬和三四十萬數量級上的差距也是沒法彌補的吧?

如果你用雲數據庫1年的錢,就夠你買幾臺甚至十幾臺性能更好的服務器,那麼使用雲數據庫的意義到底在哪裡?

用雲數據庫到底是不是在交智商稅?


適用場景

數據庫是數據密集型應用的核心,應用跟著數據庫走,所以選型需要非常審慎。

評價一款數據庫需要從許多維度出發:穩定性,可靠性,安全性,簡單性,可伸縮性,可擴展性,可觀測性,可維護性,成本性價比,等等等等。甲方真正在意的是這些屬性,而不是虛頭巴腦的技術炒作:存算分離,Serverless,HTAP,雲原生,超融合……,這些必須翻譯成工程的語言:犧牲瞭什麼換來瞭什麼,才有實際意義。

公有雲的鼓吹者很喜歡往它臉上貼金:節約成本,靈活彈性,安全可靠,是企業數字化轉型的萬靈藥,是汽車對馬車的革命,又好又快還便宜,諸如此類,可惜沒幾條是實事求是的。繞開這些虛頭巴腦的東西,雲數據庫相比專業的數據庫服務真正有優勢的屬性隻有一條:彈性。具體來說是兩點:啟用成本低,可伸縮性強。

啟動成本低,意味著用戶不需要進行機房建設,人員招聘培訓,服務器采購就可以開始用;可伸縮性強,指的是各種配置升降配,擴縮容比較容易;因此,公有雲真正適用的場景核心就是這兩種:

  1. 起步階段,流量極小的簡單應用
  2. 毫無規律可循,大起大落的負載

前者主要是簡單網站,個人博客,小程序小工具,演示/PoC,Demo,後者主要指低頻的數據分析/模型訓練,突發的秒殺搶票,明星並發出軌等特殊場景。

公有雲的商業模型就是租賃:租服務器,租帶寬,租存儲,租專傢。它和租房,租車,租充電寶沒有本質區別。當然,租服務器和運維外包實在是不怎麼中聽,所以有瞭雲這個名字。而租賃這種模式的特點,就是彈性。

租賃有租賃的好處,出門在外,共享充電寶可以解決臨時應急性的小規模充電需求。但對於大量日常從傢到單位兩點一線的人來說,每天用共享充電寶給手機電腦充電,毫無疑問是非常荒謬的,何況共享充電寶租一個小時4塊錢,租幾個小時的錢,就夠你把它直接買下來瞭。租車可以很好的滿足臨時的、突發的、一次性用車需求:外地出差旅遊,臨時拉一批貨。但如果你的出行需求是頻繁的,本地性,那麼購置一輛自動駕駛的車也許是最省事省錢的選擇。

問題的關鍵還是在於租售比,房子的租售比幾十年,汽車的租售幾年,而公有雲服務器的租售比通常隻有幾個月。如果你的業務能夠穩定活幾個月以上,為什麼要租,而不是直接買呢?

所以,雲廠商賺的錢,要麼來自VC砸錢求爆發增長的科技創企,要麼來自灰色尋租空間比雲溢價還高的特殊單位,要麼是人傻錢多的狗大戶,要麼是零零散散的站長/學生/VPN個人用戶。聰明的高凈值企業客戶,誰會放著便宜舒適的大House不住,跑去擠著租住方艙醫院人才公寓呢?

如果您的業務符合公有雲的適用光譜,那是最好不過;但是為瞭不需要的靈活性與彈性支付幾倍乃至十幾倍溢價,那是純智商稅瞭。


成本刺客

公有雲極其關註彈性,由其租賃的商業模式決定:啟動成本極低,維持成本極高。

低啟動成本吸引用戶上雲,而且良好的彈性可以隨時適配業務增長,業務穩定後形成供應商鎖定,搬遷成本高昂尾大不掉,而極高的維持成本就會讓用戶痛不欲生瞭。這種模式有一個俗名 —— 殺豬盤。

在我職業生涯的第一站中,就有這樣一次殺豬經歷讓我記憶猶新。作為前幾個被逼上A雲的內部BU,A雲直接出工程師加入手把手提供上雲服務。用ODPS全傢桶換掉瞭自建的大數據/數據庫全傢桶。應該說,服務確實不錯,隻不過,每年的存儲計算開銷從千萬出頭飆升到接近一億,利潤幾乎都轉移到A雲瞭,堪稱終極成本刺客。

後來在下一站,情況則完全不同。我們管理著兩萬五千核規模,450W QPS的 PostgreSQL 與 Redis 數據庫集群。像這種規格的數據庫,如果按AWS RCU/WCU 計費,每年幾個億就出去瞭;即使全買長期包年包月再加個大商務折扣,至少五六千萬是肯定是少不瞭的。而我們總共兩三個DBA,幾百臺服務器,人力+資產均攤每年統共不到一千萬。

PostgreSQL 部分的監控大盤

這裡我們可以用一種簡單的方式來核算單位成本:一核算力(含內存/存儲)使用一個月的綜合成本,簡稱核月。我們核算過自建各機型的成本,以及雲廠商給出的報價,大致結果如下:

硬件算力 單價
IDC自建機房(獨占物理機 A1: 64C384G) 19
IDC自建機房(獨占物理機 B1: 40C64G) 26
IDC自建機房(獨占物理機 C2: 8C16G) 38
IDC自建機房(容器,超賣200%) 17
IDC自建機房(容器,超賣500%) 7
UCloud 彈性虛擬機(8C16G,有超賣) 25
阿裡雲 彈性服務器 2x內存(獨占無超賣) 107
阿裡雲 彈性服務器 4x內存(獨占無超賣) 138
阿裡雲 彈性服務器 8x內存(獨占無超賣) 180
AWS C5D.METAL 96C 200G (按月無預付) 100
AWS C5D.METAL 96C 200G(預付3年) 80
數據庫
AWS RDS PostgreSQL db.T2 (4x) 440
AWS RDS PostgreSQL db.M5 (4x) 611
AWS RDS PostgreSQL db.R6G (8x) 786
AWS RDS PostgreSQL db.M5 24xlarge 1328
阿裡雲 RDS PG 2x內存(獨占) 260
阿裡雲 RDS PG 4x內存(獨占) 320
阿裡雲 RDS PG 8x內存(獨占) 410
ORACLE數據庫授權 10000

所以這裡問題就來瞭,單價二十塊的服務器硬件,為什麼可以賣出上百塊,而且裝上雲數據庫軟件還可以再翻幾番?您傢的機器、運維、數據庫是金子做的嗎?

常用的回應話術是:數據庫是基礎軟件裡的皇冠明珠,凝聚著無數無形知識產權BlahBlah。因此軟件的價格遠超硬件非常合理。如果是 Oracle 這樣的頂尖商業數據庫,或者索尼任天堂的主機遊戲,這麼說也過得去。

但這裡我們必須指出,雲數據庫所謂的“便宜”,是跟 Oracle 這樣的商業數據庫去比的。可是,公有雲上的雲數據庫(RDS for PostgreSQL/MySQL/....),本質上是開源數據庫內核換皮魔改封裝,加上自己管控軟件和共享DBA人頭服務。那這種溢價率就非常荒謬瞭:數據庫內核是免費的,那麼你傢管控軟件是金子做的,還是DBA是金子做的?

你的數據庫是金子做的?

所以,公有雲的秘密就在這裡:用廉價的存算資源獲客,而雲數據庫負責殺豬。

正常來說,如果不是把公有雲單純當作一個 IDC 2.0 或者 CDN供應商來用,最費錢的服務就是雲數據庫。公有雲上的存儲、計算、網絡資源貴嗎?嚴格來說不算特別離譜。IDC托管物理機代維的核月成本大約為二三十塊,而公有雲上一核 CPU 算力用一個月的價格,大概在七八十塊到一兩百塊,考慮到各種折扣與活動,以及彈性溢價,基本處於薄利多銷的狀態。但雲數據庫就非常離譜瞭,同樣是一核算力用一個月,雲數據庫價格比起對應規格的硬件可以翻幾倍乃至十幾倍。 便宜一些阿裡雲,核月單價兩百到四百,貴一些的 AWS,核月單價可以七八百甚至上千。

盡管國內公有雲 IaaS (存儲、計算、網絡)的收入占營收接近一半,但毛利率隻有 15% ~ 20%,而公有雲 PaaS 的營收雖然不如 IaaS,但 PaaS 的毛利率可以達到 50% ,完爆賣資源吃飯的 IaaS 。而 PaaS 中,最具代表性的,就是雲數據庫。作為公有雲殺豬刀一哥,雲數據庫當仁不讓。

如果說隻有一兩核RDS,那也別折騰瞭,交點稅就交點吧。但如果您的業務上瞭量還在用RDS,那可真是在被嘎嘎殺豬瞭。


足夠好嗎

如果您能跟雲銷售聊到成本這兒,話術就該變成:雖然我們貴,但是我們好呀!

但是,雲數據庫真的好嗎?

應該說,對於玩具應用,小微網站,個人托管,以及土法野路子自建數據庫來,毫無技術認知的甲方來說,RDS 也許足夠好瞭。但在高凈值客戶與數據庫專傢看來,RDS不過是及格線上的大鍋飯產品罷瞭。說到底,公有雲源於大廠內部的運維能力外溢,大廠人自己廠裡技術啥樣門兒清,大可不必有啥莫名的崇拜。(當然 Google 也許算例外,它的問題恰好相反:Engineering Excellence,我對 Spanner,AlloyDB 這樣的產品還是有敬意的)。

以 性能 為例,性能的核心指標是 延遲 / 響應時間,特別是長尾延遲,會直接影響用戶體驗:沒有人願意等著劃一下屏幕轉幾秒圈圈。而在這一點上,磁盤起到決定性作用。

我們使用的NVME SSD參數參考

我們生產環境數據庫中使用的是本地 NVME SSD,典型4K寫延遲為15µs,讀延遲 94µs。因而,PostgreSQL 簡單查詢的響應時間通常為 100 ~ 300µs,應用側的查詢響應時間通常為 200 ~ 600µs ;對於簡單查詢,我們的 SLO 是命中 1ms 內,未命中 10ms 內,超過 10ms 算慢查詢,要打回去優化。而 AWS 提供的EBS服務用 fio 實測性能極其拉垮【6】,默認的gp3讀寫延遲為 40ms ,io1 讀寫延遲為 10ms,整整差瞭近三個數量級,而且 IOPS 最大也隻有 80K 。RDS 使用的存儲就是 EBS ,如果連一次磁盤訪問都需要 10ms ,那這就根本沒法整瞭。

b7a23277b5a484a47cabc833dcdfa1d8一條簡單 PostgreSQL 查詢在命中的情況下,SELECT約30µs,INSERT 120µs,UPDATE/DELETE 80µs

確實,有時候雲廠商會提供性能足夠好的本地的 NVME SSD,但都會非常雞賊的設定各種限制條件,來避免用戶來使用EC2來自建數據庫。AWS的限制方式是隻有 NVME SSD Ephemeral Storage,這種盤一旦遇上 EC2 重啟就自動抹幹凈瞭,根本沒法用。阿裡雲的限制方式是給你賣天價,例如 ESSD PL3,其實和我們用的是同一傢供應商。從 RDS 計費頁面推算出的 ESSD PL3 定價為 38.4 ¥ / GB·年,也就是一塊3.2TB的磁盤用一年要收 12 萬,好傢夥,用一年這錢夠你買20塊這樣的磁盤瞭,比RDS本體殺起豬來還要狠。

再以 可觀測性 為例,沒有一傢RDS的監控能稱得上是“好”。就以監控指標數量來說吧,雖然說知道服務死瞭還是活著隻需要幾個指標,但如果想進行故障根因分析,需要越多越好的監控指標來構建良好的 Context 。而大多數RDS 都隻是做瞭一些基本的監控指標,和簡陋到可憐的監控面板。以阿裡雲 RDS PG 為例【7】,所謂的“增強監控”,裡面隻有這麼點可憐的指標 , AWS 裡和 PG 數據庫相關的指標也差不多不到 100 個,而我們自己的監控系統裡主機指標有 800 多類,PostgreSQL 數據庫指標 610 類,Redis 指標257類,整個大約三千類指標,在數量上完爆這些RDS。

阿裡雲的“增強監控”【7】0b778e046ef641a1ff44a13e9d1d087d我們的監控系統完全開源免費,公開Demo:http://demo.pigsty.cc

可靠性是數據系統的基石,以前我對 RDS 的可靠性還抱有基本的信任,直到一個月前阿裡雲香港機房那場醜聞。租的機房,服務器噴水消防,OSS 故障,大量 RDS 不可用也切不瞭;然後A雲自己整個區域的管控服務竟然因為一個單AZ的故障自己掛點瞭;連自己的管控API都做不到異地容災,那做雲數據庫異地容災豈不是天大的笑話。當然,並不是說自建就不會出現這些問題,隻是稍微靠譜點的IDC托管都不至於犯這麼離譜的錯誤。

安全性也不用多說,最近鬧的出過的幾次大笑話,比如 SHGA;一堆樣例代碼裡硬編碼 AK/SK ,雲 RDS 更安全嗎?別搞笑啦,經典架構起碼還有內網堡壘機扛著一層,而公網上暴露端口弱密碼裸奔的數據庫簡直不要太多。

雲數據庫另一個廣為人所詬病的是其可擴展性。RDS 是不給用戶 dbsu 權限的,這也意味著用戶是不能在數據庫中安裝擴展插件,而 PostgreSQL 的插件恰恰就是其醍醐味,沒有擴展的PostgreSQL就像可樂不加冰,酸奶不加糖一樣。更嚴重的問題是在一些故障出現時,用戶甚至都喪失瞭自我救助的能力,隻能幹等工單慢慢回復,參見《雲數據庫:從刪庫到跑路》中的真實案例:WAL 歸檔與 PITR 這麼基礎性的功能,在 RDS 中竟然是一個付費的升級功能,想錢想瘋瞭吧。

至於可維護性,有些人說雲數據庫可以點點鼠標就創建銷毀多方便呀,說這話的人肯定沒經歷過重啟每個數據庫都要收手機短信驗證碼的山炮場景。有 Database as Code 式的管理工具,真正的工程師絕對不會用這種“ClickOps”。

不過任何事物存在都有其道理,雲數據庫也不是一無是處,既然是幹租賃生意的,彈性肯定差不瞭。在可伸縮性上,雲數據庫最近把包月租房升級為 Serverless 鐘點房,把彈性卷出瞭新高度。嘎嘎割韭菜的能力更上一層樓,我必須點個贊。


淘汰DBA?

雲數據庫的另一種鼓吹思路是,用瞭RDS,你就不用DBA啦!

例如這篇知名點炮文《你怎麼還在招聘DBA》【8】裡說:“我們有數據庫自治服務!RDS 和 DAS 能幫你解決這些數據庫相關的問題,DBA 都要下崗瞭,哈哈哈哈!”

我相信任何認真看過這些所謂“自治服務”,“AI4DB”官方文檔【9】【10】的人都不會相信這種論調:連一個足夠好用的監控系統都算不上的小模塊,能讓數據庫自治起來,這不是在說夢話?Oracle 自治數據庫搞瞭多久,也不敢說這種輔助建個索引的功能就能讓淘汰 DBA 瞭。

DBA,Database Administrator,數據庫管理員,以前也叫做數據庫協調員、數據庫程序員。DBA是一個橫跨於研發團隊與運維團隊的廣博角色,涉及 DA、SA、Dev、Ops、以及 SRE 的多種職責,負責各種與數據與數據庫有關的問題:設置管理策略與運維標準,規劃軟硬件架構,協調管理數據庫,驗證表模式設計,優化SQL查詢,分析執行計劃,乃至於處理緊急故障以及搶救數據。

DBA的第一點價值在於安全兜底:他是企業核心數據資產的守護者,也是可以輕易對企業造成致命傷害的人。在螞蟻金服有個段子,能搞死支付寶的,除瞭監管就是 DBA 瞭。高管們通常也很難意識到 DBA 對於公司的重要性,直到出瞭數據庫事故,一堆CXO緊張地站在 DBA 背後觀看救火修復過程時…。比起避免一場數據庫故障所造成的損失,例如:全美停航,Youtube宕機,工廠停產一天,雇傭DBA的成本顯得微不足道。

DBA的第二點價值在於模型設計與優化。許多公司並不在乎他們的查詢是純狗屎,他們隻是覺得“硬件很便宜”,砸錢買硬件就好瞭。然而問題在於,一個調整不當的查詢/SQL或設計不當的數據模型與表結構,可以對性能產生幾個數量級的影響。總會在某一個規模,堆硬件的成本相比雇傭一個靠譜DBA的成本高得令人望而卻步。實話說,我認為大多數公司在IT軟硬件開銷中花費最大的是:開發人員沒有正確使用數據庫。隻要規模在,在數量級的性能成本優化面前,DBA的工資成本同樣顯得微不足道。

DBA的基本功是管理好DB,但它的靈魂在於 A :Administration ,如何管住研發人員創造的熵,需要的可不僅僅是技術。“自治數據庫”也許可以幫助你分析負載創建索引,但沒有可能幫你理解業務需求,去Push業務去優化表結構,而這一點在未來的二三十年裡,都看不到任何被雲替代的可能。

無論是公有雲廠商,還是以Kubernetes為代表的雲原生/私有雲,或者是類似 Pigsty 【11】這樣的本地開源RDS替代,其核心價值都在於盡可能多地使用軟件,而不是人來應對系統復雜度。那麼,雲軟件會革瞭運維與DBA的命嗎?

雲並不是什麼都不用管的運維外包魔法。根據復雜度守恒定律,無論是系統管理員還是數據庫管理員,管理員這個崗位消失的唯一方式是,它們被重命名為“DevOps Engineer”或SRE。好的雲軟件可以幫你屏蔽運維雜活,解決70%的日常高頻問題,然而總是會有那麼一些復雜問題隻有人才能處理。你可能需要更少的人手來打理這些雲軟件,但總歸還是需要人來管理【12】。畢竟,你也需要懂行的人來協調處理,才不至於被雲廠商嘎嘎割韭菜當傻逼。

在大型組織中,一個好的DBA是至關重要的。然而優秀的DBA都是用真金白銀的故障砸出來的,相當稀有,供不應求,以至於這個角色在大多數組織中隻能外包:包給專業的數據庫服務公司,或者包給雲數據庫RDS服務團隊。找不到DBA供應的組織隻能將這個職責 內包 給自己的研發/運維人員,直到公司的規模足夠大,或者吃到足夠的苦頭之後,一些Dev/Ops才會培養出相應的能力來,不過這確實是相當罕見的事情。

DBA不會被淘汰,隻可能被壟斷集中到雲廠商裡集中提供服務。


壟斷陰影

比起“淘汰DBA”這種無稽之談,雲的出現蘊含著真正的、更大的威脅是壟斷。我們需要擔心的是這樣一幅圖景:公有雲(或果子雲)坐大,控制硬件與運營商上下遊,壟斷計算,存儲,網絡,頂尖專傢資源,形成事實標準。假如所有頂級DBA都被挖到雲廠商去集中提供共享專傢服務,普通的企業組織就徹底失去瞭用好數據庫的能力,最終隻能選擇被公有雲收稅殺豬。最終所有IT資源集中於雲廠商裡,隻要控制住這幾個關鍵少數,就可以控制整個互聯網。這毫無疑問與互聯網誕生的初衷相悖。

引用 DDIA 作者 Martin Kelppmann 的一段話【13】來說:

有力就會有反作用力,與雲軟件相對應的本地優先軟件開始如雨後春筍一般出現。例如以 Kubernetes 為代表的 Cloud Native 運動就是一例。公有雲廠商將這裡的 Native 解釋為 “原生”:“原生誕生在公有雲環境裡的軟件”;我認為這是一種搶奪話語權的拙略技巧,Native 的真正的含義應為 “本地”,即與 Cloud 相對應的 Local —— 本地雲 / 私有雲 / 專有雲 / 原生雲,叫什麼不重要,重要的是它運行在用戶想運行的任何地方(包括雲服務器),而不是僅僅是公有雲所獨有!

以 Kubernetes 為代表的開源項目將原本公有雲才有的資源調度/智能運維能力普及到所有組織中,讓用戶在本地也可以運行起“雲“一樣的能力。對於無狀態的應用來說,它已經是一個足夠好的,無供應商鎖定的 “雲操作系統內核”。Ceph / Minio 也提供瞭 S3 對象存儲的開源替代物;隻有一個問題仍然沒有答案,有狀態的,生產級的數據庫服務如何管理與部署?這個最核心的短板問題不解決,大量用戶還是隻能在待公有雲上被雲數據庫亢亢殺豬。

時代在呼喚一個 RDS 的開源替代物。


解決方案

我希望,未來的世界人人都有自由使用優秀服務的事實權利,而不是隻能被圈養在幾個公有雲廠商提供的豬圈(Pigsty)裡吃粑粑。這就是為什麼我要做 Pigsty, 一個更好的,開源免費的 PostgreSQL RDS替代。讓用戶能夠在任何地方(包括雲服務器)上,一鍵拉起有比雲RDS更好的數據庫服務。

Pigsty是是對 PostgreSQL 的徹底補完,更對雲數據庫的辛辣嘲諷。它本意是“豬圈”,但更是 Postgres In Great STYle 的縮寫,即“全盛狀態下的 PostgreSQL”。 它是一個完全基於開源軟件的,可以運行在任何地方的,濃縮瞭 PostgreSQL 使用管理最佳實踐的,Me-Better RDS 開源替代。Pigsty就是用真實世界的大規模,高標準 PostgreSQL 集群打磨而來的解決方案,它是為瞭滿足我們自己管理數據庫的需求而誕生的。它在八個維度上進行瞭許多工作:

可觀測性(Observability)是天;天行健君子以自強不息;

Pigsty 使用現代可觀測性技術棧為 PostgreSQL 打造瞭一款無與倫比的監控系統,從全局大盤概覽到單個表/索引/函數等對象的秒極歷史詳情指標一覽無遺,讓用戶對系統能夠做到洞若觀火,進而掌控一切。此外,Pigsty 的監控系統還可以獨立使用,監控第三方數據庫實例。

可控制性(Controllability)是地;地勢坤君子以厚德載物;

Pigsty 提供 Database as Code 的能力:使用表現力豐富的聲明式接口描述數據庫集群的狀態,並使用冪等的劇本進行部署與調整。讓用戶擁有精細定制的能力的同時又無需操心實現細節,解放心智負擔,讓數據庫操作與管理的門檻從專傢級降低到新手級。

可伸縮性(Scalability)是水;水洊至習坎君子以常德行;

Pigsty提供預制通用調參模板(OLTP / OLAP / CRIT / TINY),自動優化系統參數,並可通過級聯復制無限擴展隻讀能力,也使用Pgbouncer連接池優化海量並發連接;Pigsty確保 PostgreSQL 的性能可以在現代硬件條件下充分發揮:單機可達數萬並發連接/百萬級單點查詢QPS/十萬級單條寫入TPS。

可維護性(Maintainability)是火;明兩作離大人以繼明照於四方;

Pigsty 允許在線摘除添加實例以擴縮容,Switchover/滾動升級進行升降配,提供基於邏輯復制的不停機遷移方案,將維護窗口壓縮至亞秒級,讓系統整體的可演化性,可用性,可維護性提高到一個新的水準。

安全性(Security)是雷;洊雷震君子以恐懼修省;

Pigsty 提供瞭一套遵循最小權限原則的訪問控制模型,並帶有各種安全特性開關:流復制同步提交防丟失,數據目錄校驗和防腐敗,網絡流量SSL加密防監聽,遠程備份AES-256防泄漏。隻要物理硬件與密碼安全,用戶無需擔心數據庫的安全性。

簡單性(Simplicity)是風;隨風巽君子以申命行事;

使用 Pigsty 的難度不會超過任何雲數據庫,它旨在以最小的復雜度成本交付完整的 RDS 功能,模塊化設計允許用戶自行組合選用所需的功能。Pigsty 提供基於 Vagrant 的本地開發測試沙箱,與 Terraform 的雲端 IaC 一鍵部署模板,讓您在任意新 EL 節點上一鍵完成離線安裝,完整復刻環境。

可靠性(Reliability)是山;兼山艮君子以思不出其位;

Pigsty 提供瞭故障自愈的高可用架構應對硬件問題,也提供開箱即用的 PITR 時間點恢復為人為刪庫與軟件缺陷兜底,並通過長時間、大規模的生產環境運行與高可用演練驗證其可靠性。

可擴展性(Extensibility)是澤:麗澤兌君子以朋友講習;

Pigsty深度整合PostgreSQL生態三大核心擴展PostGIS、TimescaleDB、Citus 、以及大量擴展插件;Pigsty提供模塊化設計的Prometheus/Grafana可觀測性技術棧,以及MINIO,ETCD,Redis、Greenplum 等組件的監控與高可用部署與PostgreSQL 組合使用;

89de8bf591b2a5ee472eda6da8a2efbb10行配置,一鍵拉起 HA PostgreSQL RDS

更重要的是,Pigsty是完全開源免費的自由軟件,采用 AGPL v3.0 協議。我們用愛發電,而您可以用幾十塊核·月的純硬件成本,跑起運行功能完備甚至更好的RDS服務。無論你是初心者還是資深DBA,無論你管理著上萬核的大集群還是1核2G的小水管,無論你已經用瞭RDS還是在本地搭建過數據庫,隻要你是 PostgreSQL 用戶,Pigsty都會對您有所幫助,完全免費。您可以專註於業務中最有趣、最有價值的部分,將無趣的運維雜活丟給軟件。

盡管Pigsty 本身旨在用數據庫自動駕駛軟件替代人肉數據庫運維,但正如上所述,再好的軟件也沒法解決 100% 的問題。總會有一些的冷門低頻疑難雜癥需要專傢介入處理。這也是為什麼我們也提供專業的商業支持與訂閱服務,來為有需要的企業級用戶使用 PostgreSQL 提供兜底服務。Pigsty幫助用戶用好 PostgreSQL,而我們幫助用戶用好 Pigsty。當然,我們也提供免費的社區支持和答疑服務。

以前找DBA開源自建有點兒難,可能要100核規模才劃算,現在門檻低瞭,你1核自建都劃算瞭。

Pigsty簡單易用,人力成本與復雜度RDS持平,但成本差異確是天翻地覆。且不說自建機房的20塊和幾百塊的雲數據庫怎麼比,考慮到 RDS 對比同規格 EC2 都有幾倍的溢價,您完全可以折中:使用雲服務器部署 Pigsty RDS,既保留瞭雲的彈性,又可以原地省掉五六成開銷。如果是IDC自建或者代維,成本砍掉90%都不一定打得住。

如果您可以用幾分之一的成本來使用更好的RDS,那麼再用雲數據庫就真的是純純的智商稅瞭。


參考閱讀

【1】為什麼我們要離開雲

【2】上雲“被坑”十年終放棄,寒冬裡第一輪“下雲潮”要來瞭?

【3】阿裡雲RDS for PostgreSQL定價

【4】AWS Pricing Calculator

【5】 AWS Pricing Calculator (中國寧夏)

【6】FIO 測試 AWS EBS性能

【7】阿裡雲RDS PG 增強監控

【8】你為什麼還在招DBA

【9】阿裡雲RDS PG 數據庫自治服務

【10】OpenGauss AI for DB

【11】Me-Better RDS PostgreSQL 替代 Pigsty

【12】DBA還是一份好工作嗎?

【13】是時候和GPL說再見瞭

【14】雲數據庫是不是智商稅?

【15】大廠裁員轟轟烈烈,哪個技術崗位可以獨善其身?

【16】你怎麼不招DBA

【17】雲RDS:從刪庫到跑路

【18】蹭個熱度--要不要DBA和雲數據庫

发表回复

相关推荐

銘萬眾籌丨烤魚應該選什麼魚?去到餐館不再蒙圈,順便學習一款傢常烤魚做法

烤魚是我們經常吃的一道美味佳肴,在各大城市的美食街裡面,烤魚店隨處可見,特別是一線城市的商場餐飲檔,總是人滿為患。說...

· 57秒前

静压、动压、全压、余压,在装中央新风系统之前一定要搞清的概念

在安装新风机的时候,有朋友经常在参数指标栏中看到“机外静压**Pa”,但你知道这机外静压指的是什么吗?机外静压、动压和新风 ...

· 3分钟前

書籍的本質到底是什麼?我們為什麼要讀書?

書籍是用文字、圖畫和其他符號,在一定材料上記錄各種知識,清楚地表達思想,並且制裝成卷冊的著作物,為傳播各種知識和思想...

· 16分钟前

防雾眼镜布是智商税吗?哪种防雾眼镜布是真的有用?

冬天到了!又到了起雾的季节! 口罩+眼镜=一秒起雾! 于是眼镜党们的疑惑又来了:如何戴口罩眼镜不起雾? 往年我也有这样烦 ...

· 18分钟前

如何與命運抗爭?

文|袁運錄這是千千萬萬抑鬱癥患者面臨的同樣問題。你為什麼抑鬱?因為你在命運面前被打趴瞭下來,因為你鬥不過命運,所以你才...

· 18分钟前