国产中文字幕免费观看_国产高清精品软男同_日韩免费视频播放_亚洲午夜激情

聚集網(wǎng)(jujiwang.com) - 收錄免費(fèi)分類目錄信息軟文發(fā)布網(wǎng)址提交
免費(fèi)加入

PostgreSQL 9.0:開創(chuàng)數(shù)據(jù)庫新時(shí)代的全面指南 (POSTGRESQL和mysql區(qū)別)

文章編號(hào):11734時(shí)間:2024-10-01人氣:


引言

PostgreSQL 9.0 是開源關(guān)系型數(shù)據(jù)庫管理系統(tǒng) (RDBMS) 的一個(gè)里程碑版本,以其強(qiáng)大的功能、可擴(kuò)展性和可靠性而聞名。本文將深入探討 PostgreSQL 9.0 的新特性,并將其與流行的競(jìng)爭(zhēng)對(duì)手 MySQL 進(jìn)行比較。

PostgreSQL 9.0 的新特性

PostgreSQL 9.0 引入了一些開創(chuàng)性的特性,包括:

熱備份

熱備份允許在數(shù)據(jù)庫正在運(yùn)行時(shí)進(jìn)行備份,而無需任何停機(jī)時(shí)間。這對(duì)于避免數(shù)據(jù)丟失和確保業(yè)務(wù)連續(xù)性至關(guān)重要。

復(fù)制槽

復(fù)制槽使從數(shù)據(jù)庫創(chuàng)建多個(gè)只讀副本成為可能。這提高了可擴(kuò)展性,并允許在讀取密集型應(yīng)用程序中負(fù)載平衡。

PL/Proxy

PL/Proxy 是一種新的編程語言,用于編寫存儲(chǔ)過程和函數(shù)。它提供了更高的安全性

PostgreSQL與MySQL相比,優(yōu)勢(shì)何在?

PostgreSQL類似于Oracle的多進(jìn)程框架,可以支持高并發(fā)的應(yīng)用場(chǎng)景。

如果把OracleDBA轉(zhuǎn)到PostgreSQL數(shù)據(jù)庫上是比較容易的,畢竟PostgreSQL數(shù)據(jù)庫與Oracle數(shù)據(jù)庫很相似。

PostgreSQL幾乎支持所有的SQL標(biāo)準(zhǔn),支持類型相當(dāng)豐富。 PostgreSQL數(shù)據(jù)庫的源代碼要比MySQL數(shù)據(jù)庫的源代碼更容易讀懂,如果團(tuán)隊(duì)的C語言能力比較強(qiáng)的話,就可以在PostgreSQL數(shù)據(jù)庫上做開發(fā),比方說實(shí)現(xiàn)類似greenplum的系統(tǒng),這樣也能與現(xiàn)在的分布式趨勢(shì)接軌。

為了說明PostgreSQL的功能,下面從“從Oracle遷移到Mysql之前必須知道的50件事”簡(jiǎn)要對(duì)比一下PostgreSQL數(shù)據(jù)庫與MySQL數(shù)據(jù)庫之間的差異。

從Oracle遷移到Mysql會(huì)面對(duì)的50件難事

1、對(duì)子查詢的優(yōu)化表現(xiàn)不佳。(PostgreSQL可解決)

2、對(duì)復(fù)雜查詢的處理較弱。(PostgreSQL可解決)

開創(chuàng)數(shù)據(jù)庫新時(shí)代的全面指南

3、查詢優(yōu)化器不夠成熟。(PostgreSQL可解決)

PostgreSQL完全支持SQL-92標(biāo)準(zhǔn),對(duì)SQL的支持也很全面,可以支持復(fù)雜的SQL查詢。

4、性能優(yōu)化工具與度量信息不足。(PostgreSQL可解決)

PostgreSQL提供了執(zhí)行計(jì)劃和詳細(xì)的cost值,可以方便看到SQL的執(zhí)行效率。

5、審計(jì)功能相對(duì)較弱。

6、安全功能不成熟,沒有用戶組與角色的概念,沒有回收權(quán)限的功能(僅可以授予權(quán)限)。 當(dāng)一個(gè)用戶從不同的主機(jī)/網(wǎng)絡(luò)以同樣的用戶名/密碼登錄之后,可能被當(dāng)作完全不同的用戶來處理,沒有類似于Oracle的內(nèi)置的加密功能。

7、身份驗(yàn)證功能是完全內(nèi)置的,不支持LDAP、ActiveDirectory或其它類似的外部身份驗(yàn)證功能。

8、MysqlCluster可能與你想象的有較大差異。

9、存儲(chǔ)過程與觸發(fā)器的功能有限。(PostgreSQL可解決)

PostgreSQL提供了完善的存儲(chǔ)過程和觸發(fā)器支持。

10、垂直擴(kuò)展性較弱。

11、不支持MPP(大規(guī)模并行處理)。(PostgreSQL可解決)

PostgreSQL是類似Oracle數(shù)據(jù)庫的多進(jìn)程架構(gòu),而不像MySQL是多線程的架構(gòu),所以能支持MPP。

9.0

12、支持SMP(對(duì)稱多處理器),但是如果每個(gè)處理器超過4或8個(gè)核(core)時(shí),Mysql的擴(kuò)展性表現(xiàn)較差。

14、可用來編寫存儲(chǔ)過程、觸發(fā)器、計(jì)劃事件以及存儲(chǔ)函數(shù)的語言功能較弱。

15、沒有基于回滾(roll-back)的恢復(fù)功能,只有前滾(roll-forward)的恢復(fù)功能。

16、不支持快照功能。

17、不支持?jǐn)?shù)據(jù)庫鏈(databaselink)。 有一種叫做Federated的存儲(chǔ)引擎可以作為一個(gè)中轉(zhuǎn)將查詢語句傳遞到遠(yuǎn)程服務(wù)器的一個(gè)表上,不過,它功能很粗糙并且漏洞很多。

18、數(shù)據(jù)完整性檢查非常薄弱,即使是基本的完整性約束,也往往不能執(zhí)行。(PostgreSQL可解決)

PostgreSQL提供完善的數(shù)據(jù)完整性檢查機(jī)制,支持外鍵。

19、優(yōu)化查詢語句執(zhí)行計(jì)劃的優(yōu)化器提示非常少。

20、只有一種表連接類型:嵌套循環(huán)連接(nested-loop),不支持排序-合并連接(sort-mergejoin)與散列連接(hashjoin)。(PostgreSQL可解決)

PostgreSQL則支持這些表連接類型。

21、大部分查詢只能使用表上的單一索引;在某些情況下,會(huì)存在使用多個(gè)索引的查詢,但是查詢優(yōu)化器通常會(huì)低估其成本,它們常常比表掃描還要慢。(PostgreSQL可解決)

PostgreSQL數(shù)據(jù)不存在這個(gè)問題,假設(shè)表T的兩個(gè)字段col1的col2上有兩個(gè)索引,idx_1和idx_2,那么select*fromtwherecol1=:aandcol2=:b;查詢時(shí),PostgreSQL數(shù)據(jù)庫有可能把這個(gè)查詢轉(zhuǎn)化為select*fromtwherecol1=:aintersectselect*fromtwherecol2=:b,這樣兩個(gè)索引都可以使用上。

22、不支持位圖索引(bitmapindex)。 每種存儲(chǔ)引擎都支持不同類型的索引。 大部分存儲(chǔ)引擎都支持B-Tree索引。

23、管理工具較少,功能也不夠成熟。

24、沒有成熟能夠令人滿意的IDE工具與調(diào)試程序。 可能不得不在文本編輯器中編寫存儲(chǔ)過程,并且通過往表(調(diào)試日志表)中插入記錄的方式來做調(diào)試。

25、每個(gè)表都可以使用一種不同的存儲(chǔ)引擎。(PostgreSQL可解決)

26、每個(gè)存儲(chǔ)引擎在行為表現(xiàn)、特性以及功能上都可能有很大差異。(PostgreSQL可解決)

27、大部分存儲(chǔ)引擎都不支持外鍵。(PostgreSQL可解決)

28、默認(rèn)的存儲(chǔ)引擎(MyISAM)不支持事務(wù),并且很容易損壞。(PostgreSQL可解決)

29、最先進(jìn)最流行的存儲(chǔ)引擎InnoDB由Oracle擁有。(PostgreSQL可解決)

30、有些執(zhí)行計(jì)劃只支持特定的存儲(chǔ)引擎。 特定類型的Count查詢,在這種存儲(chǔ)引擎中執(zhí)行很快,在另外一種存儲(chǔ)引擎中可能會(huì)很慢。 (PostgreSQL可解決)

PostgreSQL只有一種存儲(chǔ)引擎,所以不存在上面的情況。 而PostgreSQL支持完善的事務(wù)。

31、執(zhí)行計(jì)劃并不是全局共享的,,僅僅在連接內(nèi)部是共享的。

32、全文搜索功能有限,只適用于非事務(wù)性存儲(chǔ)引擎。 Ditto用于地理信息系統(tǒng)/空間類型和查詢。 (PostgreSQL可解決)

PostgreSQL數(shù)據(jù)庫支持全文搜索,支持更多類型的索引,如B-tree,R-tree,Hash,GiST,GIN,R-tree,GIST,GIN索引可用于空間類型和查詢。

33、沒有資源控制。 一個(gè)完全未經(jīng)授權(quán)的用戶可以毫不費(fèi)力地耗盡服務(wù)器的所有內(nèi)存并使其崩潰,或者可以耗盡所有CPU資源。

