溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用postgresql的原因是什么

發布時間:2020-07-15 17:35:47 來源:億速云 閱讀:242 作者:清晨 欄目:編程語言

這篇文章將為大家詳細講解有關使用postgresql的原因是什么,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

使用postgresql的原因:

Postgresql一直以來對新增數據類型都是開放和友好的系統。 它有數組、空間地理以及很多時間相關的數據類型。幾年前它又增加了兩種值得我們關注和使用的新類型:

JSONB類型

JSONB 是一個二進制的JSON數據類型。它可以使用GIN 和 GIST格式進行索引。你也可以快速查詢完整的JSON 文檔。

Range范圍類型

這個數據類型現在還沒有JSONB有名,范圍類型當它是你需要的類型時,它才會特別地有用。 對時間范圍來說,使用一列字段來表達從一個值到另一個值的范圍特別方便。如果你創建一個日歷應用,或者總是有一個從哪個時間到另一個時間的參數,那范圍類型可以讓你只需使用一個字段值即可。更大的好處還有你可以指定一定的時間范圍不能相互覆蓋、交叉,或是其他對你的應用有用的約束。

Extensions擴展功能

談到Postgres就很難不提到圍繞它存在的生態系統。擴展模塊的使用對社區來說很關鍵,同時也促使Postgres快速發展。擴展使用戶可以讓用戶使用原生的系統連接Postgres核心,而不必是將需求提交給Postgres的核心開發。這也意謂著用戶可以增加豐富的功能而不必與Postgres內核的發布和審核循環連在一起。

一些特別有名的重磅擴展有:

Citus擴展

Citus (這也是我工作的內容) 擴展讓Postgres成為了一個分布式數據庫,它允許用戶很容易地將數據庫進行跨節點的分發。 而對你的應用來說,它仍然像是一個單節點的數據庫,而在后臺,Citus會將數據傳給多個不同的物理設備和多個Postgres的實例。

HyperLogLog擴展

這是一個我個人最為喜歡的擴展,它允許用戶對大量數據的聚集的唯一計數有一個很容易獲得且非常接接近理論值的結果,當然也可以對跨時間聯合、相交等各種操作進行 處理。HyperLogLog和其他的概要邏輯對處理大數據集和分布式數據庫很常用,并且是可以很方便地嵌入Postgres內部使用。

PostGIS擴展

PostGIS不是一個新的擴展,但它是一個值得重提亮點。它通常都是被認為是最先進的地理數據庫。PostGIS增加了新的高級的地理空間數據類型、操作符,使得很多與位置有關的地圖類或是路由類的操作變得很容易。

邏輯復制

多年以來,大家要求最多的就是解決Postgres中設置數據復制的易用性。最早時我們也有基本的復制方案,然后我們有了流復制技術(即二進制的WAL或稱之為預寫日志)。 對類似wal-e這樣的工具,幫助提升了Postgres在災難恢復方面的能力。

現在最近的版本里,我們有了邏輯復制,雖然現在還是需要一個擴展,不是100%內核功能,但最終我們還是有了一個完整的邏輯復制方案。邏輯復制允許用戶發送不同數量的指令,這也意謂著我們可以復制指定的內容或表。

系統擴展性

除了我們見到的Postgres在持續對功能和性能的改進,最近也是特別地增加了并行查詢功能以獲取更好的性能。如果用戶需要超出單個Postgres節點的擴展,我們可以使用前面提到的Citus進行橫向擴展。

豐富的索引

Postgres現在有很多種強大的索引,像GIN 和GiST索引,它們對JSONB數據特別有用。我們現在也有了KNN 和Sp-GiST索引格式,并且還在增加中。

Upsert功能

Upsert在Progress已開發和演變有好幾年了。當然,一些用戶可以通過變通使用CTE功能來實現類似功能,但可能會產生一些條件沖突。這個特性曾是MySQL有但Postgres沒有的功能,現在1年多前,Postgres也有了正式的支持。

外部數據源封裝

當然,還有幾年前就有的外部數據源封裝功能。它允許你映射外部數據系統至Postgres中的表。這就意謂著,比如,我們可以在Postgres中查詢Redis的數據庫。這項功能5年前就一直在不斷地改進和提高,尤其是現在我們已支持可寫的外部數據源處理,即我們在Postgres直接寫入數據至外部數據庫?,F在官方的Postgres發布版本中至少帶有Postgres的FDW,它對跨Postgres實例讀寫數據尤其有用。

更多其他的功能

如果你對以前的PG版本不是太熟,在以前的版本中一些應了解的功能還包括:

窗口函數

一般函數

可定制的語言

NoSQL 數據類型

定制函數

CTE表達式

并行索引創建

事務DDL

外部數據封裝

條件或函數式索引

事件偵聽/提醒

表繼承

事務級的同步復制

關于使用postgresql的原因是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女