偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

2018,為何你應(yīng)該使用PostgreSQL,這幾個(gè)也許就是理由了

數(shù)據(jù)庫(kù) 其他數(shù)據(jù)庫(kù) PostgreSQL
五年以前,我寫(xiě)了一個(gè)《為何你應(yīng)使用 PostgreSQL》的岾子,引起了廣泛的關(guān)注。一年以后,我增加了一些我漏寫(xiě)的內(nèi)容,這些內(nèi)容我會(huì)在這篇文章的后半部分重述一下要點(diǎn)。但是在最近的4-5年,PostgreSQL有了很多的改進(jìn)和提高,也就有了更多的理由我們?yōu)楹我褂盟,F(xiàn)在這里是一個(gè)新的總結(jié),為何你應(yīng)使用PostgreSQL這一特別棒的數(shù)據(jù)庫(kù)。

五年以前,我寫(xiě)了一個(gè)《為何你應(yīng)使用 PostgreSQL》的岾子,引起了廣泛的關(guān)注。一年以后,我增加了一些我漏寫(xiě)的內(nèi)容,這些內(nèi)容我會(huì)在這篇文章的后半部分重述一下要點(diǎn)。但是在最近的 4-5 年,PostgreSQL 有了很多的改進(jìn)和提高,也就有了更多的理由我們?yōu)楹我褂盟,F(xiàn)在這里是一個(gè)新的總結(jié),為何你應(yīng)使用 PostgreSQL 這一特別棒的數(shù)據(jù)庫(kù)。

[[216147]]

數(shù)據(jù)類型,包括 JSONB 和范圍(Range)類型

Postgres 一直以來(lái)對(duì)新增數(shù)據(jù)類型都是開(kāi)放和友好的系統(tǒng)。 它有數(shù)組、空間地理以及很多時(shí)間相關(guān)的數(shù)據(jù)類型。幾年前它又增加了兩種值得我們關(guān)注和使用的新類型:

  • JSONB 類型 

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

  • Range 范圍類型 

這個(gè)數(shù)據(jù)類型現(xiàn)在還沒(méi)有 JSONB 有名,范圍類型當(dāng)它是你需要的類型時(shí),它才會(huì)特別地有用。 對(duì)時(shí)間范圍來(lái)說(shuō),使用一列字段來(lái)表達(dá)從一個(gè)值到另一個(gè)值的范圍特別方便。如果你創(chuàng)建一個(gè)日歷應(yīng)用,或者總是有一個(gè)從哪個(gè)時(shí)間到另一個(gè)時(shí)間的參數(shù),那范圍類型可以讓你只需使用一個(gè)字段值即可。更大的好處還有你可以指定一定的時(shí)間范圍不能相互覆蓋、交叉,或是其他對(duì)你的應(yīng)用有用的約束。

[[216148]]

Extensions 擴(kuò)展功能

談到 Postgres 就很難不提到圍繞它存在的生態(tài)系統(tǒng)。擴(kuò)展模塊的使用對(duì)社區(qū)來(lái)說(shuō)很關(guān)鍵,同時(shí)也促使 Postgres 快速發(fā)展。擴(kuò)展使用戶可以讓用戶使用原生的系統(tǒng)連接 Postgres 核心,而不必是將需求提交給 Postgres 的核心開(kāi)發(fā)。這也意謂著用戶可以增加豐富的功能而不必與 Postgres 內(nèi)核的發(fā)布和審核循環(huán)連在一起。一些特別有名的重磅擴(kuò)展有:

  • Citus 擴(kuò)展 

Citus (這也是我工作的內(nèi)容) 擴(kuò)展讓 Postgres 成為了一個(gè)分布式數(shù)據(jù)庫(kù),它允許用戶很容易地將數(shù)據(jù)庫(kù)進(jìn)行跨節(jié)點(diǎn)的分發(fā)。 而對(duì)你的應(yīng)用來(lái)說(shuō),它仍然像是一個(gè)單節(jié)點(diǎn)的數(shù)據(jù)庫(kù),而在后臺(tái),Citus 會(huì)將數(shù)據(jù)傳給多個(gè)不同的物理設(shè)備和多個(gè) Postgres 的實(shí)例。

  • HyperLogLog 擴(kuò)展 

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

  • PostGIS 擴(kuò)展 