34、沒有集成商業(yè)智能(businessintelligence),OLAP**數(shù)據(jù)集等軟件包。

35、沒有與GridControl類似的工具

36、沒有類似于RAC的功能。 如果你問”如何使用Mysql來構(gòu)造RAC”,只能說你問錯(cuò)了問題。

37、不支持用戶自定義類型或域(domain)。(PostgreSQL可解決)

PostgreSQL支持豐富的類型,同時(shí)也支持自定義類型。

38、每個(gè)查詢支持的連接的數(shù)量最大為61。

39、MySQL支持的SQL語法(ANSISQL標(biāo)準(zhǔn))的很小一部分。 不支持遞歸查詢、通用表表達(dá)式(Oracle的with語句)或者窗口函數(shù)(分析函數(shù))。 支持部分類似于Merge或者類似特性的SQL語法擴(kuò)展,不過相對(duì)于Oracle來講功能非常簡(jiǎn)單。 (PostgreSQL可解決)

這些PostgreSQL數(shù)據(jù)庫都支持,如窗口函數(shù)。

40、不支持功能列(基于計(jì)算或者表達(dá)式的列,Oracle11g開始支持計(jì)算列,以及早期版本就支持虛列(rownum,rowid))。

41、不支持函數(shù)索引,只能創(chuàng)建基于具體列的索引。(PostgreSQL可解決)

PostgreSQL支持函數(shù)索引。

42、不支持物化視圖。

43、不同的存儲(chǔ)引擎之間,統(tǒng)計(jì)信息差別很大,并且所有的存儲(chǔ)引擎支持的統(tǒng)計(jì)信息都只支持簡(jiǎn)單的基數(shù)(cardinality)與一定范圍內(nèi)的記錄數(shù)(rows-in-a-range)。 換句話說,數(shù)據(jù)分布統(tǒng)計(jì)信息是有限的。 更新統(tǒng)計(jì)信息的機(jī)制也不多。

44、沒有內(nèi)置的負(fù)載均衡與故障切換機(jī)制。

45、復(fù)制(Replication)功能是異步的,并且有很大的局限性。 例如,它是單線程的(single-threaded),因此一個(gè)處理能力更強(qiáng)的Slave的恢復(fù)速度也很難跟上處理能力相對(duì)較慢的Master。

46、Cluster并不如想象的那么完美。 或許我已經(jīng)提過這一點(diǎn),但是這一點(diǎn)值得再說一遍。

47、數(shù)據(jù)字典(INFORMATION_SCHEMA)功能很有限,并且訪問速度很慢(在繁忙的系統(tǒng)上還很容易發(fā)生崩潰)。

48、不支持在線的AlterTable操作。

49、不支持Sequence。(PostgreSQL可解決)

PostgreSQL支持sequence。

50、類似于ALTERTABLE或CREATETABLE一類的操作都是非事務(wù)性的。 它們會(huì)提交未提交的事務(wù),并且不能回滾也不能做災(zāi)難恢復(fù)。 Schame被保存在文件系統(tǒng)上,這一點(diǎn)與它使用的存儲(chǔ)引擎無關(guān)。 (PostgreSQL可解決)

PostgreSQL不存在這個(gè)問題。

每種數(shù)據(jù)庫都有不同的應(yīng)用場(chǎng)景

PostgreSQL具備了更高的可靠性,對(duì)數(shù)據(jù)一致性、完整性的支持高于MySQL,因此PostgreSQL更加適合嚴(yán)格的企業(yè)應(yīng)用場(chǎng)景,MySQL查詢速度較快,更適合業(yè)務(wù)邏輯相對(duì)簡(jiǎn)單、數(shù)據(jù)可靠性要求較低的互聯(lián)網(wǎng)場(chǎng)景。

以上個(gè)人淺見,歡迎批評(píng)指正。

認(rèn)同我的看法,請(qǐng)點(diǎn)個(gè)贊再走,感謝!

喜歡我的,請(qǐng)關(guān)注我,再次感謝!

MySQL與PostgreSQL比較 哪個(gè)數(shù)據(jù)庫更好

