什麼是 PostgreSQL?
PostgreSQL是一個開源的關聯式資料庫管理系統(RDBMS),最初由加州大學柏克萊分校開發,當時稱為Postgres(Post INGRES)。它於1986年首次釋出,並在1996年正式更名為PostgreSQL。自那時以來,PostgreSQL經過持續的開發和改進,成為一個功能強大且廣受歡迎的資料庫解決方案。
跟其他家資料庫比起來具備哪些特色?
- 開源和免費:PostgreSQL 是一個開源項目,發行版的使用許可與 BSD 和 MIT 類似,基本上,使用者可以針對原始碼做任何事,例如:改寫程式碼、轉售沒有原始碼的編譯程式。因為其開源、免費,讓有一些企業者、開發人員選擇用它,這樣子就不需要支付貴桑桑的 Lincense 費用。
- 高度可擴展性:PostgreSQL 可以處理大量的數據和高併發進來的交易。那怎麼做到擴充的呢?第一,採用水平擴充,資料分散在不同的節點上,提高系統的容量和效能,並允許平行處理多個查詢,多半用在資料切片(Data Sharding)和資料複製(Data Replication)。第二,採用垂直擴充,那就是增加單一個節點的硬體資料,例如:擴充 CPU、記憶體、硬碟容量。以上兩種常見的手段,都是要燒錢錢的。
- 支援標準 SQL:PostgreSQL 遵循 ANSI SQL 標準,提供了常見的 SQL 功能和語法,它也擴充了 SQL 的語法,自定義了一些函數。
- 豐富的資料類型支援:PostgreSQL 還支援很多的高階資料類型,如陣列、JSON、XML、GIS(地理資訊系統)等,其中最具備特色的是 GIS,也是這套資料庫最具代表的功能之一,它可以根據資料庫內的 GIS 座標,快速運算出二維、三維面積,也可以用來運算路徑長度,如果要做地理運算,PostgreSQL 基本上就是首選。
- 高度可靠性:PostgreSQL 具有強大的錯誤恢復機制,包括ACID(原子性、一致性、隔離性和持久性)事務交易的支援和預寫日誌(WAL)技術。這使得它在故障發生時能夠確保資料的完整性、一致性、與可靠性。
PostgreSQL 有什麼優勢?
要判斷一套資料庫的好與壞,就要看這套資料庫能否解決自己的應用場景、以及背後有沒有強大的社群支撐著。
- 社群生態:PostgreSQL 擁有一個活躍的社群,社群成員共同貢獻著程式碼、修復錯誤、提供支援和擴展功能。在台灣,就有 PostgreSQL 台灣使用者社群,分享資料庫的資訊和經驗。
- 第三方套件:PostgreSQL 有很多好用的功用,像是 pgbench 可以進行模擬查詢和連線, pgbouncer 可以做連線池,當然還有許多工具,不勝枚舉。
- 安全性和隔離性:PostgreSQL 提供權限管理、資料加密、SSL連線,確保不同的使用者與程序之間的數據分離和保護。
- 跨平台支援:PostgreSQL 可在多種作業系統上執行,包括Windows、Linux、macOS等。
講了那麼多,你準備用這套這麼棒的資料庫了嗎?