創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!
小編給大家分享一下關(guān)于postgresql數(shù)據(jù)庫是什么的詳細(xì)介紹,相信大部分人都還不怎么了解,因此分享這篇文章給大家學(xué)習(xí),希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去學(xué)習(xí)方法吧!
1、什么是PostgreSql:
PostgreSQL 是一個功能強(qiáng)大的開源對象關(guān)系數(shù)據(jù)庫管理系統(tǒng)(ORDBMS)。 用于安全地存儲數(shù)據(jù); 支持最佳做法,并允許在處理請求時檢索它們。
PostgreSQL (也稱為 Post-gress-Q-L )由 PostgreSQL 全球開發(fā)集團(tuán)(全球志愿者團(tuán)隊(duì))開發(fā)。 它不受任何公司或其他私人實(shí)體控制。 它是開源的,其源代碼是免費(fèi)提供的。
PostgreSQL 是跨平臺的,可以在許多操作系統(tǒng)上運(yùn)行,如 Linux,F(xiàn)reeBSD,OS X,Solaris 和 Microsoft Windows 等。
2、為什么要使用PostgreSQL
PostgreSql提供了許多功能,旨在幫助開發(fā)人員構(gòu)建應(yīng)用程序,管理員保護(hù)數(shù)據(jù)完整性并且構(gòu)建容錯環(huán)境,并幫助你管理數(shù)據(jù),無論數(shù)據(jù)集的大小。除了免費(fèi)和開源之外,Postgre SQL還具有高度的可擴(kuò)展性。例如,你可以定義自己的數(shù)據(jù)類型,構(gòu)建自定義SQL函數(shù)(此sql函數(shù)在另一篇帖子討論:點(diǎn)此跳轉(zhuǎn)),甚至可以編寫來自不同編程語言的代碼,而不需要重新編譯數(shù)據(jù)庫。
PostgreSql試圖符合SQL標(biāo)準(zhǔn),在這種標(biāo)準(zhǔn)中,這種一致性不會與傳統(tǒng)特性相矛盾,或者可能導(dǎo)致糟糕的架構(gòu)決策。支持SQL標(biāo)準(zhǔn)所需的許多功能,但是有時候語法或者功能略有不同。隨著時間的推移,可以預(yù)期進(jìn)一步向一致性邁進(jìn)。從2018年10月發(fā)布的11版本開始,PostgreSQL符合SQL:2011核心一致性的179個強(qiáng)制性功能中的至少160個,在此之前,沒有任何關(guān)系型數(shù)據(jù)庫符合此標(biāo)準(zhǔn)的完全符合。
3、下面是PostgreSQL中的各種功能介紹:
(1)數(shù)據(jù)類型:
·基本類型:Integer, Numeric, String, Boolean
·結(jié)構(gòu)類型:Date/Time, Array, Range, UUID
·文檔類型:JSON/JSONB, XML, Key-value(Hstore)
·幾何類型:Point, Line, Circle, Polygon
·自定義類型:Composite, Custom Types
(2)數(shù)據(jù)的完整性
·唯一性,不為空
·主鍵
·外鍵
·排除約束
·顯式鎖定,咨詢鎖定
(3)并發(fā)性,性能
·索引:
·高級索引
·復(fù)雜的查詢計劃期/優(yōu)化器
·交互
·多版本并發(fā)控制(MVCC)
·讀取查詢的并行化和構(gòu)建B樹索引
·表分區(qū)
·Sql標(biāo)準(zhǔn)中定義的所有事物隔離級別,包括Serializable
·即時表達(dá)式匯編(JIT)
(4)可靠性,災(zāi)難恢復(fù)
·預(yù)寫日志(WAL)
·復(fù)制:異步,同步,邏輯
·時間點(diǎn)恢復(fù)(pitr),主動備用
·表空間
(5)安全性
·身份驗(yàn)證:GSSAPI, SSPI, LDAP, SCRAM-SHA-256, 證書等
·強(qiáng)大的訪問控制系統(tǒng)
·列和行級安全性
(6)可擴(kuò)展性
·存儲的功能和程序
·程序語言:PL/PGSQL, Perl, Python (more)
·外部數(shù)據(jù)包裝器:使用標(biāo)準(zhǔn)SQL接口連接到其他數(shù)據(jù)庫或流
·許多提供附加功能的擴(kuò)展,包括PostGIS
(7)國際化,文本搜索
·支持國際字符集,例如通過ICU校對
·全文檢索
4、對比Mysql:
PostgreSQL的穩(wěn)定性極強(qiáng),Innodb等引擎在崩潰、斷電之類的災(zāi)難場景下抗打擊能力有了長足的進(jìn)步,然而很多Mysql用戶都遇到過Server級的數(shù)據(jù)庫丟失的場景---Mysql系統(tǒng)庫是MyISAM的,相較而言,PG數(shù)據(jù)庫在這方面要好一些。
任何系統(tǒng)都有他的性能極限,在高并發(fā)讀寫,負(fù)載逼近極限下,PG的性能指標(biāo)仍然可以維持雙曲線甚至對數(shù)曲線,到頂峰之后不再下降,而MySQL明細(xì)出現(xiàn)一個波峰后下滑。
PG多年在GIS領(lǐng)域處于優(yōu)勢地位,因?yàn)樗胸S富的幾何類型,實(shí)際上不止幾何類型,PG中有大量的字典、數(shù)組、bitmap等數(shù)據(jù)類型,相比之下MaySQL就差很多,insagram就是因?yàn)镻G的空間數(shù)據(jù)庫擴(kuò)展POSTGIS遠(yuǎn)遠(yuǎn)強(qiáng)于MySQL的my spatial而采用PGSQL的。
PG的“無鎖定”特性非常突出,甚至包括vacuum這樣的整理數(shù)據(jù)空間的操作,這個和PGSSQL的MVCC實(shí)現(xiàn)有關(guān)系。
PG的可以使用函數(shù)和條件索引,這使得PG數(shù)據(jù)庫的調(diào)優(yōu)非常靈活,mysql就沒有這個功能,條件索引在web應(yīng)用中很重要。
PG有極其強(qiáng)悍的SQL編程能力,有豐富的統(tǒng)計函數(shù)和統(tǒng)計語法支持,比如分析函數(shù)(Oracle的叫法,PG里面叫Window函數(shù)),還可以用多種語言來寫存儲過程,對于R的支持也很好。這一點(diǎn)上MySQL就差的很遠(yuǎn),很多分析功能那個都沒有,騰訊內(nèi)部數(shù)據(jù)存儲主要是Mysql,但是主要的數(shù)據(jù)分析就是Hadoop+PGsql。
PG的有很多中集群架構(gòu)可以選擇,plproxy可以支持語句級的鏡像或者分片,slony可以進(jìn)行字段級的同步設(shè)置,standby可以構(gòu)建WAL文件級或者流式的讀寫分離集群,同步頻率和集群策略調(diào)整方便,操作非常簡單。
一般關(guān)系型數(shù)據(jù)庫的字符串有限定長度8k左右,無限長Text類型的功能受限,只能作為外部大數(shù)據(jù)訪問。而PG的TEXT類型可以直接方法,SQL語法內(nèi)置正則表達(dá)式,可以索引,還可以全文檢索,或使用xml xpath。用PG的話,文檔數(shù)據(jù)庫就可以省略了
對于web應(yīng)用來說,復(fù)制的特性很重要,Mysql到現(xiàn)在也是異步復(fù)制,pgsql可以做到同步,異步,半同步復(fù)制。還有mysql的同步是基于binlog復(fù)制,類似oracle golden gate, 是基于stream的復(fù)制,做到同步很困難,這種方式更加適合異地復(fù)制,pgsql的復(fù)制基于wal,可以做到同步復(fù)制。同時pgsql還提供stream復(fù)制。
Pgsql對于numa架構(gòu)的支持要比mysql強(qiáng)一些,比mysql對于讀的性能要好些,pgsql提交可以完全異步,而mysql的內(nèi)存表不夠?qū)嵱茫ū礞i原因)
以上是關(guān)于postgresql數(shù)據(jù)庫是什么的詳細(xì)介紹的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!
分享題目:關(guān)于postgresql數(shù)據(jù)庫是什么的詳細(xì)介紹-創(chuàng)新互聯(lián)
本文來源:http://chinadenli.net/article44/dsigee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、網(wǎng)站改版、網(wǎng)站設(shè)計、Google、微信公眾號、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容