特性MySQLPostgreSQL實(shí)例通過執(zhí)行 MySQL 命令(mysqld)啟動(dòng)實(shí)例。 一個(gè)實(shí)例可以管理一個(gè)或多個(gè)數(shù)據(jù)庫。 一臺(tái)服務(wù)器可以運(yùn)行多個(gè) mysqld 實(shí)例。 一個(gè)實(shí)例管理器可以監(jiān)視 mysqld 的各個(gè)實(shí)例。 通過執(zhí)行 Postmaster 進(jìn)程(pg_ctl)啟動(dòng)實(shí)例。 一個(gè)實(shí)例可以管理一個(gè)或多個(gè)數(shù)據(jù)庫,這些數(shù)據(jù)庫組成一個(gè)集群。 集群是磁盤上的一個(gè)區(qū)域,這個(gè)區(qū)域在安裝時(shí)初始化并由一個(gè)目錄組成,所有數(shù)據(jù)都存儲(chǔ)在這個(gè)目錄中。 使用 initdb 創(chuàng)建第一個(gè)數(shù)據(jù)庫。 一臺(tái)機(jī)器上可以啟動(dòng)多個(gè)實(shí)例。 數(shù)據(jù)庫數(shù)據(jù)庫是命名的對(duì)象集合,是與實(shí)例中的其他數(shù)據(jù)庫分離的實(shí)體。 一個(gè) MySQL 實(shí)例中的所有數(shù)據(jù)庫共享同一個(gè)系統(tǒng)編目。 數(shù)據(jù)庫是命名的對(duì)象集合,每個(gè)數(shù)據(jù)庫是與其他數(shù)據(jù)庫分離的實(shí)體。 每個(gè)數(shù)據(jù)庫有自己的系統(tǒng)編目,但是所有數(shù)據(jù)庫共享 pg_databases。 數(shù)據(jù)緩沖區(qū)通過 innodb_buffer_pool_size 配置參數(shù)設(shè)置數(shù)據(jù)緩沖區(qū)。 這個(gè)參數(shù)是內(nèi)存緩沖區(qū)的字節(jié)數(shù),InnoDB 使用這個(gè)緩沖區(qū)來緩存表的數(shù)據(jù)和索引。 在專用的數(shù)據(jù)庫服務(wù)器上,這個(gè)參數(shù)最高可以設(shè)置為機(jī)器物理內(nèi)存量的 80%。 ShaRed_buffers 緩存。 在默認(rèn)情況下分配 64 個(gè)緩沖區(qū)。 默認(rèn)的塊大小是 8K。 可以通過設(shè)置 文件中的 shared_buffers 參數(shù)來更新緩沖區(qū)緩存。 數(shù)據(jù)庫連接客戶機(jī)使用 CONNECT 或 Use 語句連接數(shù)據(jù)庫,這時(shí)要指定數(shù)據(jù)庫名,還可以指定用戶 id 和密碼。 使用角色管理數(shù)據(jù)庫中的用戶和用戶組。 客戶機(jī)使用 connect 語句連接數(shù)據(jù)庫,這時(shí)要指定數(shù)據(jù)庫名,還可以指定用戶 id 和密碼。 使用角色管理數(shù)據(jù)庫中的用戶和用戶組。 身份驗(yàn)證MySQL 在數(shù)據(jù)庫級(jí)管理身份驗(yàn)證。 基本只支持密碼認(rèn)證。 PostgreSQL 支持豐富的認(rèn)證方法:信任認(rèn)證、口令認(rèn)證、Kerberos 認(rèn)證、基于 Ident 的認(rèn)證、LDAP 認(rèn)證、PAM 認(rèn)證加密可以在表級(jí)指定密碼來對(duì)數(shù)據(jù)進(jìn)行加密。 還可以使用 AES_ENCRYPT 和 AES_DECRYPT 函數(shù)對(duì)列數(shù)據(jù)進(jìn)行加密和解密。 可以通過 SSL 連接實(shí)現(xiàn)網(wǎng)絡(luò)加密。 可以使用 pgcrypto 庫中的函數(shù)對(duì)列進(jìn)行加密/解密。 可以通過 SSL 連接實(shí)現(xiàn)網(wǎng)絡(luò)加密。 審計(jì)可以對(duì) querylog 執(zhí)行 grep。 可以在表上使用 PL/pgSQL 觸發(fā)器來進(jìn)行審計(jì)。 查詢解釋使用 EXPLAIN 命令查看查詢的解釋計(jì)劃。 使用 EXPLAIN 命令查看查詢的解釋計(jì)劃。 備份、恢復(fù)和日志InnoDB 使用寫前(write-ahead)日志記錄。 支持在線和離線完全備份以及崩潰和事務(wù)恢復(fù)。 需要第三方軟件才能支持熱備份。 在數(shù)據(jù)目錄的一個(gè)子目錄中維護(hù)寫前日志。 支持在線和離線完全備份以及崩潰、時(shí)間點(diǎn)和事務(wù)恢復(fù)。 可以支持熱備份。 JDBC 驅(qū)動(dòng)程序可以從 參考資料 下載 JDBC 驅(qū)動(dòng)程序。 可以從 參考資料 下載 JDBC 驅(qū)動(dòng)程序。 表類型取決于存儲(chǔ)引擎。 例如,NDB 存儲(chǔ)引擎支持分區(qū)表,內(nèi)存引擎支持內(nèi)存表。 支持臨時(shí)表、常規(guī)表以及范圍和列表類型的分區(qū)表。 不支持哈希分區(qū)表。 由于PostgreSQL的表分區(qū)是通過表繼承和規(guī)則系統(tǒng)完成了,所以可以實(shí)現(xiàn)更復(fù)雜的分區(qū)方式。 索引類型取決于存儲(chǔ)引擎。 MyISAM:BTREE,InnoDB:BTREE。 支持 B-樹、哈希、R-樹和 Gist 索引。 約束支持主鍵、外鍵、惟一和非空約束。 對(duì)檢查約束進(jìn)行解析,但是不強(qiáng)制實(shí)施。 支持主鍵、外鍵、惟一、非空和檢查約束。 存儲(chǔ)過程和用戶定義函數(shù)支持 CREATE PROCEDURE 和 CREATE FUNCTION 語句。 存儲(chǔ)過程可以用 SQL 和 C++ 編寫。 用戶定義函數(shù)可以用 SQL、C 和 C++ 編寫。 沒有單獨(dú)的存儲(chǔ)過程,都是通過函數(shù)實(shí)現(xiàn)的。 用戶定義函數(shù)可以用 PL/pgSQL(專用的過程語言)、PL/Tcl、PL/Perl、PL/Python 、SQL 和 C 編寫。 觸發(fā)器支持行前觸發(fā)器、行后觸發(fā)器和語句觸發(fā)器,觸發(fā)器語句用過程語言復(fù)合語句編寫。 支持行前觸發(fā)器、行后觸發(fā)器和語句觸發(fā)器,觸發(fā)器過程用 C 編寫。 系統(tǒng)配置文件數(shù)據(jù)庫配置客戶機(jī)連接文件_ 支持有限的 XML 支持。 有限的 XML 支持。 數(shù)據(jù)訪問和管理服務(wù)器OPTIMIZE TABLE —— 回收未使用的空間并消除數(shù)據(jù)文件的碎片myisamchk -analyze —— 更新查詢優(yōu)化器所使用的統(tǒng)計(jì)數(shù)據(jù)(MyISAM 存儲(chǔ)引擎)mysql —— 命令行工具M(jìn)ySQL Administrator —— 客戶機(jī) GUI 工具Vacuum —— 回收未使用的空間Analyze —— 更新查詢優(yōu)化器所使用的統(tǒng)計(jì)數(shù)據(jù)psql —— 命令行工具pgAdmin —— 客戶機(jī) GUI 工具并發(fā)控制支持表級(jí)和行級(jí)鎖。 InnoDB 存儲(chǔ)引擎支持 READ_COMMITTED、READ_UNCOMMITTED、REPEATABLE_READ 和 SERIALIZABLE。 使用 SET TRANSACTION ISOLATION LEVEL 語句在事務(wù)級(jí)設(shè)置隔離級(jí)別。 支持表級(jí)和行級(jí)鎖。 支持的 ANSI 隔離級(jí)別是 Read Committed(默認(rèn) —— 能看到查詢啟動(dòng)時(shí)數(shù)據(jù)庫的快照)和 Serialization(與 Repeatable Read 相似 —— 只能看到在事務(wù)啟動(dòng)之前提交的結(jié)果)。 使用 SET TRANSACTION 語句在事務(wù)級(jí)設(shè)置隔離級(jí)別。 使用 SET SESSION 在會(huì)話級(jí)進(jìn)行設(shè)置。 MySQL相對(duì)于PostgreSQL的劣勢(shì):MySQLPostgreSQL最重要的引擎InnoDB很早就由Oracle公司控制。 目前整個(gè)MySQL數(shù)據(jù)庫都由Oracle控制。 BSD協(xié)議,沒有被大公司壟斷。 對(duì)復(fù)雜查詢的處理較弱,查詢優(yōu)化器不夠成熟很強(qiáng)大的查詢優(yōu)化器,支持很復(fù)雜的查詢處理。 只有一種表連接類型:嵌套循環(huán)連接(nested-loop),不支持排序-合并連接(sort-merge join)與散列連接(hash join)。 都支持性能優(yōu)化工具與度量信息不足提供了一些性能視圖,可以方便的看到發(fā)生在一個(gè)表和索引上的select、delete、update、insert統(tǒng)計(jì)信息,也可以看到cache命中率。 網(wǎng)上有一個(gè)開源的pgstatspack工具。 InnoDB的表和索引都是按相同的方式存儲(chǔ)。 也就是說表都是索引組織表。 這一般要求主鍵不能太長(zhǎng)而且插入時(shí)的主鍵最好是按順序遞增,否則對(duì)性能有很大影響。 不存在這個(gè)問題。 大部分查詢只能使用表上的單一索引;在某些情況下,會(huì)存在使用多個(gè)索引的查詢,但是查詢優(yōu)化器通常會(huì)低估其成本,它們常常比表掃描還要慢。 不存在這個(gè)問題表增加列,基本上是重建表和索引,會(huì)花很長(zhǎng)時(shí)間。 表增加列,只是在數(shù)據(jù)字典中增加表定義,不會(huì)重建表存儲(chǔ)過程與觸發(fā)器的功能有限。 可用來編寫存儲(chǔ)過程、觸發(fā)器、計(jì)劃事件以及存儲(chǔ)函數(shù)的語言功能較弱除支持pl/pgsql寫存儲(chǔ)過程,還支持perl、python、Tcl類型的存儲(chǔ)過程:pl/perl,pl/python,pl/tcl。 也支持用C語言寫存儲(chǔ)過程。 不支持Sequence。 支持不支持函數(shù)索引,只能在創(chuàng)建基于具體列的索引。 不支持物化視圖。 支持函數(shù)索引,同時(shí)還支持部分?jǐn)?shù)據(jù)索引,通過規(guī)則系統(tǒng)可以實(shí)現(xiàn)物化視圖的功能。 執(zhí)行計(jì)劃并不是全局共享的, 僅僅在連接內(nèi)部是共享的。 執(zhí)行計(jì)劃共享MySQL支持的SQL語法(ANSI SQL標(biāo)準(zhǔn))的很小一部分。 不支持遞歸查詢、通用表表達(dá)式(Oracle的with 語句)或者窗口函數(shù)(分析函數(shù))。 都 支持不支持用戶自定義類型或域(domain)支持。 對(duì)于時(shí)間、日期、間隔等時(shí)間類型沒有秒以下級(jí)別的存儲(chǔ)類型可以精確到秒以下。 身份驗(yàn)證功能是完全內(nèi)置的,不支持操作系統(tǒng)認(rèn)證、PAM認(rèn)證,不支持LDAP以及其它類似的外部身份驗(yàn)證功能。 支持OS認(rèn)證、Kerberos 認(rèn)證 、Ident 的認(rèn)證、LDAP 認(rèn)證、PAM 認(rèn)證不支持database link。 有一種叫做Federated的存儲(chǔ)引擎可以作為一個(gè)中轉(zhuǎn)將查詢語句傳遞到遠(yuǎn)程服務(wù)器的一個(gè)表上,不過,它功能很粗糙并且漏洞很多有dblink,同時(shí)還有一個(gè)dbi-link的東西,可以連接到oracle和mysql上。 Mysql Cluster可能與你的想象有較大差異。 開源的cluster軟件較少。 復(fù)制(Replication)功能是異步的,并且有很大的局限性.例如,它是單線程的(single-threaded),因此一個(gè)處理能力更強(qiáng)的Slave的恢復(fù)速度也很難跟上處理能力相對(duì)較慢的Master.有豐富的開源cluster軟件支持。 explain看執(zhí)行計(jì)劃的結(jié)果簡(jiǎn)單。 explain返回豐富的信息。 類似于ALTER TABLE或CREATE TABLE一類的操作都是非事務(wù)性的.它們會(huì)提交未提交的事務(wù),并且不能回滾也不能做災(zāi)難恢復(fù) DDL也是有事務(wù)的。 PostgreSQL主要優(yōu)勢(shì):1. PostgreSQL完全免費(fèi),而且是BSD協(xié)議,如果你把PostgreSQL改一改,然后再拿去賣錢,也沒有人管你,這一點(diǎn)很重要,這表明了PostgreSQL數(shù)據(jù)庫不會(huì)被其它公司控制。 oracle數(shù)據(jù)庫不用說了,是商業(yè)數(shù)據(jù)庫,不開放。 而MySQL數(shù)據(jù)庫雖然是開源的,但現(xiàn)在隨著SUN被oracle公司收購,現(xiàn)在基本上被oracle公司控制,其實(shí)在SUN被收購之前,MySQL中最重要的InnoDB引擎也是被oracle公司控制的,而在MySQL中很多重要的數(shù)據(jù)都是放在InnoDB引擎中的,反正我們公司都是這樣的。 所以如果MySQL的市場(chǎng)范圍與oracle數(shù)據(jù)庫的市場(chǎng)范圍沖突時(shí),oracle公司必定會(huì)犧牲MySQL,這是毫無疑問的。 2. 與PostgreSQl配合的開源軟件很多,有很多分布式集群軟件,如pgpool、pgcluster、slony、plploxy等等,很容易做讀寫分離、負(fù)載均衡、數(shù)據(jù)水平拆分等方案,而這在MySQL下則比較困難。 3. PostgreSQL源代碼寫的很清晰,易讀性比MySQL強(qiáng)太多了,懷疑MySQL的源代碼被混淆過。 所以很多公司都是基本PostgreSQL做二次開發(fā)的。 4. PostgreSQL在很多方面都比MySQL強(qiáng),如復(fù)雜SQL的執(zhí)行、存儲(chǔ)過程、觸發(fā)器、索引。 同時(shí)PostgreSQL是多進(jìn)程的,而MySQL是線程的,雖然并發(fā)不高時(shí),MySQL處理速度快,但當(dāng)并發(fā)高的時(shí)候,對(duì)于現(xiàn)在多核的單臺(tái)機(jī)器上,MySQL的總體處理性能不如PostgreSQL,原因是MySQL的線程無法充分利用CPU的能力。 目前只想到這些,以后想到再添加,歡迎大家拍磚。 PostgreSQL與oracle或InnoDB的多版本實(shí)現(xiàn)的差別PostgreSQL與oracle或InnoDB的多版本實(shí)現(xiàn)最大的區(qū)別在于最新版本和歷史版本是否分離存儲(chǔ),PostgreSQL不分,而oracle和InnoDB分,而innodb也只是分離了數(shù)據(jù),索引本身沒有分開。 PostgreSQL的主要優(yōu)勢(shì)在于: 1. PostgreSQL沒有回滾段,而oracle與innodb有回滾段,oracle與Innodb都有回滾段。 對(duì)于oracle與Innodb來說,回滾段是非常重要的,回滾段損壞,會(huì)導(dǎo)致數(shù)據(jù)丟失,甚至數(shù)據(jù)庫無法啟動(dòng)的嚴(yán)重問題。 另由于PostgreSQL沒有回滾段,舊數(shù)據(jù)都是記錄在原先的文件中,所以當(dāng)數(shù)據(jù)庫異常crash后,恢復(fù)時(shí),不會(huì)象oracle與Innodb數(shù)據(jù)庫那樣進(jìn)行那么復(fù)雜的恢復(fù),因?yàn)閛racle與Innodb恢復(fù)時(shí)同步需要redo和undo。 所以PostgreSQL數(shù)據(jù)庫在出現(xiàn)異常crash后,數(shù)據(jù)庫起不來的幾率要比oracle和mysql小一些。 2. 由于舊的數(shù)據(jù)是直接記錄在數(shù)據(jù)文件中,而不是回滾段中,所以不會(huì)象oracle那樣經(jīng)常報(bào)ora-錯(cuò)誤。 3. 回滾可以很快完成,因?yàn)榛貪L并不刪除數(shù)據(jù),而oracle與Innodb,回滾時(shí)很復(fù)雜,在事務(wù)回滾時(shí)必須清理該事務(wù)所進(jìn)行的修改,插入的記錄要?jiǎng)h除,更新的記錄要更新回來(見row_undo函數(shù)),同時(shí)回滾的過程也會(huì)再次產(chǎn)生大量的redo日志。 4. WAL日志要比oracle和Innodb簡(jiǎn)單,對(duì)于oracle不僅需要記錄數(shù)據(jù)文件的變化,還要記錄回滾段的變化。 PostgreSQL的多版本的主要劣勢(shì)在于: 1、最新版本和歷史版本不分離存儲(chǔ),導(dǎo)致清理老舊版本需要作更多的掃描,代價(jià)比較大,但一般的數(shù)據(jù)庫都有高峰期,如果我們合理安排VACUUM,這也不是很大的問題,而且在PostgreSQL9.0中VACUUM進(jìn)一步被加強(qiáng)了。 2、由于索引中完全沒有版本信息,不能實(shí)現(xiàn)Coverage index scan,即查詢只掃描索引,直接從索引中返回所需的屬性,還需要訪問表。 而oracle與Innodb則可以;進(jìn)程模式與線程模式的對(duì)比PostgreSQL和oracle是進(jìn)程模式,MySQL是線程模式。 進(jìn)程模式對(duì)多CPU利用率比較高。 進(jìn)程模式共享數(shù)據(jù)需要用到共享內(nèi)存,而線程模式數(shù)據(jù)本身就是在進(jìn)程空間內(nèi)都是共享的,不同線程訪問只需要控制好線程之間的同步。 線程模式對(duì)資源消耗比較少。 所以MySQL能支持遠(yuǎn)比oracle多的更多的連接。 對(duì)于PostgreSQL的來說,如果不使用連接池軟件,也存在這個(gè)問題,但PostgreSQL中有優(yōu)秀的連接池軟件軟件,如pgbouncer和pgpool,所以通過連接池也可以支持很多的連接。 堆表與索引組織表的的對(duì)比Oracle支持堆表,也支持索引組織表PostgreSQL只支持堆表,不支持索引組織表Innodb只支持索引組織表索引組織表的優(yōu)勢(shì):表內(nèi)的數(shù)據(jù)就是按索引的方式組織,數(shù)據(jù)是有序的,如果數(shù)據(jù)都是按主鍵來訪問,那么訪問數(shù)據(jù)比較快。 而堆表,按主鍵訪問數(shù)據(jù)時(shí),是需要先按主鍵索引找到數(shù)據(jù)的物理位置。 索引組織表的劣勢(shì):索引組織表中上再加其它的索引時(shí),其它的索引記錄的數(shù)據(jù)位置不再是物理位置,而是主鍵值,所以對(duì)于索引組織表來說,主鍵的值不能太大,否則占用的空間比較大。 對(duì)于索引組織表來說,如果每次在中間插入數(shù)據(jù),可能會(huì)導(dǎo)致索引分裂,索引分裂會(huì)大大降低插入的性能。 所以對(duì)于使用innodb來說,我們一般最好讓主鍵是一個(gè)無意義的序列,這樣插入每次都發(fā)生在最后,以避免這個(gè)問題。 由于索引組織表是按一個(gè)索引樹,一般它訪問數(shù)據(jù)塊必須按數(shù)據(jù)塊之間的關(guān)系進(jìn)行訪問,而不是按物理塊的訪問數(shù)據(jù)的,所以當(dāng)做全表掃描時(shí)要比堆表慢很多,這可能在OLTP中不明顯,但在數(shù)據(jù)倉庫的應(yīng)用中可能是一個(gè)問題。 PostgreSQL9.0中的特色功能: PostgreSQL中的Hot Standby功能也就是standby在應(yīng)用日志同步時(shí),還可以提供只讀服務(wù),這對(duì)做讀寫分離很有用。 這個(gè)功能是oracle11g才有的功能。 PostgreSQL異步提交(Asynchronous Commit)的功能:這個(gè)功能oracle中也是到oracle11g R2才有的功能。 因?yàn)樵诤芏鄳?yīng)用場(chǎng)景中,當(dāng)宕機(jī)時(shí)是允許丟失少量數(shù)據(jù)的,這個(gè)功能在這樣的場(chǎng)景中就特別合適。 在PostgreSQL9.0中把synchronous_commit設(shè)置為false就打開了這個(gè)功能。 需要注意的是,雖然設(shè)置為了異步提交,當(dāng)主機(jī)宕機(jī)時(shí),PostgreSQL只會(huì)丟失少量數(shù)據(jù),異步提交并不會(huì)導(dǎo)致數(shù)據(jù)損壞而數(shù)據(jù)庫起不來的情況。 MySQL中沒有聽說過有這個(gè)功能。 PostgreSQL中索引的特色功能: PostgreSQL中可以有部分索引,也就是只能表中的部分?jǐn)?shù)據(jù)做索引,create index 可以帶where 條件。 同時(shí)PostgreSQL中的索引可以反向掃描,所以在PostgreSQL中可以不必建專門的降序索引了。

