重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
企業里常用的數據庫軟件有Mysql、PostgreSQL、Microsoft SQL Server、Oracle數據庫、MongoDB。
專注于為中小企業提供成都做網站、網站制作、成都外貿網站建設服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業晉中免費做網站提供優質的服務。我們立足成都,凝聚了一批互聯網行業人才,有力地推動了成百上千家企業的穩健成長,幫助中小企業通過網站建設實現規模擴充和轉變。
1、Mysql。
MySQL原本是一個開放源碼的關系數據庫管理系統,原開發者為瑞典的MySQL AB公司,該公司于2008年被升陽微系統(Sun Microsystems)收購。2009年,甲骨文公司(Oracle)收購升陽微系統公司,MySQL成為Oracle旗下產品。
MySQL由于性能高、成本低、可靠性好,已經成為最流行的開源數據庫,因此被廣泛地應用在Internet上的中小型網站中。隨著MySQL的不斷成熟,它也逐漸用于更多大規模網站和應用。
2、PostgreSQL。
PostgreSQL 可以說是目前功能最強大、特性最豐富和結構最復雜的開源數據庫管理系統,其中有些特性甚至連商業數據庫都不具備。這個起源于加州大學伯克利分校的數據庫,現已成為一項國際開發項目,并且擁有廣泛的用戶群,尤其是在海外,目前國內使用者也越來越多。
PostgreSQL 基本上算是見證了整個數據庫理論和技術的發展歷程,由 UCB 計算機教授 Michael Stonebraker 于 1986 年創建。在此之前,Stonebraker 教授主導了關系數據庫 Ingres 研究項目,88 年,提出了 Postgres 的第一個原型設計。
MySQL 號稱是使用最廣泛的開源數據庫,而 PG 則被稱為功能最強大的開源數據庫。
3、Microsoft SQL Server。
SQL Server 是 Microsoft 開發的一個關系數據庫管理系統(RDBMS),現在是世界上最為常用的數據庫。SQL Server?現在是包括內置的商務智能工具,以及一系列的分析和報告工具,可以創建數據庫、備份、復制、安全性更好以及更多。
SQL Server 是一個高度可擴展的產品,可以從一個單一的筆記本電腦上運行的任何東西或以高倍云服務器網絡,或在兩者之間任何東西。雖然說是“任何東西”,但是仍然要滿足相關的軟件和硬件的要求。
4、Oracle數據庫。
Oracle數據庫系統是美國Oracle(甲骨文)公司提供的以分布式數據庫為核心的一組軟件產品,是目前最流行的客戶/服務器(Client/Server,C/S)或瀏覽器/服務器(Browser/Server,B/S)體系結構的數據庫之一。
Oracle數據庫是目前世界上使用最為廣泛的數據庫管理系統,作為一個通用的數據庫系統,它具有完整的數據管理功能;作為一個關系數據庫,它是一個完備關系的產品;作為分布式數據庫它實現了分布式處理功能。
5、MongoDB
mongoDB是一個介于關系數據庫和非關系數據庫之間的開源產品,是最接近于關系型數據庫的NoSQL數據庫。它在輕量級JSON交換基礎之上進行了擴展,即稱為BSON的方式來描述其無結構化的數據類型。盡管如此它同樣可以存儲較為復雜的數據類型。
參考資料來源:百度百科——Mysql
參考資料來源:百度百科——PostgreSQL
參考資料來源:百度百科——Microsoft SQL Server
參考資料來源:百度百科——Oracle數據庫
參考資料來源:百度百科——MongoDB
postgresql 不是nosql 數據庫是sql like的面向對象的關系型數據庫,運用的sql查詢語言支持基本所有sql99標準!
postgreSQL是一款先進的開源數據庫,擁有非常齊全的自由軟件的對象-關系型數據庫管理系統(ORDBMS),可面向企業復雜SQL的OLTP業務場景,支持多項企業級功能,能解決使用數據庫的各種難題。
PostgreSQL的優勢有很多。它是一個免費的對象-關系數據庫服務器(ORDBMS),在靈活的BSD許可證下發行。
postgreSQL的特征
函數:通過函數,可以在數據庫服務器端執行指令程序。
索引:用戶可以自定義索引方法,或使用內置的 B 樹,哈希表與 GiST 索引。
觸發器:觸發器是由SQL語句查詢所觸發的事件。如:一個INSERT語句可能觸發一個檢查數據完整性的觸發器。觸發器通常由INSERT或UPDATE語句觸發。 多版本并發控制:PostgreSQL使用多版本并發控制(MVCC,Multiversion concurrency control)系統進行并發控制,該系統向每個用戶提供了一個數據庫的"快照",用戶在事務內所作的每個修改,對于其他的用戶都不可見,直到該事務成功提交。
規則:規則(RULE)允許一個查詢能被重寫,通常用來實現對視圖(VIEW)的操作,如插入(INSERT)、更新(UPDATE)、刪除(DELETE)。
數據類型:包括文本、任意精度的數值數組、JSON 數據、枚舉類型、XML 數據等。全文檢索:通過 Tsearch2 或 OpenFTS,8.3版本中內嵌 Tsearch2。
NoSQL:JSON,JSONB,XML,HStore 原生支持,至 NoSQL 數據庫的外部數據包裝器。
數據倉庫:能平滑遷移至同屬postgreSQL生態的GreenPlum,DeepGreen,HAWK 等,使用 FDW 進行 ETL。
如果打算為項目選擇一款免費、開源的數據庫,那么你可能會在MySQL與PostgreSQL之間猶豫不定。MySQL與PostgreSQL都是免費、開源、強大、且功能豐富的數據庫。你主要的問題可能是:哪一個才是最好的開源數據庫,MySQL還是PostgreSQL呢?該選擇哪一個開源數據庫呢?
在選擇數據庫時,你所做的是個長期的決策,因為后面如果再改變決定將是非常困難且代價高昂的。你希望一開始就選擇正確。兩個流行的開源數據庫MySQL與PostgreSQL常常成為最后要選擇的產品。對這兩個開源數據庫的高層次概覽將會有助于你選擇最適合自己需要的。
MySQL
MySQL相對來說比較年輕,首度出現在1994年。它聲稱自己是最流行的開源數據庫。MySQL就是LAMP(用于Web開發的軟件包,包括 Linux、Apache及Perl/PHP/Python)中的M。構建在LAMP棧之上的大多數應用都會使用MySQL,包括那些知名的應用,如 WordPress、Drupal、Zend及phpBB等。
一開始,MySQL的設計目標是成為一個快速的Web服務器后端,使用快速的索引序列訪問方法(ISAM),不支持ACID。經過早期快速的發展之 后,MySQL開始支持更多的存儲引擎,并通過InnoDB引擎實現了ACID。MySQL還支持其他存儲引擎,提供了臨時表的功能(使用MEMORY存 儲引擎),通過MyISAM引擎實現了高速讀的數據庫,此外還有其他的核心存儲引擎與第三方引擎。
MySQL的文檔非常豐富,有很多質量不錯的免費參考手冊、圖書與在線文檔,還有來自于Oracle和第三方廠商的培訓與支持。
MySQL近幾年經歷了所有權的變更和一些頗具戲劇性的事件。它最初是由MySQL AB開發的,然后在2008年以10億美金的價格賣給了Sun公司,Sun公司又在2010年被Oracle收購。Oracle支持MySQL的多個版 本:Standard、Enterprise、Classic、Cluster、Embedded與Community。其中有一些是免費下載的,另外一 些則是收費的。其核心代碼基于GPL許可,對于那些不想使用GPL許可的開發者與廠商來說還有商業許可可供使用。
現在,基于最初的MySQL代碼還有更多的數據庫可供選擇,因為幾個核心的MySQL開發者已經發布了MySQL分支。最初的MySQL創建者之一 Michael "Monty" Widenius貌似后悔將MySQL賣給了Sun公司,于是又開發了他自己的MySQL分支MariaDB,它是免費的,基于GPL許可。知名的 MySQL開發者Brian Aker所創建的分支Drizzle對其進行了大量的改寫,特別針對多CPU、云、網絡應用與高并發進行了優化。
PostgreSQL
PostgreSQL標榜自己是世界上最先進的開源數據庫。PostgreSQL的一些粉絲說它能與Oracle相媲美,而且沒有那么昂貴的價格和傲慢的客服。它擁有很長的歷史,最初是1985年在加利福尼亞大學伯克利分校開發的,作為Ingres數據庫的后繼。
PostgreSQL是完全由社區驅動的開源項目,由全世界超過1000名貢獻者所維護。它提供了單個完整功能的版本,而不像MySQL那樣提供了 多個不同的社區版、商業版與企業版。PostgreSQL基于自由的BSD/MIT許可,組織可以使用、復制、修改和重新分發代碼,只需要提供一個版權聲 明即可。
可靠性是PostgreSQL的最高優先級。它以堅如磐石的品質和良好的工程化而聞名,支持高事務、任務關鍵型應用。PostgreSQL的文檔非 常精良,提供了大量免費的在線手冊,還針對舊版本提供了歸檔的參考手冊。PostgreSQL的社區支持是非常棒的,還有來自于獨立廠商的商業支持。
數據一致性與完整性也是PostgreSQL的高優先級特性。PostgreSQL是完全支持ACID特性的,它對于數據庫訪問提供了強大的安全性 保證,充分利用了企業安全工具,如Kerberos與OpenSSL等。你可以定義自己的檢查,根據自己的業務規則確保數據質量。在眾多的管理特性 中,point-in-time recovery(PITR)是非常棒的特性,這是個靈活的高可用特性,提供了諸如針對失敗恢復創建熱備份以及快照與恢復的能力。但這并不是 PostgreSQL的全部,項目還提供了幾個方法來管理PostgreSQL以實現高可用、負載均衡與復制等,這樣你就可以使用適合自己特定需求的功能 了。
平臺
MySQL與PostgreSQL都出現在一些高流量的Web站點上:
MySQL:Slashdot、Twitter、Facebook與Wikipedia
PostgreSQL:Yahoo使用了一個修改的PostgreSQL數據庫來處理每天數以億計的事件,還有Reddit和Disqus
MySQL與PostgreSQL都能運行在多個操作系統上,如Linux、Unix、Mac OS X與Windows。他們都是開源、免費的,因此測試他們時的唯一代價就是你的時間與硬件。他們都很靈活且具有可伸縮性,可用在小型系統和大型分布式系統 上。MySQL在一個領域上要比PostgreSQL更進一步,那就是它的觸角延伸到了嵌入式領域,這是通過libmysqld實現的。 PostgreSQL不支持嵌入式應用,依然堅守在傳統的客戶端/服務器架構上。
MySQL通常被認為是針對網站與應用的快速數據庫后端,能夠進行快速的讀取和大量的查詢操作,不過在復雜特性與數據完整性檢查方面不太盡如人意。 PostgreSQL是針對事務型企業應用的嚴肅、功能完善的數據庫,支持強ACID特性和很多數據完整性檢查。他們二者都在某些任務上具有很快的速 度,MySQL不同存儲引擎的行為有較大差別。MyISAM引擎是最快的,因為它只執行很少的數據完整性檢查,適合于后端讀操作較多的站點,不過對于包含 敏感數據的讀/寫數據庫來說就是個災難了,因為MyISAM表最終可能會損壞。MySQL提供了修復MySQL表的工具,不過對于敏感數據來說,支持 ACID特性的InnoDB則是個更好的選擇。
與之相反,PostgreSQL則是個只有單一存儲引擎的完全集成的數據庫。你可以通過調整postgresql.conf文件的參數來改進性能,也可以調整查詢與事務。PostgreSQL文檔對于性能調優提供了非常詳盡的介紹。
MySQL與PostgreSQL都是高可配置的,并且可以針對不同的任務進行相應的優化。他們都支持通過擴展來添加額外的功能。
一個常見的誤解就是MySQL要比PostgreSQL更容易學習。關系數據庫系統都是非常復雜的,這兩個數據庫的學習曲線其實是差不多的。
標準兼容性
PostgreSQL旨在實現SQL兼容性(當前標準是ANSI-SQL:2008)。MySQL則兼容大部分SQL,不過還有自己的擴展,可以支 持NoSQL特性,這在參考手冊中都有介紹。每種方式都有優缺點。兼容標準會讓數據庫管理員、數據庫開發者與應用開發者更舒服一些,因為這意味著他們只需 學習一套標準、一套特性和命令即可。這會節省時間,提升效率,也不會被鎖定在特定的廠商上。
支持使用非標準的自定義功能的人們認為這樣可以快速采用新的特性,而不必等待標準進程完成。ANSI/ISO標準在不斷演化,因此標準兼容性也是個 變化的目標:知名的關系型數據庫Microsoft SQL Server、Oracle與IBM DB2也只是部分兼容于標準。
結論
雖然有不同的歷史、引擎與工具,不過并沒有明確的參考能夠表明這兩個數據庫哪一個能夠適用于所有情況。很多組織喜歡使用PostgreSQL,因為 它的可靠性好,在保護數據方面很擅長,而且是個社區項目,不會陷入廠商的牢籠之中。MySQL更加靈活,提供了更多選項來針對不同的任務進行裁剪。很多時 候,對于一個組織來說,對某個軟件使用的熟練程度要比特性上的原因更重要。
David Bolton是一名獨立開發者,他使用PostgreSQL和MySQL都已有超過十年的時間。近日,他撰文闡述了選擇PostgreSQL而不是MySQL的理由。他認為,MySQL之所以仍然如此流行是因為每個Linux Web托管軟件包中都包含它。但隨著Oracle將其收購,MySQL的開源程度大不如前。而PostgreSQL不僅發展更快,還加入了JSON支持,成為少數幾個支持NoSQL的關系型數據庫之一。
MySQL/MariaDB的當前版本是5.7.6(MariaDB為MySQL創建者Monty Widenius創建的一個MySQL分支),PostgreSQL的版本是9.4.1。Bolton從以下幾個方面對比了兩者的最新版本:
ANSI標準兼容性:與先前的版本相比,MySQL已經有了長足的進步,但MySQL背后的哲學是,如果客戶喜歡,他們就會支持非標準擴展,而PostgreSQL從開始就將標準構建到平臺里。不過,二者殊途同歸,差別不大;
ACID遵從性:PostgreSQL有一個存儲引擎,而MySQL有9個,但只有MyIsam和InnoDB與大部分用戶有關,其中,后者為默認存儲引擎。InnoDB和PostgreSQL都完全遵循ACID,差別不大;
無鎖表修改:MyIsam使用表級鎖來提升速度,這會導致寫互斥。但PostgreSQL和InnoDB均使用行級鎖,差別不大;
子查詢:長期以來,這一直是MySQL的一個弱點,雖然5.6.5作了重大改進,但PostgreSQL對表連接支持得更好,尤其是MySQL不支持全外連接,因此,這方面PostgreSQL勝過MySQL;
JSON支持和NoSQL:PostgreSQL最近增加了JSON支持,與傳統的關系型數據庫相比,它提供了更大的數據存儲靈活性,因此,這方面PostgreSQL勝過MySQL。
此外,Bolton指出,選擇PostgreSQL還有如下理由:
更好的許可:PostgreSQL采用類似MIT的許可協議,允許開發人員做任何事情,包括在開源或閉源產品中商用,而MySQL的客戶端遵循GPL許可協議,所以開發人員必須向Oracle付費或者將自己的應用程序開源;
更好的數據一致性: PostgreSQL會在數據插入和更新之前進行嚴格的驗證,確保數據合法才會進行相應的操作,但在MySQL中,開發人員需要將服務器設定為嚴格SQL模式才能達到同樣的目的,否則可能會產生不規范數據;
服務器擴展:MySQL提供了插件程序API,支持C/C++或任何兼容C的語言,而且從5.7.3版本開始支持全文搜索,PostgreSQL有一個類似的系統但支持的語言更多,包括C/C++、Java、.Net、Perl、 Python、Ruby、Tcl、ODBC等,它甚至可以在單獨的進程中運行用戶提供的代碼;除了所有關系型數據庫都包含的有關數據庫、表和列的一般信息外,PostgreSQL系統目錄中還可以包含關于數據類型、函數和存取方法的信息,開發人員可以通過修改這些信息實現擴展。