天天看點

為什麼PostgreSQL是"最先進的開源資料庫"

打開postgresql網站,你會看到這樣的flag。

the world's most advanced open source database.

為什麼PostgreSQL是"最先進的開源資料庫"

那麼它從何而來呢?

從個人對資料庫的角度,在幾個方面來分析一下

除了常見類型還包括擴充類型

24、擴充類型,見擴充章節

<a href="https://www.postgresql.org/docs/10/static/functions-net.html">https://www.postgresql.org/docs/10/static/functions-net.html</a>

<a href="https://www.postgresql.org/docs/10/static/functions-xml.html">https://www.postgresql.org/docs/10/static/functions-xml.html</a>

<a href="https://github.com/digoal/blog/blob/master/201705/20170521_01.md">《postgresql 鎖等待監控 珍藏級sql - 誰堵塞了誰》</a>

1、認證模式

<a href="https://www.postgresql.org/docs/10/static/auth-methods.html#auth-password">秘鑰認證</a>

<a href="https://www.postgresql.org/docs/10/static/auth-methods.html#gssapi-auth">gssapi 認證</a>

<a href="https://www.postgresql.org/docs/10/static/auth-methods.html#sspi-auth">sspi 認證</a>

<a href="https://www.postgresql.org/docs/10/static/auth-methods.html#auth-ident">ident 認證</a>

<a href="https://www.postgresql.org/docs/10/static/auth-methods.html#auth-peer">peer 認證</a>

<a href="https://www.postgresql.org/docs/10/static/auth-methods.html#auth-ldap">ldap 認證</a>

<a href="https://www.postgresql.org/docs/10/static/auth-methods.html#auth-radius">radius 認證</a>

<a href="https://www.postgresql.org/docs/10/static/auth-methods.html#auth-cert">certificate 認證</a>

<a href="https://www.postgresql.org/docs/10/static/auth-methods.html#auth-pam">pam 認證</a>

<a href="https://www.postgresql.org/docs/10/static/auth-methods.html#auth-bsd">bsd 認證</a>

<a href="https://github.com/postgrespro/pg_probackup">https://github.com/postgrespro/pg_probackup</a>

<a href="https://www.postgresql.org/docs/10/static/parallel-query.html">https://www.postgresql.org/docs/10/static/parallel-query.html</a>

fdw + inherit + append parallel

<a href="https://www.postgresql.org/docs/10/static/postgres-fdw.html">https://www.postgresql.org/docs/10/static/postgres-fdw.html</a>

<a href="https://www.postgresql.org/docs/10/static/tutorial-inheritance.html">https://www.postgresql.org/docs/10/static/tutorial-inheritance.html</a>

1、llvm

<a href="https://github.com/digoal/blog/blob/master/201706/201703/20170330_02.md">《postgresql 10.0 preview 性能增強 - 推出jit開發架構(朝着htap邁進)》</a>

2、向量計算

<a href="https://github.com/digoal/blog/blob/master/201706/201702/20170225_01.md">《postgresql 向量化執行插件(瓦片式實作) 10x提速olap》</a>

3、列存儲

<a href="https://github.com/digoal/blog/blob/master/201706/201612/20161216_01.md">《分析加速引擎黑科技 - llvm、列存、多核并行、算子複用 大聯姻 - 一起來開啟postgresql的百寶箱》</a>

6、支援 plain, sorted, hashed, mixed 聚合政策

src/backend/commands/explain.c

7、39種node類型

8、支援并行sort(merge sort)

160/179項 sql:2011 的實作,覆寫率達到 89.4%,另外還有大量擴充。

<a href="https://wiki.postgresql.org/wiki/pl_matrix">https://wiki.postgresql.org/wiki/pl_matrix</a>

<a href="https://wiki.postgresql.org/wiki/fdw">https://wiki.postgresql.org/wiki/fdw</a>

<a href="https://github.com/pg-strom/devel">https://github.com/pg-strom/devel</a>

postgresql 的擴充接口豐富,使得在開源、商業生态中有非常多postgresql的擴充插件。

5、獨立插件生态:

商業資料庫、資料庫支援服務公司、使用者、個人、高校、應用軟體開發商、其他開源社群。

例如 postgis, pgrouting, pipelinedb流計算插件, timescaledb時序插件, rdkit化學插件, madlib機器學習插件, plr r語言插件, postbis dna插件, imgsmlr圖像特征插件, pgfingerprint指紋特征插件 等.

1、核心生态

<a href="https://commitfest.postgresql.org/">commitfest</a>

<a href="https://git.postgresql.org/gitweb/">核心</a>

<a href="http://www.pgconf.org/">核心組會議</a>

<a href="https://www.postgresql.org/list/#developer">mail list</a>

<a href="https://github.com/postgres/postgres/graphs/contributors">活躍度</a>

<a href="https://wiki.postgresql.org/wiki/main_page">postgresql wiki</a>

<a href="https://en.wikipedia.org/wiki/postgresql">postgresql in wiki</a>

postgresql起源伯克利大學,與高校有非常深的淵源,也被業界貼上了學院派資料庫的标簽。同時pg社群趨于遵從行業标準設計,代碼嚴謹、工整,許多高校将pg用于資料庫教學。

<a href="http://cn.bing.com/search?q=postgresql+user+group&amp;qs=n&amp;form=qblh&amp;sp=-1&amp;pq=postgresql+user+group&amp;sc=0-21&amp;sk=&amp;cvid=a865739ef479477eb27a3a8db9895cc1">http://cn.bing.com/search?q=postgresql+user+group&amp;qs=n&amp;form=qblh&amp;sp=-1&amp;pq=postgresql+user+group&amp;sc=0-21&amp;sk=&amp;cvid=a865739ef479477eb27a3a8db9895cc1</a>

全球有很多技術支援服務商業公司,其中不乏postgresql社群的核心貢獻者。

1、功能強大,支援非常多業務場景

<a href="https://github.com/digoal/blog/blob/master/201706/20170601_02.md">《postgresql 179 種場景 - 案例實踐》</a>

2、htap發展方向

<a href="https://github.com/digoal/blog/blob/master/201706/201705/20170526_01.md">《資料庫任督二脈 - 資料與計算的生态融合》</a>

功能強大,同時簡單易用

<a href="https://github.com/digoal/blog/blob/master/201611/20161121_01.md">《postgresql on linux 最佳部署手冊》</a>

<a href="https://github.com/digoal/blog/blob/master/201609/20160929_02.md">《postgresql 前世今生》</a>

<a href="https://github.com/digoal/blog/blob/master/201702/20170208_03.md">《資料庫選型思考》</a>

<a href="https://github.com/digoal/blog/blob/master/201702/20170209_01.md">《資料庫選型之 - 大象十八摸 - 緻 架構師、開發者》</a>