三分鐘!徹底搞懂PostgreSQL 和 MySQL 區(qū)別之分

PostgreSQL 和 MySQL 是將數(shù)據(jù)組織成表的關(guān)系數(shù)據(jù)庫。 這些表可以根據(jù)每個(gè)表共有的數(shù)據(jù)鏈接或關(guān)聯(lián)。 關(guān)系數(shù)據(jù)庫使您的企業(yè)能夠更好地了解可用數(shù)據(jù)之間的關(guān)系,并幫助獲得新的見解以做出更好的決策或發(fā)現(xiàn)新的機(jī)會(huì)。 PostgreSQL 和 MySQL 都依賴于 SQL(結(jié)構(gòu)化查詢語言),這是與管理系統(tǒng)交互的標(biāo)準(zhǔn)語言。 SQL 允許使用具有簡(jiǎn)單結(jié)構(gòu)的幾行源代碼連接表,大多數(shù)非技術(shù)員工可以快速學(xué)習(xí)。 使用 SQL,分析師不需要知道訂單表在磁盤上的位置、如何執(zhí)行查找以查找特定訂單或如何連接訂單表和客戶表。 數(shù)據(jù)庫編譯查詢并計(jì)算出正確的數(shù)據(jù)點(diǎn)。 MySQL 和 PostgreSQL 都支持 JavaScript Object Notation (JSON) 存儲(chǔ)和傳輸數(shù)據(jù),盡管 PostgreSQL 也支持 JSONB,這是 JSON 的二進(jìn)制版本,它消除了鍵的重復(fù)和無關(guān)的空格。 除了傳統(tǒng)的支持機(jī)制外,這兩個(gè)數(shù)據(jù)庫都提供強(qiáng)大的社區(qū)支持。 PostgreSQL,也稱為 Postgres,是一種開源關(guān)系數(shù)據(jù)庫,因其可靠性、靈活性和對(duì)開放技術(shù)標(biāo)準(zhǔn)的支持而享有盛譽(yù)。 PostgreSQL 支持非關(guān)系和關(guān)系數(shù)據(jù)類型。 它被稱為當(dāng)今可用的最兼容、最穩(wěn)定和最成熟的關(guān)系數(shù)據(jù)庫之一,并且可以輕松處理復(fù)雜的查詢。 PostgreSQL 的特性包括: PostgreSQL 這是一個(gè)“一刀切”的解決方案,適用于許多尋求經(jīng)濟(jì)高效的方法來改進(jìn)其數(shù)據(jù)庫管理系統(tǒng) (DBMS) 的企業(yè)。 它具有足夠的可擴(kuò)展性和多功能性,可以通過強(qiáng)大的擴(kuò)展生態(tài)系統(tǒng)快速支持各種專業(yè)用例,涵蓋時(shí)間序列數(shù)據(jù)類型和地理空間分析等工作。 作為開源數(shù)據(jù)庫解決方案構(gòu)建的 PostgreSQL 完全不受許可限制、供應(yīng)商鎖定的可能性或過度部署的風(fēng)險(xiǎn)。 PostgreSQL 通過對(duì)象關(guān)系數(shù)據(jù)庫管理系統(tǒng) (ORDBMS) 進(jìn)行管理。 PostgreSQL 負(fù)責(zé)管理業(yè)務(wù)活動(dòng)的在線事務(wù)處理 (OLTP)協(xié)議的企業(yè)數(shù)據(jù)庫管理員提供了理想的解決方案,包括電子商務(wù)、客戶關(guān)系管理系統(tǒng) (CRM) 和財(cái)務(wù)分類帳。 它也是管理接收、創(chuàng)建和生成的數(shù)據(jù)分析的理想選擇。 這些是 PostgreSQL 的一些主要優(yōu)點(diǎn): MySQL — 一種快速、可靠、可擴(kuò)展且易于使用的開源關(guān)系數(shù)據(jù)庫系統(tǒng) — 旨在處理關(guān)鍵任務(wù)、高負(fù)載的生產(chǎn)應(yīng)用程序。 它是一種常見且易于啟動(dòng)的數(shù)據(jù)庫,內(nèi)存、磁盤和 CPU 利用率較低,有關(guān)系數(shù)據(jù)庫管理系統(tǒng) (RDMS) 管理。 MySQL Community Edition 是一個(gè)由活躍的在線社區(qū)支持的免費(fèi)下載版本。 MySQL 功能包括所有 SQL 標(biāo)準(zhǔn)命令以及事務(wù)和 ACID 合規(guī)性(代表原子性、一致性、隔離性和持久性)。 兩個(gè)最常見的關(guān)系數(shù)據(jù)庫是什么 MySQL 和 Oracle。 MySQL 不是 SQL Server 的同義詞,SQL Server 是 Microsoft 許可產(chǎn)品,與 MAC OS X 缺乏兼容性。 MariaDB 經(jīng)常與 MySQL 混淆,它是 MySQL 的一個(gè)開源分支,速度更快,提供更多存儲(chǔ)引擎 (12),但功能有限。 MySQL 和 MariaDB 使用的存儲(chǔ)引擎都是 InnoDB。 InnoDB 提供標(biāo)準(zhǔn)的 ACID 兼容特性。 與 MySQL 不同,MariaDB 不支持?jǐn)?shù)據(jù)屏蔽或動(dòng)態(tài)列表。 MySQL 通常用作 Web 數(shù)據(jù)庫來存儲(chǔ)各種信息類型,從單個(gè)信息數(shù)據(jù)點(diǎn)到為組織提供的產(chǎn)品或服務(wù)的完整列表。 它是LAMP(Linux 操作系統(tǒng)、Apache HTTP 服務(wù)器、MySQL RDBMS 和 PHP 編程語言)的基礎(chǔ)組件,這是一種有助于創(chuàng)建API、Web 應(yīng)用程序和網(wǎng)站的軟件堆棧模型。 MySQL Workbench 是一個(gè)單一的、集成的可視化 SQL 平臺(tái),用于 MySQL 數(shù)據(jù)庫的創(chuàng)建、開發(fā)、設(shè)計(jì)和管理。 MySQL 為市場(chǎng)提供了許多好處,包括: PostgreSQL 和 MySQL 之間有很多不同之處。 特性、功能和優(yōu)勢(shì)方面的一些差異如下: 總之,PostgreSQL 和 MySQL 都有不同的用途,它們之間的選擇取決于企業(yè)目標(biāo)和資源。 一般來說,PostgreSQL 是一個(gè)更強(qiáng)大、更高級(jí)的數(shù)據(jù)庫管理系統(tǒng),非常適合需要在大型環(huán)境中快速執(zhí)行復(fù)雜查詢的組織。 但是,對(duì)于預(yù)算和空間更受限制的公司來說,MySQL 是一個(gè)理想的解決方案。