PostGIS 不是一個(gè)新的擴(kuò)展,但它是一個(gè)值得重提亮點(diǎn)。它通常都是被認(rèn)為是***進(jìn)的地理數(shù)據(jù)庫(kù)。PostGIS 增加了新的高級(jí)的地理空間數(shù)據(jù)類型、操作符,使得很多與位置有關(guān)的地圖類或是路由類的操作變得很容易。

邏輯復(fù)制

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

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

系統(tǒng)擴(kuò)展性

除了我們見(jiàn)到的 Postgres 在持續(xù)對(duì)功能和性能的改進(jìn),最近也是特別地增加了并行查詢功能以獲取更好的性能。如果用戶需要超出單個(gè) Postgres 節(jié)點(diǎn)的擴(kuò)展,我們可以使用前面提到的 Citus 進(jìn)行橫向擴(kuò)展。

豐富的索引

Postgres 現(xiàn)在有很多種強(qiáng)大的索引,像 GIN 和 GiST 索引,它們對(duì) JSONB 數(shù)據(jù)特別有用。我們現(xiàn)在也有了 KNN 和 Sp-GiST 索引格式,并且還在增加中。

Upsert 功能

Upsert 在 Progress 已開(kāi)發(fā)和演變有好幾年了。當(dāng)然,一些用戶可以通過(guò)變通使用 CTE 功能來(lái)實(shí)現(xiàn)類似功能,但可能會(huì)產(chǎn)生一些條件沖突。這個(gè)特性曾是 MySQL 有但 Postgres 沒(méi)有的功能,現(xiàn)在 1 年多前,Postgres 也有了正式的支持。

外部數(shù)據(jù)源封裝

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

更多其他的功能 

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

  • 窗口函數(shù)
  • 一般函數(shù)
  • 可定制的語(yǔ)言
  • NoSQL 數(shù)據(jù)類型
  • 定制函數(shù)
  • CTE 表達(dá)式
  • 并行索引創(chuàng)建
  • 事務(wù) DDL
  • 外部數(shù)據(jù)封裝
  • 條件或函數(shù)式索引
  • 事件偵聽(tīng) / 提醒
  • 表繼承
  • 事務(wù)級(jí)的同步復(fù)制 
責(zé)任編輯:龐桂玉 來(lái)源: ITPUB
相關(guān)推薦

2017-12-02 23:23:21

云計(jì)算企業(yè)云存儲(chǔ)

2017-05-23 15:00:06

PythonDjangoadmin

2022-04-07 07:36:04

APIJava 8JWT

2021-01-05 06:42:23

JVM

2021-06-11 13:59:22

CSS原子類

2015-12-21 10:05:33

2021-08-09 14:47:34

Go語(yǔ)言開(kāi)發(fā)

2023-11-03 00:28:44

ApacheFlink

2018-09-18 14:26:11

2023-11-30 08:19:52

偽類CSS

2019-09-09 16:30:42

Redis架構(gòu)數(shù)據(jù)庫(kù)

2013-01-18 08:53:27

Android開(kāi)發(fā)學(xué)習(xí)Android

2016-07-22 15:22:52

2016-02-22 10:46:02

Java排行第一

2020-10-25 08:45:38

IPv6網(wǎng)絡(luò)協(xié)議網(wǎng)絡(luò)

2023-09-03 22:46:27

數(shù)據(jù)庫(kù)PostgreSQL

2017-09-23 15:17:21

散熱筆記本電腦藍(lán)屏

2018-07-31 09:00:00

網(wǎng)站優(yōu)化工具

2018-06-15 09:23:23

iOS安卓系統(tǒng)

2024-08-30 08:12:17

開(kāi)源微信小程序
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)