《為什么PostgreSQL是“最先進的開源數據庫”》要點:
本文介紹了為什么PostgreSQL是“最先進的開源數據庫”,希望對您有用。如果有疑問,可以聯系我們。
相關主題:PostgreSQL教程
本文每一行都有內鏈,由于今日頭條規則所限,并不克不及一一加上鏈接,如果想進一步學習的同學,可以點此看到所有的內鏈:https://yq.aliyun.com/articles/99506
配景
打開PostgreSQL網站,你會看到這樣的flag.
The world's most advanced open source database.
那么它從何而來呢?
從個人對數據庫的角度,在幾個方面來闡發一下
一、功能方面
1 數據處理才能 - 高級SQL特性
1、窗口查詢
2、聚合查詢,支持WITHIN GROUP、grouping sets, rollup, cube等
3、CTE, 遞歸查詢
4、merge,upsert (on conflict)語法
5、承繼
6、重寫規則
7、物化視圖
8、異步消息
9、advisory 鎖
2 數據處理才能 - 豐富類型
除了常見類型還包含擴展類型
1、數值(整型、任意長度精度數值、浮點、序列)
2、時間、日期、時間戳
3、字符串
4、貨幣
5、字節流
6、布爾
7、枚舉
8、幾何
9、網絡
10、比特流
11、全文檢索
12、UUID
13、XML
14、JSON
15、數組
16、復合
17、范圍
18、年夜對象
19、K-V類型
20、多維類型
21、樹類型
22、加密類型
23、模糊查詢加速類型
24、擴展類型,見擴展章節
3 數據處理才能 - 豐富函數
1、科學計算相關函數、隨機函數、三角函數
2、數據集生成函數 SRF
3、幾何(距離、面積、交錯、支點、位置等)
4、字符串格式化、處置、編碼轉換、等操作函數
5、字節流處置函數
6、比特流處置函數
7、正則表達式處置函數
8、全文檢索處置函數
9、JSON類型處置函數
10、枚舉、網絡、XML類型處置函數
https://www.postgresql.org/docs/10/static/functions-net.html
https://www.postgresql.org/docs/10/static/functions-xml.html
11、序列
12、數組處理函數(是否相交、包括、不包括、差集、交集、等)
13、范圍類型處理函數(是否相交、包括、不包括、差集、交集、等)
14、條件表達式
15、子查詢
16、行、數組構造器
17、聚合函數
18、窗口函數
19、觸發器
20、變亂觸發器
4 數據快速檢索才能 - 先進索引
1、函數、表達式索引
2、多列索引
3、多索引合并(bitmapAnd, bitmapOr)
4、部門索引
5、B-Tree 索引
6、hash 索引
7、GIN 倒排索引
8、GiST 通用索引
9、SP-GiST 空間分區通用索引
10、BRIN 塊級索引
11、RUM 增強全文索引
12、BLOOM 布隆過濾索引
13、zombodb elasticSearch索引接口
14、b-tree, gist 合體索引
15、b-tree, gin 合體索引
16、《PostgreSQL 10.0 preview 功能增強 - 唯一約束+附加字段組合功能索引》
17、《PostgreSQL 10.0 preview 優化器改進 - 不完整索引支持復合排序》
18、《PostgreSQL 10.0 preview 性能增強 - 間接索引(secondary index)》
5 數據處理才能 - 高級編程特性
1、python存儲過程
2、pgsql存儲過程
3、sql存儲過程
4、tcl存儲過程
5、perl存儲過程
6、javascript存儲過程
7、CUDA存儲過程](https://github.com/pg-strom/devel)
8、R存儲過程
9、C嵌入式編程
10、分布式存儲過程pl/proxy
11、還支持眾多語言:ruby, sh, java, php, xslt等等
6 復制才能
1、邏輯流式訂閱
2、物理流式復制
3、時間線逆轉
7 高級內部特性
1、動態視圖、統計信息、狀態信息、等待變亂
2、TOP SQL
3、鎖
《PostgreSQL 鎖等待監控 珍藏級SQL - 誰堵塞了誰》
4、進程進度申報
5、探針
6、擴展探針
7、buffer內窺
8、數據文件內窺
9、REDO內窺
10、鉤子
11、流復制控制函數
12、事務快照接口
13、系統管理函數
14、開放協議(流復制協議、等)
15、大版來源根基地升級
16、plan hint
二、平安、可靠性方面
1、認證模式
秘鑰認證
GSSAPI 認證
SSPI 認證
Ident 認證
Peer 認證
LDAP 認證
RADIUS 認證
Certificate 認證
PAM 認證
BSD 認證
2、行平安策略
3、視圖柵欄
4、集群、庫、表空間、schema、對象、角色 多級權限
5、時間點恢復
6、塊級增量備份
https://github.com/postgrespro/pg_probackup
7、流式備份
8、異地容災
9、quorum-based 任意多副本
10、FPW,full_page_write
三、性能方面
1 多核并行計算
https://www.postgresql.org/docs/10/static/parallel-query.html
2 多機并行計算
fdw + inherit + append parallel
https://www.postgresql.org/docs/10/static/postgres-fdw.html
https://www.postgresql.org/docs/10/static/tutorial-inheritance.html
3 黑科技
1、llvm
《PostgreSQL 10.0 preview 性能增強 - 推出JIT開發框架(朝著HTAP邁進)》
2、向量計算
《PostgreSQL 向量化執行插件(瓦片式實現) 10x提速OLAP》
3、列存儲
《闡發加速引擎黑科技 - LLVM、列存、多核并行、算子復用 大聯姻 - 一起來開啟PostgreSQL的百寶箱》
4 優化器
1、本錢因子接口
2、統計信息
3、自定義統計信息
4、遺傳算法
5、nestloop, hash, merge JOIN
6、支持 plain, sorted, hashed, mixed 聚合策略
src/backend/commands/explain.c
7、39種NODE類型
src/backend/commands/explain.c
Agg:
8、支持并行sort(merge sort)
四、SQL兼容性方面
1、SQL:2011
160/179項 SQL:2011 的實現,覆蓋率到達 89.4%,另外還有大量擴展.
五、擴展接口方面
1、擴展函數
2、擴展聚合
3、擴展類型
4、擴展操作符
5、擴展索引
6、擴展全文檢索辭書
7、擴展編程語言
https://wiki.postgresql.org/wiki/PL_Matrix
8、擴展外部數據源
https://wiki.postgresql.org/wiki/Fdw
9、擴展數據采樣接口
10、擴展custom scan接口
https://github.com/pg-strom/devel
11、擴展WAL接口
12、擴展GiST索引
13、擴展SP-GiST索引
14、擴展GIN索引
15、擴展BRIN索引
六、橫向生態 - 插件
PostgreSQL 的擴展接口豐富,使得在開源、商業生態中有非常多PostgreSQL的擴展插件.
1、內置插件
2、pgxn
3、pgfoundry
4、github
5、獨立插件生態:
商業數據庫、數據庫支持服務公司、用戶、個人、高校、應用軟件開發商、其他開源社區.
例如 PostGIS, pgrouting, pipelinedb流計算插件, timescaledb時序插件, rdkit化學插件, madlib機器學習插件, plr R語言插件, postbis DNA插件, imgsmlr圖像特征插件, pgfingerprint指紋特征插件 等.
七、生態方面
1、內核生態
commitfest
內核
核心組會議
mail list
活躍度
postgresql wiki
postgresql in wiki
2、高校生態
PostgreSQL起源伯克利大學,與高校有非常深的淵源,也被業界貼上了學院派數據庫的標簽.同時PG社區趨于遵從行業尺度設計,代碼嚴謹、工整,許多高校將PG用于數據庫教學.
3、開發者生態
4、最終用戶生態, user groups
http://cn.bing.com/search?q=postgresql+user+group&qs=n&form=QBLH&sp=-1&pq=postgresql+user+group&sc=0-21&sk=&cvid=A865739EF479477EB27A3A8DB9895CC1
5、技術支持服務生態
全球有很多技術支持服務商業公司,此中不乏PostgreSQL社區的核心貢獻者.
5.1、EDB
5.2、2ND
5.3、postgrespro(oleg)
5.4、PGEXPERT
5.5、河馬(tom lane)
5.6、cybertec
5.7、阿里云
5.8、stackoverflow
6、全球主要貢獻者
八、業務場景
1、功能強年夜,支持非常多業務場景
《PostgreSQL 179 種場景 - 案例實踐》
2、HTAP發展方向
《數據庫任督二脈 - 數據與計算的生態融合》
九、其他
功能強年夜,同時簡單易用
《PostgreSQL on Linux 最佳部署手冊》
《PostgreSQL 前世此生》
《數據庫選型思考》
《數據庫選型之 - 年夜象十八摸 - 致 架構師、開發者》
《為什么PostgreSQL是“最先進的開源數據庫”》是否對您有啟發,歡迎查看更多與《為什么PostgreSQL是“最先進的開源數據庫”》相關教程,學精學透。維易PHP學院為您提供精彩教程。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/9192.html