MySQL數(shù)據(jù)庫與PostgreSQL數(shù)據(jù)庫比較 哪個(gè)數(shù)據(jù)庫更好些?

如果打算為項(xiàng)目選擇一款免費(fèi)、開源的數(shù)據(jù)庫,那么你可能會(huì)在MySQL與PostgreSQL之間猶豫不定。 MySQL與PostgreSQL都是免費(fèi)、開源、強(qiáng)大、且功能豐富的數(shù)據(jù)庫。 你主要的問題可能是:哪一個(gè)才是最好的開源數(shù)據(jù)庫,MySQL還是PostgreSQL呢?該選擇哪一個(gè)開源數(shù)據(jù)庫呢?

在選擇數(shù)據(jù)庫時(shí),你所做的是個(gè)長(zhǎng)期的決策,因?yàn)楹竺嫒绻俑淖儧Q定將是非常困難且代價(jià)高昂的。 你希望一開始就選擇正確。 兩個(gè)流行的開源數(shù)據(jù)庫MySQL與PostgreSQL常常成為最后要選擇的產(chǎn)品。 對(duì)這兩個(gè)開源數(shù)據(jù)庫的高層次概覽將會(huì)有助于你選擇最適合自己需要的。

MySQL相對(duì)來說比較年輕,首度出現(xiàn)在1994年。 它聲稱自己是最流行的開源數(shù)據(jù)庫。 MySQL就是LAMP(用于Web開發(fā)的軟件包,包括 Linux、Apache及Perl/PHP/Python)中的M。 構(gòu)建在LAMP棧之上的大多數(shù)應(yīng)用都會(huì)使用MySQL,包括那些知名的應(yīng)用,如 WordPress、Drupal、Zend及phpBB等。

一開始,MySQL的設(shè)計(jì)目標(biāo)是成為一個(gè)快速的Web服務(wù)器后端,使用快速的索引序列訪問方法(ISAM),不支持ACID。 經(jīng)過早期快速的發(fā)展之 后,MySQL開始支持更多的存儲(chǔ)引擎,并通過InnoDB引擎實(shí)現(xiàn)了ACID。 MySQL還支持其他存儲(chǔ)引擎,提供了臨時(shí)表的功能(使用MEMORY存 儲(chǔ)引擎),通過MyISAM引擎實(shí)現(xiàn)了高速讀的數(shù)據(jù)庫,此外還有其他的核心存儲(chǔ)引擎與第三方引擎。

MySQL的文檔非常豐富,有很多質(zhì)量不錯(cuò)的免費(fèi)參考手冊(cè)、圖書與在線文檔,還有來自于Oracle和第三方廠商的培訓(xùn)與支持。

MySQL近幾年經(jīng)歷了所有權(quán)的變更和一些頗具戲劇性的事件。 它最初是由MySQL AB開發(fā)的,然后在2008年以10億美金的價(jià)格賣給了Sun公司,Sun公司又在2010年被Oracle收購。 Oracle支持MySQL的多個(gè)版 本:Standard、Enterprise、Classic、Cluster、Embedded與Community。 其中有一些是免費(fèi)下載的,另外一 些則是收費(fèi)的。 其核心代碼基于GPL許可,對(duì)于那些不想使用GPL許可的開發(fā)者與廠商來說還有商業(yè)許可可供使用。

現(xiàn)在,基于最初的MySQL代碼還有更多的數(shù)據(jù)庫可供選擇,因?yàn)閹讉€(gè)核心的MySQL開發(fā)者已經(jīng)發(fā)布了MySQL分支。 最初的MySQL創(chuàng)建者之一 Michael Monty Widenius貌似后悔將MySQL賣給了Sun公司,于是又開發(fā)了他自己的MySQL分支MariaDB,它是免費(fèi)的,基于GPL許可。 知名的 MySQL開發(fā)者Brian Aker所創(chuàng)建的分支Drizzle對(duì)其進(jìn)行了大量的改寫,特別針對(duì)多CPU、云、網(wǎng)絡(luò)應(yīng)用與高并發(fā)進(jìn)行了優(yōu)化。

PostgreSQL

PostgreSQL標(biāo)榜自己是世界上最先進(jìn)的開源數(shù)據(jù)庫。 PostgreSQL的一些粉絲說它能與Oracle相媲美,而且沒有那么昂貴的價(jià)格和傲慢的客服。 它擁有很長(zhǎng)的歷史,最初是1985年在加利福尼亞大學(xué)伯克利分校開發(fā)的,作為Ingres數(shù)據(jù)庫的后繼。

