新版PostgreSQL開源數(shù)據(jù)庫內(nèi)置了被廣泛使用的JSON數(shù)據(jù)交換格式,并將目標鎖定為以MongoDB為代表的非關(guān)系型數(shù)據(jù)存儲中的NoSQL市場。
PostgreSQL在周四發(fā)布了PostgreSQL 9.4首個測試版。該測試版包括有大量針對快速增長的Web應(yīng)用的新功能。在這些Web應(yīng)用中,許多都需求快速存儲和檢索海量用戶數(shù)據(jù)。用戶通常會選擇一些專門針對工作負載之類的NoSQL數(shù)據(jù)庫。為此PostgreSQL背后的開發(fā)者社區(qū)正在升級他們的數(shù)據(jù)庫以更好的滿足這些用戶需求。
由于JSON正在迅速成為在不同系統(tǒng)中共享數(shù)據(jù)的一種新格式,尤其是在使用REST(代表性狀態(tài)傳輸)協(xié)議的系統(tǒng)中,因此PostgreSQL 9.4對JSON提供了原生支持。MongoDB文檔數(shù)據(jù)庫的成功在很大程度上要歸功于JSON使用量的迅速增長。
PostgreSQL用于存儲JSON的結(jié)構(gòu)化格式JSONB消除了在應(yīng)用于數(shù)據(jù)庫之前需求重新調(diào)整文檔的需求。這使得PostgreSQL不僅能夠像MongoDB一樣迅速地獲取文檔,同時還能夠保持不可分割性、一致性、獨立性、持久性這四大數(shù)據(jù)[注]庫事務(wù)正確執(zhí)行所需的基本要素。PostgreSQL還提供了包括索引服務(wù)、功能和JSON數(shù)據(jù)的操作人員在內(nèi)的一整套服務(wù)。
雖然以前的PostGreSQL版本也支持JSON,但是它們是以文本格式存儲JSON文檔,因此存儲和檢索需要花上較長的時間。除了原生支持JSON外,PostgreSQL還具有許多新的功能。新的版本擁有一個新的API(應(yīng)用程序接口),其可以對復制流中的數(shù)據(jù)進行解碼。這為第三方軟件提供商創(chuàng)建更多響應(yīng)式復制系統(tǒng)鋪平了道路。新的物化視圖(Materialized Views)功能允許快速更新綜合報告。通過新的修改系統(tǒng)設(shè)置(Alter System Set)功能,管理員可以在SQL命令行中直接修改PostgreSQL配置文件。
其它的一些新功能還包括引入動態(tài)后臺線程處理、數(shù)組處理、表函數(shù)等。此外,新版本還采取了一些提升總體性能的措施。
PostgreSQL為市場中第二大被廣泛使用的開源數(shù)據(jù)庫,緊隨其后的是MySQL。在Sun微系統(tǒng)公司收購MySQL后,甲骨文又于2010年收購了Sun,這使得部分用戶由MySQL遷移至PostgreSQL上。與PostgreSQL一樣,MySQL也開始針對NoSQL負載處理進行調(diào)整。