PostgreSQL是完全由社區(qū)驅(qū)動(dòng)的開源項(xiàng)目,由全世界超過1000名貢獻(xiàn)者所維護(hù)。 它提供了單個(gè)完整功能的版本,而不像MySQL那樣提供了 多個(gè)不同的社區(qū)版、商業(yè)版與企業(yè)版。 PostgreSQL基于自由的BSD/MIT許可,組織可以使用、復(fù)制、修改和重新分發(fā)代碼,只需要提供一個(gè)版權(quán)聲 明即可。

可靠性是PostgreSQL的最高優(yōu)先級(jí)。 它以堅(jiān)如磐石的品質(zhì)和良好的工程化而聞名,支持高事務(wù)、任務(wù)關(guān)鍵型應(yīng)用。 PostgreSQL的文檔非 常精良,提供了大量免費(fèi)的在線手冊(cè),還針對(duì)舊版本提供了歸檔的參考手冊(cè)。 PostgreSQL的社區(qū)支持是非常棒的,還有來自于獨(dú)立廠商的商業(yè)支持。

數(shù)據(jù)一致性與完整性也是PostgreSQL的高優(yōu)先級(jí)特性。 PostgreSQL是完全支持ACID特性的,它對(duì)于數(shù)據(jù)庫訪問提供了強(qiáng)大的安全性 保證,充分利用了企業(yè)安全工具,如Kerberos與OpenSSL等。 你可以定義自己的檢查,根據(jù)自己的業(yè)務(wù)規(guī)則確保數(shù)據(jù)質(zhì)量。 在眾多的管理特性 中,point-in-time recovery(PITR)是非常棒的特性,這是個(gè)靈活的高可用特性,提供了諸如針對(duì)失敗恢復(fù)創(chuàng)建熱備份以及快照與恢復(fù)的能力。 但這并不是 PostgreSQL的全部,項(xiàng)目還提供了幾個(gè)方法來管理PostgreSQL以實(shí)現(xiàn)高可用、負(fù)載均衡與復(fù)制等,這樣你就可以使用適合自己特定需求的功能 了。

平臺(tái)

MySQL與PostgreSQL都出現(xiàn)在一些高流量的Web站點(diǎn)上:

MySQL:Slashdot、Twitter、Facebook與Wikipedia

PostgreSQL:Yahoo使用了一個(gè)修改的PostgreSQL數(shù)據(jù)庫來處理每天數(shù)以億計(jì)的事件,還有Reddit和Disqus

MySQL與PostgreSQL都能運(yùn)行在多個(gè)操作系統(tǒng)上,如Linux、Unix、Mac OS X與Windows。 他們都是開源、免費(fèi)的,因此測(cè)試他們時(shí)的唯一代價(jià)就是你的時(shí)間與硬件。 他們都很靈活且具有可伸縮性,可用在小型系統(tǒng)和大型分布式系統(tǒng) 上。 MySQL在一個(gè)領(lǐng)域上要比PostgreSQL更進(jìn)一步,那就是它的觸角延伸到了嵌入式領(lǐng)域,這是通過libmysqld實(shí)現(xiàn)的。 PostgreSQL不支持嵌入式應(yīng)用,依然堅(jiān)守在傳統(tǒng)的客戶端/服務(wù)器架構(gòu)上。

MySQL通常被認(rèn)為是針對(duì)網(wǎng)站與應(yīng)用的快速數(shù)據(jù)庫后端,能夠進(jìn)行快速的讀取和大量的查詢操作,不過在復(fù)雜特性與數(shù)據(jù)完整性檢查方面不太盡如人意。 PostgreSQL是針對(duì)事務(wù)型企業(yè)應(yīng)用的嚴(yán)肅、功能完善的數(shù)據(jù)庫,支持強(qiáng)ACID特性和很多數(shù)據(jù)完整性檢查。 他們二者都在某些任務(wù)上具有很快的速 度,MySQL不同存儲(chǔ)引擎的行為有較大差別。 MyISAM引擎是最快的,因?yàn)樗粓?zhí)行很少的數(shù)據(jù)完整性檢查,適合于后端讀操作較多的站點(diǎn),不過對(duì)于包含 敏感數(shù)據(jù)的讀/寫數(shù)據(jù)庫來說就是個(gè)災(zāi)難了,因?yàn)镸yISAM表最終可能會(huì)損壞。 MySQL提供了修復(fù)MySQL表的工具,不過對(duì)于敏感數(shù)據(jù)來說,支持 ACID特性的InnoDB則是個(gè)更好的選擇。

與之相反,PostgreSQL則是個(gè)只有單一存儲(chǔ)引擎的完全集成的數(shù)據(jù)庫。 你可以通過調(diào)整文件的參數(shù)來改進(jìn)性能,也可以調(diào)整查詢與事務(wù)。 PostgreSQL文檔對(duì)于性能調(diào)優(yōu)提供了非常詳盡的介紹。

MySQL與PostgreSQL都是高可配置的,并且可以針對(duì)不同的任務(wù)進(jìn)行相應(yīng)的優(yōu)化。 他們都支持通過擴(kuò)展來添加額外的功能。

一個(gè)常見的誤解就是MySQL要比PostgreSQL更容易學(xué)習(xí)。 關(guān)系數(shù)據(jù)庫系統(tǒng)都是非常復(fù)雜的,這兩個(gè)數(shù)據(jù)庫的學(xué)習(xí)曲線其實(shí)是差不多的。

標(biāo)準(zhǔn)兼容性

PostgreSQL旨在實(shí)現(xiàn)SQL兼容性(當(dāng)前標(biāo)準(zhǔn)是ANSI-SQL:2008)。 MySQL則兼容大部分SQL,不過還有自己的擴(kuò)展,可以支 持NoSQL特性,這在參考手冊(cè)中都有介紹。 每種方式都有優(yōu)缺點(diǎn)。 兼容標(biāo)準(zhǔn)會(huì)讓數(shù)據(jù)庫管理員、數(shù)據(jù)庫開發(fā)者與應(yīng)用開發(fā)者更舒服一些,因?yàn)檫@意味著他們只需 學(xué)習(xí)一套標(biāo)準(zhǔn)、一套特性和命令即可。 這會(huì)節(jié)省時(shí)間,提升效率,也不會(huì)被鎖定在特定的廠商上。

支持使用非標(biāo)準(zhǔn)的自定義功能的人們認(rèn)為這樣可以快速采用新的特性,而不必等待標(biāo)準(zhǔn)進(jìn)程完成。 ANSI/ISO標(biāo)準(zhǔn)在不斷演化,因此標(biāo)準(zhǔn)兼容性也是個(gè) 變化的目標(biāo):知名的關(guān)系型數(shù)據(jù)庫Microsoft SQL Server、Oracle與IBM DB2也只是部分兼容于標(biāo)準(zhǔn)。

結(jié)論

雖然有不同的歷史、引擎與工具,不過并沒有明確的參考能夠表明這兩個(gè)數(shù)據(jù)庫哪一個(gè)能夠適用于所有情況。 很多組織喜歡使用PostgreSQL,因?yàn)?它的可靠性好,在保護(hù)數(shù)據(jù)方面很擅長(zhǎng),而且是個(gè)社區(qū)項(xiàng)目,不會(huì)陷入廠商的牢籠之中。 MySQL更加靈活,提供了更多選項(xiàng)來針對(duì)不同的任務(wù)進(jìn)行裁剪。 很多時(shí) 候,對(duì)于一個(gè)組織來說,對(duì)某個(gè)軟件使用的熟練程度要比特性上的原因更重要。

三分鐘!徹底搞懂PostgreSQL 和 MySQL 區(qū)別之分

了解PostgreSQL和MySQL之間的區(qū)別對(duì)于選擇合適的關(guān)系數(shù)據(jù)庫至關(guān)重要。 這兩種數(shù)據(jù)庫系統(tǒng)都是用于組織數(shù)據(jù)的表關(guān)聯(lián)型數(shù)據(jù)庫,通過SQL查詢語言進(jìn)行操作,使得非技術(shù)人員也能便捷地處理數(shù)據(jù)。 盡管它們都支持SQL和JSON數(shù)據(jù)格式,但PostgreSQL的特性更為豐富,例如其特有的JSONB格式能優(yōu)化數(shù)據(jù)存儲(chǔ)。 PostgreSQL作為開源的Postgres,以其可靠性、靈活性和對(duì)開放標(biāo)準(zhǔn)的支持而聞名,能夠處理復(fù)雜查詢,適用于需要高效率和多功能性的企業(yè)環(huán)境。 相比之下,MySQL以快速、易用和成本效益高見長(zhǎng),特別適合Web開發(fā)和輕量級(jí)應(yīng)用。 它常見于LAMP架構(gòu),易于部署和管理,而MySQL Community Edition提供了免費(fèi)下載。 InnoDB存儲(chǔ)引擎是MySQL和MariaDB的共同點(diǎn),但MariaDB在功能和擴(kuò)展性上略遜一籌。 在使用場(chǎng)景上,PostgreSQL適合需要高級(jí)查詢功能的大型組織,而MySQL更適合預(yù)算有限或資源受限的公司。 選擇哪個(gè)數(shù)據(jù)庫取決于企業(yè)的具體需求和資源條件。 無論選擇哪個(gè),都需要根據(jù)實(shí)際場(chǎng)景進(jìn)行評(píng)估。



相關(guān)標(biāo)簽: 開創(chuàng)數(shù)據(jù)庫新時(shí)代的全面指南POSTGRESQL和mysql區(qū)別PostgreSQL、 9.0

上一篇:PostgreSQL90精通解鎖數(shù)據(jù)庫管理和性能優(yōu)化

下一篇:使用Websocket增強(qiáng)Web應(yīng)用交互性實(shí)時(shí)更新和

內(nèi)容聲明:

1、本站收錄的內(nèi)容來源于大數(shù)據(jù)收集,版權(quán)歸原網(wǎng)站所有!
2、本站收錄的內(nèi)容若侵害到您的利益,請(qǐng)聯(lián)系我們進(jìn)行刪除處理!
3、本站不接受違法信息,如您發(fā)現(xiàn)違法內(nèi)容,請(qǐng)聯(lián)系我們進(jìn)行舉報(bào)處理!
4、本文地址:http://www.hudongshop.com/article/3a4df0978a6364a3abbe.html,復(fù)制請(qǐng)保留版權(quán)鏈接!


溫馨小提示:在您的網(wǎng)站做上本站友情鏈接,訪問一次即可自動(dòng)收錄并自動(dòng)排在本站第一位!
隨機(jī)文章
巧用rm命令:優(yōu)化文件刪除流程 (rm命令怎么用)

巧用rm命令:優(yōu)化文件刪除流程 (rm命令怎么用)

簡(jiǎn)介rm命令是Linux系統(tǒng)中用于刪除文件和目錄的命令,它是一個(gè)非常強(qiáng)大的命令,提供了許多選項(xiàng)來控制刪除操作的行為,熟練掌握rm命令可以幫助我們更有效地管理文件系統(tǒng),并避免意外刪除重要文件,基本語法rm命令的基本語法如下,rm[選項(xiàng)]文件或目錄其中,選項(xiàng)可以指定要執(zhí)行的不同操作,例如,i,在刪除文件或目錄之前提示確認(rèn),f,強(qiáng)制刪除,...。

最新資訊 2024-09-27 22:20:09

揭開進(jìn)度條的藝術(shù):在設(shè)計(jì)中創(chuàng)造有意義、引人入勝和高效的體驗(yàn) (揭開進(jìn)度條的英文翻譯)

揭開進(jìn)度條的藝術(shù):在設(shè)計(jì)中創(chuàng)造有意義、引人入勝和高效的體驗(yàn) (揭開進(jìn)度條的英文翻譯)

引言在數(shù)字時(shí)代,進(jìn)度條已成為用戶界面設(shè)計(jì)中無處不在的元素,它們向用戶傳達(dá)有關(guān)任務(wù)的當(dāng)前狀態(tài)和預(yù)計(jì)完成時(shí)間的信息,并不是所有的進(jìn)度條都是平等的,有些進(jìn)度條雖然有用且高效,但有些卻令人沮喪且無效,在本文中,我們將探討設(shè)計(jì)有效進(jìn)度條的藝術(shù),使它們成為用戶體驗(yàn)的有價(jià)值部分,我們將探討以下關(guān)鍵方面,意義性,進(jìn)度條應(yīng)傳達(dá)明確且有用的信息,引人入勝...。

最新資訊 2024-09-27 16:29:53

解鎖生產(chǎn)力的秘訣:必備的在線工具和資源 (生產(chǎn)力解決什么問題)

解鎖生產(chǎn)力的秘訣:必備的在線工具和資源 (生產(chǎn)力解決什么問題)

生產(chǎn)力解決的問題在當(dāng)今快節(jié)奏的數(shù)字世界中,提升生產(chǎn)力至關(guān)重要,許多人面臨著阻礙他們達(dá)到最佳工作效率的挑戰(zhàn),這些挑戰(zhàn)包括,注意力分散任務(wù)管理混亂溝通不暢時(shí)間浪費(fèi)壓力和倦怠必備的在線工具和資源幸運(yùn)的是,有許多在線工具和資源可以幫助我們克服這些挑戰(zhàn),提高生產(chǎn)力,以下是必備的工具和資源,1.任務(wù)管理工具任務(wù)管理工具可以幫助我們組織任務(wù)、設(shè)定優(yōu)...。

技術(shù)教程 2024-09-25 22:03:17

免費(fèi)下載您最喜愛的網(wǎng)站源代碼,輕松定制您的在線體驗(yàn) (免費(fèi)下載最新版新華字典)

免費(fèi)下載您最喜愛的網(wǎng)站源代碼,輕松定制您的在線體驗(yàn) (免費(fèi)下載最新版新華字典)

歡迎來到我們的網(wǎng)站,在這里您可以免費(fèi)下載最新版新華字典,新華字典是漢語最權(quán)威的字典之一,收錄了海量的漢字、詞語和短語,有了新華字典,您可以輕松查詢漢字的讀音、釋義、組詞和用法,我們提供的新華字典是電子版,您可以在電腦、手機(jī)或平板電腦上使用,電子版新華字典具有以下優(yōu)點(diǎn),體積小巧,方便攜帶查詢方便,支持全文檢索可以隨時(shí)隨地使用,不受網(wǎng)絡(luò)限...。

本站公告 2024-09-16 11:51:38

在 PHP 程序中使用 include_once 的最佳實(shí)踐和陷阱 (php程序可以在任意環(huán)境中執(zhí)行)

在 PHP 程序中使用 include_once 的最佳實(shí)踐和陷阱 (php程序可以在任意環(huán)境中執(zhí)行)

include,once是PHP中一個(gè)非常有用的函數(shù),它允許您在腳本中包含其他文件,這在需要重復(fù)使用代碼或從外部文件加載函數(shù)和類時(shí)非常方便,最佳實(shí)踐僅包含一次文件,include,once函數(shù)的名稱很容易理解,includeonce,僅包含一次,在腳本中包含同一文件多次是不行的,它將導(dǎo)致錯(cuò)誤或意外的行為,使用絕對(duì)路徑,include...。

互聯(lián)網(wǎng)資訊 2024-09-16 02:05:53

揭秘 PHP 抽象編程的常見陷阱:避免錯(cuò)誤并構(gòu)建健壯的應(yīng)用程序 (php抽獎(jiǎng)活動(dòng)算法)

揭秘 PHP 抽象編程的常見陷阱:避免錯(cuò)誤并構(gòu)建健壯的應(yīng)用程序 (php抽獎(jiǎng)活動(dòng)算法)

揭秘PHP抽象編程的常見陷阱,避免錯(cuò)誤并構(gòu)建健壯的應(yīng)用程序簡(jiǎn)介抽象編程是PHP中一項(xiàng)強(qiáng)大的功能,它允許您創(chuàng)建松散耦合、可擴(kuò)展且可維護(hù)的代碼,像任何強(qiáng)大的工具一樣,在抽象編程中也存在一些潛在的陷阱,在文章中,我們將探討使用PHP抽象編程時(shí)最常見的陷阱,并提供避免這些陷阱并構(gòu)建健壯應(yīng)用程序的建議,抽象類和接口陷阱,未能正確理解抽象類和接口...。

技術(shù)教程 2024-09-15 09:58:42

優(yōu)化您的新聞網(wǎng)站:全面指南 (新聞稿件優(yōu)化)

優(yōu)化您的新聞網(wǎng)站:全面指南 (新聞稿件優(yōu)化)

持續(xù)關(guān)注技術(shù)優(yōu)化、內(nèi)容質(zhì)量、用戶體驗(yàn)、SEO和社交媒體整合,您可以建立一個(gè)成功的新聞網(wǎng)站,它將成為您目標(biāo)受眾的重要信息和參與來源,...。

技術(shù)教程 2024-09-14 16:20:49

圖像分類的挑戰(zhàn):理解圖像背后的含義 (圖像分類的挑戰(zhàn))

圖像分類的挑戰(zhàn):理解圖像背后的含義 (圖像分類的挑戰(zhàn))

引言圖像分類是一項(xiàng)基本計(jì)算機(jī)視覺任務(wù),它涉及將圖像分配到預(yù)定義類別中,這項(xiàng)任務(wù)看似簡(jiǎn)單,但在現(xiàn)實(shí)世界中卻面臨著許多挑戰(zhàn),因?yàn)橛?jì)算機(jī)需要理解圖像背后的含義才能正確分類,挑戰(zhàn)1.視覺變異圖像中的物體可能因視角、照明、遮擋和背景而產(chǎn)生顯著差異,這些變異會(huì)給分類器造成混淆,使其難以識(shí)別圖像中對(duì)象的真實(shí)本質(zhì),2.語義差距圖像中包含的含義與人類對(duì)...。

本站公告 2024-09-10 09:47:47

提升客戶滿意度:使用在線客服系統(tǒng)源碼打造無縫的客戶交互 (提升客戶滿意度的措施和方法)

提升客戶滿意度:使用在線客服系統(tǒng)源碼打造無縫的客戶交互 (提升客戶滿意度的措施和方法)

在競(jìng)爭(zhēng)激烈的市場(chǎng)中,客戶滿意度至關(guān)重要,通過提供卓越的客戶服務(wù),企業(yè)可以建立客戶忠誠度、提升品牌信譽(yù),并最終增加盈利能力,在線客服系統(tǒng)源碼是打造無縫客戶交互的關(guān)鍵工具,通過利用這些開源解決方案,企業(yè)可以快速輕松地部署功能強(qiáng)大的客服平臺(tái),滿足客戶不斷變化的需求,在線客服系統(tǒng)源碼的優(yōu)勢(shì)低成本,開源解決方案通常免費(fèi)或低成本,這使企業(yè)能夠在不...。

最新資訊 2024-09-08 23:11:37

文件共享應(yīng)用程序(文件共享應(yīng)用怎么打開)

文件共享應(yīng)用程序(文件共享應(yīng)用怎么打開)

什么是文件共享應(yīng)用程序,文件共享應(yīng)用程序是一種軟件,它允許用戶在不同設(shè)備和用戶之間共享文件,這些應(yīng)用程序通過在云中存儲(chǔ)文件來工作,從而允許用戶從任何地方訪問它們,文件共享應(yīng)用程序有多種用途,包括,與同事協(xié)作與朋友和家人分享照片和視頻備份重要文件在不同的設(shè)備之間傳輸文件如何選擇文件共享應(yīng)用程序有許多不同的文件共享應(yīng)用程序可供選擇,因此選...。

互聯(lián)網(wǎng)資訊 2024-09-06 12:39:05

安陽驚魂: 40年前撼動(dòng)中國的真實(shí)靈異事件 (安陽靈異事件真相真假)

安陽驚魂: 40年前撼動(dòng)中國的真實(shí)靈異事件 (安陽靈異事件真相真假)

安陽靈異事件是中國近代史上著名的靈異事件之一,1983年,河南省安陽市發(fā)生了多起離奇事件,引發(fā)了全國轟動(dòng),這些事件包括,多地的靈異傳言、群眾的集體發(fā)燒、疑似目擊者失蹤和死亡等,事件經(jīng)過1983年4月,安陽市郊區(qū)開始流傳著一些離奇的傳言,人們說,當(dāng)?shù)赜幸粋€(gè)叫牛鬼的怪物,在夜間出沒,專門襲擊落單的行人,傳言迅速蔓延,引發(fā)了群眾的恐慌,與此...。

互聯(lián)網(wǎng)資訊 2024-09-03 02:08:12

免費(fèi)的裝修設(shè)計(jì)網(wǎng)站有哪些 (免費(fèi)的裝修設(shè)計(jì)軟件)

免費(fèi)的裝修設(shè)計(jì)網(wǎng)站有哪些 (免費(fèi)的裝修設(shè)計(jì)軟件)

其實(shí)裝修設(shè)計(jì)網(wǎng)站有很多很多,最重要的一點(diǎn),就是找到比較適合的網(wǎng)站,這樣一說,就可以解決掉我們裝修設(shè)計(jì)方面的很多小問題的,那免費(fèi)的裝修設(shè)計(jì)網(wǎng)站有哪些呢?以及免費(fèi)的裝修設(shè)計(jì)常見的貓膩是什么呢?針對(duì)這兩個(gè)問題,我們帶大家一起了解下吧,請(qǐng)大家往下看,一、免費(fèi)的裝修設(shè)計(jì)網(wǎng)站有哪些?1.愛福窩愛福窩在線裝修設(shè)計(jì)軟件是一款免費(fèi)的室內(nèi)設(shè)計(jì)軟件,簡(jiǎn)單易...。

技術(shù)教程 2024-09-02 01:37:03

Copyright ? 2025 聚集網(wǎng) All Rights Reserved
此內(nèi)容系本站根據(jù)來路自動(dòng)抓取的結(jié)果,不代表本站贊成被顯示網(wǎng)站的內(nèi)容或立場(chǎng)。
本頁閱讀量次 | 本站總訪問次 | 本站總訪客人 | 今日總訪問次 | 今日總訪客人 | 昨日總訪問次 | 昨日總訪客人 |
技術(shù)支持:聚集網(wǎng)

国产中文字幕免费观看_国产高清精品软男同_日韩免费视频播放_亚洲午夜激情
在线视频不卡一区二区三区| 欧美一区二区福利| 亚洲综合在线播放| 欧美二区三区| 日韩中文字幕在线播放| 日韩电影天堂视频一区二区| 777午夜精品福利在线观看| 在线观看日本一区| 粉嫩av一区二区三区免费观看| 国产精品久久精品| 国内精品久久影院| www.xxxx欧美| 欧美日韩一区二区三| 久久精品国亚洲| 欧美精品成人网| 久久精品小视频| 欧美一二三不卡| 国产精品三区四区| 国内精品视频在线| 国产精品成人观看视频国产奇米| 免费精品视频一区二区三区| 国产精品裸体瑜伽视频| 欧美 国产 综合| 超在线视频97| 国产精品一区二区三区观看| 欧美激情区在线播放| 国产一区二区三区黄| 国产精品国产三级国产aⅴ9色 | 激情久久av| 国产精品久久久亚洲| 精品日韩美女| 欧美精品激情在线| 911国产网站尤物在线观看| 日本91av在线播放| 国产精品视频一区二区三区四区五区| 欧美福利一区二区三区| 国产精品激情av电影在线观看| 国产在线视频欧美| 欧美激情一二区| www.九色.com| 亚洲国产一区二区三区在线播| www.九色.com| 欧美一级免费看| 日韩中文视频免费在线观看| 黄色网络在线观看| 亚洲综合在线做性| 国产高清在线一区| 免费中文日韩| 久久久久久国产精品三级玉女聊斋| 国产精品亚洲天堂| 日本精品免费| 国产精品麻豆免费版| 北条麻妃在线视频观看| 日本亚洲欧洲精品| 国产精品久久久久久久久久久新郎| 国产中文字幕视频在线观看| 伊人久久大香线蕉成人综合网| 久无码久无码av无码| 欧美日韩国产精品激情在线播放| 精品国产第一页| 久久免费视频网站| 韩国欧美亚洲国产| 欧美一区二区三区综合| 国产精品久久一区| 国产精彩视频一区二区| 欧美 国产 日本| 亚洲成人网上| 国产精品免费久久久| 超碰97网站| 欧美日韩精品免费看| 欧美激情在线观看视频| 久久久久久久少妇| 国产免费高清一区| 欧美自拍大量在线观看| 一本色道久久99精品综合| 视频直播国产精品| av片在线免费| 精品一区二区不卡| 日本高清视频一区| 亚洲图片在线观看| 国产精品久久久91| 国产ts人妖一区二区三区| 国产欧美日韩小视频| 欧美在线性视频| 午夜精品久久久久久久男人的天堂 | 国产一区福利视频| 日韩av三级在线| 久久久久国产精品免费网站| 久久久久www| 久久精品日韩| 91观看网站| 国产精品夜间视频香蕉| 国内精品免费午夜毛片| 春日野结衣av| 国产99久久久欧美黑人| 色老头一区二区三区| 国产精品av免费观看| 国产老熟妇精品观看| 狠狠爱一区二区三区| 日本阿v视频在线观看| 亚洲精品免费av| 久久久久久18| 久99久在线视频| 国产精品传媒毛片三区| 国产精品视频免费在线观看| 久久久久久久免费视频| 91久久精品美女| 成人亚洲综合色就1024| 韩国精品一区二区三区六区色诱| 日韩欧美一区二区三区四区五区| 亚洲91精品在线观看| 一区二区三区av| 一区二区三区日韩视频| 久久亚洲影音av资源网 | 欧美高清一区二区| 热久久这里只有精品| 日本人妻伦在线中文字幕| 视频一区二区三区在线观看| 亚洲欧洲三级| 亚洲伊人久久大香线蕉av| 九九热精品视频| 九九久久国产精品| 欧美精品电影在线| 亚洲影视九九影院在线观看| 亚洲资源视频| 亚洲人成无码www久久久| 一区二区三区av| 亚洲色图都市激情| 午夜精品久久久久久久99热| 岛国视频一区| 欧美一级日本a级v片| 日韩欧美手机在线| 欧美专区国产专区| 好吊色欧美一区二区三区四区| 黄色影院一级片| 国产在线精品91| 国产精品一线二线三线| 啊啊啊一区二区| 久久青青草综合| 日韩三级成人av网| 国产精品日韩久久久久| 国产精品成人在线| 久久久久国产精品免费| 亚洲美女网站18| 日韩欧美黄色大片| 国内一区在线| 国产精品自拍小视频| 91精品国产综合久久香蕉| 久久精品国产精品亚洲精品色| 日韩一区二区三区在线播放| 久久精品国产99国产精品澳门 | 久久久久久久久久av| 久久久久北条麻妃免费看| 久久在线精品视频| 亚洲高清视频一区| 欧美亚洲国产成人精品| 国产日韩欧美在线视频观看| 99在线观看| 色婷婷久久av| 中文字幕人成一区| 日本不卡一区| 国产女人精品视频| 久久综合婷婷综合| 国产精品免费看久久久香蕉| 亚洲一卡二卡三卡| 人人妻人人澡人人爽欧美一区| 麻豆av一区二区三区| 久久亚洲高清| 国产精品成人一区二区三区| 亚洲成色www久久网站| 欧美在线国产精品| 成人欧美一区二区三区黑人| 日韩有码在线播放| 中文字幕剧情在线观看一区| 人人妻人人添人人爽欧美一区 | 国产精品一区二区av| 久久av综合网| 欧美精品videos性欧美| 日韩视频在线观看国产| 国产欧美日韩综合精品二区| 国产v亚洲v天堂无码| 欧美激情视频网站| 欧美在线视频观看| 97国产精品视频| 国产精品久久久久久网站| 欧美一区二区三区免费视| 欧美日韩一区在线播放| 91精品视频免费观看| 国产精品福利观看| 日韩在线一级片| 国产日韩欧美在线观看| 日韩中文字幕在线免费观看| 亚洲精品在线免费看| 国产一区二中文字幕在线看| 久久精品午夜福利| 欧美激情亚洲自拍| 蜜桃视频日韩| 日韩中文字幕网站| 日韩影院一区| 99国产视频|