企業(yè)里常用的數(shù)據(jù)庫軟件有Mysql、PostgreSQL、MicrosoftSQLServer、Oracle數(shù)據(jù)庫、MongoDB。
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供東湖網(wǎng)站建設(shè)、東湖做網(wǎng)站、東湖網(wǎng)站設(shè)計(jì)、東湖網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、東湖企業(yè)網(wǎng)站模板建站服務(wù),10余年東湖做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
1、Mysql。
MySQL原本是一個(gè)開放源碼的關(guān)系數(shù)據(jù)庫管理系統(tǒng),原開發(fā)者為瑞典的MySQLAB公司,該公司于2008年被升陽微系統(tǒng)(SunMicrosystems)收購。2009年,甲骨文公司(Oracle)收購升陽微系統(tǒng)公司,MySQL成為Oracle旗下產(chǎn)品。
MySQL由于性能高、成本低、可靠性好,已經(jīng)成為最流行的開源數(shù)據(jù)庫,因此被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。隨著MySQL的不斷成熟,它也逐漸用于更多大規(guī)模網(wǎng)站和應(yīng)用。
2、PostgreSQL。
PostgreSQL可以說是目前功能最強(qiáng)大、特性最豐富和結(jié)構(gòu)最復(fù)雜的開源數(shù)據(jù)庫管理系統(tǒng),其中有些特性甚至連商業(yè)數(shù)據(jù)庫都不具備。這個(gè)起源于加州大學(xué)伯克利分校的數(shù)據(jù)庫,現(xiàn)已成為一項(xiàng)國際開發(fā)項(xiàng)目,并且擁有廣泛的用戶群,尤其是在海外,目前國內(nèi)使用者也越來越多。
PostgreSQL基本上算是見證了整個(gè)數(shù)據(jù)庫理論和技術(shù)的發(fā)展歷程,由UCB計(jì)算機(jī)教授MichaelStonebraker于1986年創(chuàng)建。在此之前,Stonebraker教授主導(dǎo)了關(guān)系數(shù)據(jù)庫Ingres研究項(xiàng)目,88年,提出了Postgres的第一個(gè)原型設(shè)計(jì)。
MySQL號稱是使用最廣泛的開源數(shù)據(jù)庫,而PG則被稱為功能最強(qiáng)大的開源數(shù)據(jù)庫。
3、MicrosoftSQLServer。
SQLServer是Microsoft開發(fā)的一個(gè)關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS),現(xiàn)在是世界上最為常用的數(shù)據(jù)庫。SQLServer?現(xiàn)在是包括內(nèi)置的商務(wù)智能工具,以及一系列的分析和報(bào)告工具,可以創(chuàng)建數(shù)據(jù)庫、備份、復(fù)制、安全性更好以及更多。
SQLServer是一個(gè)高度可擴(kuò)展的產(chǎn)品,可以從一個(gè)單一的筆記本電腦上運(yùn)行的任何東西或以高倍云服務(wù)器網(wǎng)絡(luò),或在兩者之間任何東西。雖然說是“任何東西”,但是仍然要滿足相關(guān)的軟件和硬件的要求。
4、Oracle數(shù)據(jù)庫。
Oracle數(shù)據(jù)庫系統(tǒng)是美國Oracle(甲骨文)公司提供的以分布式數(shù)據(jù)庫為核心的一組軟件產(chǎn)品,是目前最流行的客戶/服務(wù)器(Client/Server,C/S)或?yàn)g覽器/服務(wù)器(Browser/Server,B/S)體系結(jié)構(gòu)的數(shù)據(jù)庫之一。
Oracle數(shù)據(jù)庫是目前世界上使用最為廣泛的數(shù)據(jù)庫管理系統(tǒng),作為一個(gè)通用的數(shù)據(jù)庫系統(tǒng),它具有完整的數(shù)據(jù)管理功能;作為一個(gè)關(guān)系數(shù)據(jù)庫,它是一個(gè)完備關(guān)系的產(chǎn)品;作為分布式數(shù)據(jù)庫它實(shí)現(xiàn)了分布式處理功能。
5、MongoDB
mongoDB是一個(gè)介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的開源產(chǎn)品,是最接近于關(guān)系型數(shù)據(jù)庫的NoSQL數(shù)據(jù)庫。它在輕量級JSON交換基礎(chǔ)之上進(jìn)行了擴(kuò)展,即稱為BSON的方式來描述其無結(jié)構(gòu)化的數(shù)據(jù)類型。盡管如此它同樣可以存儲較為復(fù)雜的數(shù)據(jù)類型。
參考資料來源:百度百科——Mysql
參考資料來源:百度百科——PostgreSQL
參考資料來源:百度百科——MicrosoftSQLServer
參考資料來源:百度百科——Oracle數(shù)據(jù)庫
參考資料來源:百度百科——MongoDB
MySQL
MySQL聲稱自己是最流行的開源數(shù)據(jù)庫。LAMP中的M指的就是MySQL。構(gòu)建在LAMP上的應(yīng)用都會(huì)使用MySQL,如WordPress、Drupal等大多數(shù)php開源程序。MySQL最初是由MySQL AB開發(fā)的,然后在2008年以10億美金的價(jià)格賣給了Sun公司,Sun公司又在2010年被Oracle收購。Oracle支持MySQL的多個(gè)版本:Standard、Enterprise、Classic、Cluster、Embedded與Community。其中有一些是免費(fèi)下載的,另外一些則是收費(fèi)的。其核心代碼基于GPL許可,由于MySQL被控制在Oracle,社區(qū)擔(dān)心會(huì)對MySQL的開源會(huì)有影響,所以開發(fā)了一些分支,比如: MariaDB和Percona。
PostgreSQL
PostgreSQL標(biāo)榜自己是世界上最先進(jìn)的開源數(shù)據(jù)庫。PostgreSQL的一些粉絲說它能與Oracle相媲美,而且沒有那么昂貴的價(jià)格和傲慢的客服。最初是1985年在加利福尼亞大學(xué)伯克利分校開發(fā)的,作為Ingres數(shù)據(jù)庫的后繼。PostgreSQL是完全由社區(qū)驅(qū)動(dòng)的開源項(xiàng)目。它提供了單個(gè)完整功能的版本,而不像MySQL那樣提供了多個(gè)不同的社區(qū)版、商業(yè)版與企業(yè)版。PostgreSQL基于自由的BSD/MIT許可,組織可以使用、復(fù)制、修改和重新分發(fā)代碼,只需要提供一個(gè)版權(quán)聲明即可。
MySQL與PostgreSQL的對比
MySQL的背后是一個(gè)成熟的商業(yè)公司,而PostgreSQL的背后是一個(gè)龐大的志愿開發(fā)組。這使得MySQL的開發(fā)過程更為慎重,而PostgreSQL的反應(yīng)更為迅速。這樣的兩種背景直接導(dǎo)致了各自固有的優(yōu)點(diǎn)和缺點(diǎn)。
PostgreSQL相對于MySQL的優(yōu)勢
1)不僅僅是關(guān)系型數(shù)據(jù)庫
除了存儲正常的數(shù)據(jù)類型外,還支持存儲:
array,不管是一位數(shù)組還是多為數(shù)組均支持
json(hStore)和jsonb,相比使用text存儲接送要高效很多
json和jsonb之間的區(qū)別
jsonb和json在更高的層面上看起來幾乎是一樣的,但在存儲實(shí)現(xiàn)上是不同的。
json存儲完的文本,json列會(huì)每次都解析存儲的值,它不支持索引,但你可以為查詢創(chuàng)建表達(dá)式索引。
jsonb存儲的二進(jìn)制格式,避免了重新解析數(shù)據(jù)結(jié)構(gòu)。它支持索引,這意味著你可以不使用指定的索引就能查詢?nèi)魏温窂健?/p>
當(dāng)我們比較寫入數(shù)據(jù)速度時(shí),由于數(shù)據(jù)存儲的方式的原因,jsonb會(huì)比json稍微的慢一點(diǎn)。json列會(huì)每次都解析存儲的值,這意味著鍵的順序要和輸入的時(shí)候一樣。但jsonb不同,以二進(jìn)制格式存儲且不保證鍵的順序。因此,如果你有軟件需要依賴鍵的順序,jsonb可能不是你的應(yīng)用的最佳選擇。使用jsonb的優(yōu)勢還在于你可以輕易的整合關(guān)系型數(shù)據(jù)和非關(guān)系型數(shù)據(jù), PostgreSQL對于mongodb這類的基于文檔的數(shù)據(jù)庫是個(gè)不小的威脅,畢竟如果一個(gè)表中只有一列數(shù)據(jù)的類型是半結(jié)構(gòu)化的,沒有必要為了遷就它而整個(gè)表的設(shè)計(jì)采用schemaless的結(jié)構(gòu)。
2)支持地理信息處理擴(kuò)展
PostGIS 為PostgreSQL提供了存儲空間地理數(shù)據(jù)的支持,使PostgreSQL成為了一個(gè)空間數(shù)據(jù)庫,能夠進(jìn)行空間數(shù)據(jù)管理、數(shù)量測量與幾何拓?fù)浞治?。在功能上,和MYSQL對比,PostGIS具有下列優(yōu)勢:
O2O業(yè)務(wù)場景中的LBS業(yè)務(wù)使用PostgreSQL + PostGIS有無法比擬的優(yōu)勢。
3)可以快速構(gòu)建REST API
PostgREST 可以方便的為任何 PostgreSQL 數(shù)據(jù)庫提供完全的 RESTful API 服務(wù)。
4)支持樹狀結(jié)構(gòu)
支持R-trees這樣可擴(kuò)展的索引類型,可以更方便地處理一些特殊數(shù)據(jù)。MySQL 處理樹狀的設(shè)計(jì)會(huì)很復(fù)雜, 而且需要寫很多代碼, 而 PostgreSQL 可以高效處理樹結(jié)構(gòu)。
5)有極其強(qiáng)悍的 SQL 編程能力
支持遞歸,有非常豐富的統(tǒng)計(jì)函數(shù)和統(tǒng)計(jì)語法支持。
MySQL:支持 CREATE PROCEDURE 和 CREATE FUNCTION 語句。存儲過程可以用 SQL 和 C++ 編寫。用戶定義函數(shù)可以用 SQL、C 和 C++ 編寫。
PostgreSQL:沒有單獨(dú)的存儲過程,都是通過函數(shù)實(shí)現(xiàn)的。用戶定義函數(shù)可以用 PL/pgSQL(專用的過程語言)、PL/Tcl、PL/Perl、PL/Python 、SQL 和 C 編寫。
6)外部數(shù)據(jù)源支持
可以把 70 種外部數(shù)據(jù)源 (包括 Mysql, Oracle, CSV, hadoop …) 當(dāng)成自己數(shù)據(jù)庫中的表來查詢。Postgres有一個(gè)針對這一難題的解決方案:一個(gè)名為“外部數(shù)據(jù)封裝器(Foreign Data Wrapper,F(xiàn)DW)”的特性。該特性最初由PostgreSQL社區(qū)領(lǐng)袖Dave Page四年前根據(jù)SQL標(biāo)準(zhǔn)SQL/MED(SQL Management of External Data)開發(fā)。FDW提供了一個(gè)SQL接口,用于訪問遠(yuǎn)程數(shù)據(jù)存儲中的遠(yuǎn)程大數(shù)據(jù)對象,使DBA可以整合來自不相關(guān)數(shù)據(jù)源的數(shù)據(jù),將它們存入Postgres數(shù)據(jù)庫中的一個(gè)公共模型。這樣,DBA就可以訪問和操作其它系統(tǒng)管理的數(shù)據(jù),就像在本地Postgres表中一樣。例如,使用FDW for MongoDB,數(shù)據(jù)庫管理員可以查詢來自文檔數(shù)據(jù)庫的數(shù)據(jù),并使用SQL將它與來自本地Postgres表的數(shù)據(jù)相關(guān)聯(lián)。借助這種方法,用戶可以將數(shù)據(jù)作為行、列或JSON文檔進(jìn)行查看、排序和分組。他們甚至可以直接從Postgres向源文檔數(shù)據(jù)庫寫入(插入、更細(xì)或刪除)數(shù)據(jù),就像一個(gè)一體的無縫部署。也可以對Hadoop集群或MySQL部署做同樣的事。FDW使Postgres可以充當(dāng)企業(yè)的中央聯(lián)合數(shù)據(jù)庫或“Hub”。
7)沒有字符串長度限制
一般關(guān)系型數(shù)據(jù)庫的字符串有限定長度8k左右,無限長 TEXT 類型的功能受限,只能作為外部大數(shù)據(jù)訪問。而PostgreSQL的 TEXT 類型可以直接訪問,SQL語法內(nèi)置正則表達(dá)式,可以索引,還可以全文檢索,或使用xml xpath。MySQL 的各種text字段有不同的限制,要手動(dòng)區(qū)分 small text, middle text, large text… PostgreSQL 沒有這個(gè)限制,text 能支持各種大小。
8)支持圖結(jié)構(gòu)數(shù)據(jù)存儲
沒有具體使用過,具體可以自己搜索下。參考鏈接:
9)支持窗口函數(shù)
窗口函數(shù)提供跨行相關(guān)的當(dāng)前查詢行集執(zhí)行計(jì)算的能力。僅當(dāng)調(diào)用跟著OVER子句的聚集函數(shù),作為窗口函數(shù);否則它們作為常規(guī)的聚合函數(shù)。窗口也是一種分組,但和 group by 的分組不同。窗口,可以提供分組之外,還可以執(zhí)行對每個(gè)窗口進(jìn)行計(jì)算??梢韵嘞癯墒莋roup by 后,然后對每個(gè)分組進(jìn)行計(jì)算,而不像Group by ,只是單純地分組。MySQL 不支持 OVER 子句, 而PostgreSQL支持。OVER 子句能簡單的解決 “每組取 top 5” 的這類問題。MySQL支持的SQL語法(ANSI SQL標(biāo)準(zhǔn))的很小一部分。不支持遞歸查詢、通用表表達(dá)式(Oracle的with 語句)或者窗口函數(shù)(分析函數(shù))。
10)對索引的支持更強(qiáng)
PostgreSQL 的可以使用函數(shù)和條件索引,這使得PostgreSQL數(shù)據(jù)庫的調(diào)優(yōu)非常靈活,mysql就沒有這個(gè)功能,條件索引在web應(yīng)用中很重要。對于索引類型:
MySQL:取決于存儲引擎。MyISAM:BTREE,InnoDB:BTREE。
PostgreSQL:支持 B-樹、哈希、R-樹和 Gist 索引。
InnoDB的表和索引都是按相同的方式存儲。也就是說表都是索引組織表。這一般要求主鍵不能太長而且插入時(shí)的主鍵最好是按順序遞增,否則對性能有很大影響。PostgreSQL不存在這個(gè)問題。
索引類型方面,MySQL取決于存儲引擎。MyISAM:BTREE,InnoDB:BTREE。PostgreSQL支持 B-樹、哈希、R-樹和 Gist 索引。
11)集群支持更好
Mysql Cluster可能與你的想象有較大差異。開源的cluster軟件較少。復(fù)制(Replication)功能是異步的并且有很大的局限性。例如,它是單線程的(single-threaded),因此一個(gè)處理能力更強(qiáng)的Slave的恢復(fù)速度也很難跟上處理能力相對較慢的Master。
PostgreSQL有豐富的開源cluster軟件支持。plproxy 可以支持語句級的鏡像或分片,slony 可以進(jìn)行字段級的同步設(shè)置,standby 可以構(gòu)建WAL文件級或流式的讀寫分離集群,同步頻率和集群策略調(diào)整方便,操作非常簡單。
另外,PostgreSQL的主備復(fù)制屬于物理復(fù)制,相對于MySQL基于binlog的邏輯復(fù)制,數(shù)據(jù)的一致性更加可靠,復(fù)制性能更高,對主機(jī)性能的影響也更小。對于WEB應(yīng)用來說,復(fù)制的特性很重要,mysql到現(xiàn)在也是異步復(fù)制,pgsql可以做到同步,異步,半同步復(fù)制。還有mysql的同步是基于binlog復(fù)制,類似oracle golden gate,是基于stream的復(fù)制,做到同步很困難,這種方式更加適合異地復(fù)制,pgsql的復(fù)制基于wal,可以做到同步復(fù)制。同時(shí),pgsql還提供stream復(fù)制。
12)事務(wù)隔離做的更好
MySQL 的事務(wù)隔離級別 repeatable read 并不能阻止常見的并發(fā)更新, 得加鎖才可以, 但悲觀鎖會(huì)影響性能, 手動(dòng)實(shí)現(xiàn)樂觀鎖又復(fù)雜. 而 PostgreSQL 的列里有隱藏的樂觀鎖 version 字段, 默認(rèn)的 repeatable read 級別就能保證并發(fā)更新的正確性, 并且又有樂觀鎖的性能。
13)對于字符支持更好一些
MySQL 里需要 utf8mb4 才能顯示 emoji 的坑, PostgreSQL 沒這個(gè)坑。
14)對表連接支持較完整
對表連接支持較完整,MySQL只有一種表連接類型:嵌套循環(huán)連接(nested-loop),不支持排序-合并連接(sort-merge join)與散列連接(hash join)。PostgreSQL都支持。
15)存儲方式支持更大的數(shù)據(jù)量
PostgreSQL主表采用堆表存放,MySQL采用索引組織表,能夠支持比MySQL更大的數(shù)據(jù)量。
16)時(shí)間精度更高
MySQL對于時(shí)間、日期、間隔等時(shí)間類型沒有秒以下級別的存儲類型,而PostgreSQL可以精確到秒以下。
17)優(yōu)化器的功能較完整
MySQL對復(fù)雜查詢的處理較弱,查詢優(yōu)化器不夠成熟,explain看執(zhí)行計(jì)劃的結(jié)果簡單。性能優(yōu)化工具與度量信息不足。
PostgreSQL很強(qiáng)大的查詢優(yōu)化器,支持很復(fù)雜的查詢處理。explain返回豐富的信息。提供了一些性能視圖,可以方便的看到發(fā)生在一個(gè)表和索引上的select、delete、update、insert統(tǒng)計(jì)信息,也可以看到cache命中率。網(wǎng)上有一個(gè)開源的pgstatspack工具。
18)序列支持更好
MySQL 不支持多個(gè)表從同一個(gè)序列中取 id, 而 PostgreSQL 可以。
19)對子查詢支持更好
對子查詢的支持。雖然在很多情況下在SQL語句中使用子查詢效率低下,而且絕大多數(shù)情況下可以使用帶條件的多表連接來替代子查詢,但是子查詢的存在在很多時(shí)候仍然不可避免。而且使用子查詢的SQL語句與使用帶條件的多表連接相比具有更高的程序可讀性。幾乎任何數(shù)據(jù)庫的子查詢 (subquery) 性能都比 MySQL 好。
20)增加列更加簡單
MySQL表增加列,基本上是重建表和索引,會(huì)花很長時(shí)間。PostgreSQL表增加列,只是在數(shù)據(jù)字典中增加表定義,不會(huì)重建表.
MySQL相對于PostgreSQL的優(yōu)勢
1)MySQL比PostgreSQL更流行
流行對于一個(gè)商業(yè)軟件來說,也是一個(gè)很重要的指標(biāo),流行意味著更多的用戶,意味著經(jīng)受了更多的考驗(yàn),意味著更好的商業(yè)支持、意味著更多、更完善的文檔資料。易用,很容易安裝。第三方工具,包括可視化工具,讓用戶能夠很容易入門。
2)回滾實(shí)現(xiàn)更優(yōu)
innodb的基于回滾段實(shí)現(xiàn)的MVCC機(jī)制,相對PG新老數(shù)據(jù)一起存放的基于XID的MVCC機(jī)制,是占優(yōu)的。新老數(shù)據(jù)一起存放,需要定時(shí)觸發(fā)VACUUM,會(huì)帶來多余的IO和數(shù)據(jù)庫對象加鎖開銷,引起數(shù)據(jù)庫整體的并發(fā)能力下降。而且VACUUM清理不及時(shí),還可能會(huì)引發(fā)數(shù)據(jù)膨脹。
3)在Windows上運(yùn)行更可靠
與PostgreSQL相比,MySQL更適宜在Windows環(huán)境下運(yùn)行。MySQL作為一個(gè)本地的Windows應(yīng)用程序運(yùn)行(在 NT/Win2000/WinXP下,是一個(gè)服務(wù)),而PostgreSQL是運(yùn)行在Cygwin模擬環(huán)境下。PostgreSQL在Windows下運(yùn)行沒有MySQL穩(wěn)定,應(yīng)該是可以想象的。
4)線程模式相比進(jìn)程模式的優(yōu)勢
MySQL使用了線程,而PostgreSQL使用的是進(jìn)程。在不同線程之間的環(huán)境轉(zhuǎn)換和訪問公用的存儲區(qū)域顯然要比在不同的進(jìn)程之間要快得多。
進(jìn)程模式對多CPU利用率比較高。進(jìn)程模式共享數(shù)據(jù)需要用到共享內(nèi)存,而線程模式數(shù)據(jù)本身就是在進(jìn)程空間內(nèi)都是共享的,不同線程訪問只需要控制好線程之間的同步。
線程模式對資源消耗比較少。所以MySQL能支持遠(yuǎn)比PostgreSQL多的更多的連接。但PostgreSQL中有優(yōu)秀的連接池軟件軟件,如pgbouncer和pgpool,所以通過連接池也可以支持很多的連接。
5)權(quán)限設(shè)置上更加完善
MySQL在權(quán)限系統(tǒng)上比PostgreSQL某些方面更為完善。PostgreSQL只支持對于每一個(gè)用戶在一個(gè)數(shù)據(jù)庫上或一個(gè)數(shù)據(jù)表上的 INSERT、SELECT和UPDATE/DELETE的授權(quán),而MySQL允許你定義一整套的不同的數(shù)據(jù)級、表級和列級的權(quán)限。對于列級的權(quán)限, PostgreSQL可以通過建立視圖,并確定視圖的權(quán)限來彌補(bǔ)。MySQL還允許你指定基于主機(jī)的權(quán)限,這對于目前的PostgreSQL是無法實(shí)現(xiàn)的,但是在很多時(shí)候,這是有用的。
6)存儲引擎插件化機(jī)制
MySQL的存儲引擎插件化機(jī)制,使得它的應(yīng)用場景更加廣泛,比如除了innodb適合事務(wù)處理場景外,myisam適合靜態(tài)數(shù)據(jù)的查詢場景。
7)適應(yīng)24/7運(yùn)行
MySQL可以適應(yīng)24/7運(yùn)行。在絕大多數(shù)情況下,你不需要為MySQL運(yùn)行任何清除程序。PostgreSQL目前仍不完全適應(yīng)24/7運(yùn)行,這是因?yàn)槟惚仨毭扛粢欢螘r(shí)間運(yùn)行一次VACUUM。
8)更加試用于簡單的場景
PostgreSQL只支持堆表,不支持索引組織表,Innodb只支持索引組織表。
索引組織表的優(yōu)勢:表內(nèi)的數(shù)據(jù)就是按索引的方式組織,數(shù)據(jù)是有序的,如果數(shù)據(jù)都是按主鍵來訪問,那么訪問數(shù)據(jù)比較快。而堆表,按主鍵訪問數(shù)據(jù)時(shí),是需要先按主鍵索引找到數(shù)據(jù)的物理位置。
索引組織表的劣勢:索引組織表中上再加其它的索引時(shí),其它的索引記錄的數(shù)據(jù)位置不再是物理位置,而是主鍵值,所以對于索引組織表來說,主鍵的值不能太大,否則占用的空間比較大。
對于索引組織表來說,如果每次在中間插入數(shù)據(jù),可能會(huì)導(dǎo)致索引分裂,索引分裂會(huì)大大降低插入的性能。所以對于使用innodb來說,我們一般最好讓主鍵是一個(gè)無意義的序列,這樣插入每次都發(fā)生在最后,以避免這個(gè)問題。
由于索引組織表是按一個(gè)索引樹,一般它訪問數(shù)據(jù)塊必須按數(shù)據(jù)塊之間的關(guān)系進(jìn)行訪問,而不是按物理塊的訪問數(shù)據(jù)的,所以當(dāng)做全表掃描時(shí)要比堆表慢很多,這可能在OLTP中不明顯,但在數(shù)據(jù)倉庫的應(yīng)用中可能是一個(gè)問題。
總結(jié)
MySQL從一開始就沒有打算做所有事情,因而它在功能方面有一定的局限性,并不能滿足一些先進(jìn)應(yīng)用程序的要求。MySQL對某些功能(例如引用、事務(wù)、審計(jì)等)的實(shí)現(xiàn)方式使得它與其他的關(guān)系型數(shù)據(jù)庫相比缺少了一些可靠性。對于簡單繁重的讀取操作,使用PostgreSQL可能有點(diǎn)小題大做,同時(shí)性能也比MySQL這樣的同類產(chǎn)品要差。除非你需要絕對的數(shù)據(jù)完整性,ACID遵從性或者設(shè)計(jì)復(fù)雜,否則PostgreSQL對于簡單的場景而言有點(diǎn)多余。
如何你確定只在MySQL和PostgreSQL中進(jìn)行選擇,以下規(guī)則總是有效的:
如果你的操作系統(tǒng)是Windows,你應(yīng)該使用MySQL。
當(dāng)絕對需要可靠性和數(shù)據(jù)完整性的時(shí)候,PostgreSQL是更好的選擇。
如果需要數(shù)據(jù)庫執(zhí)行定制程序,那么可擴(kuò)展的PostgreSQL是更好的選擇。
你的應(yīng)用處理的是地理數(shù)據(jù),由于R-TREES的存在,你應(yīng)該使用PostgreSQL。
如果你對數(shù)據(jù)庫并不了十分了解,甚至不知道事務(wù)、存儲過程等究竟是什么,你應(yīng)該使用MySQL。
IBM 的DB2
作為關(guān)系數(shù)據(jù)庫領(lǐng)域的開拓者和領(lǐng)航人,IBM在1977年完成了System R系統(tǒng)的原型,1980年開始提供集成的數(shù)據(jù)庫服務(wù)器—— System/38,隨后是SQL/DSforVSE和VM,其初始版本與SystemR研究原型密切相關(guān)。DB2 forMVSV1 在1983年推出。該版本的目標(biāo)是提供這一新方案所承諾的簡單性,數(shù)據(jù)不相關(guān)性和用戶生產(chǎn)率。1988年DB2 for MVS 提供了強(qiáng)大的在線事務(wù)處理(OLTP)支持,1989 年和1993 年分別以遠(yuǎn)程工作單元和分布式工作單元實(shí)現(xiàn)了分布式數(shù)據(jù)庫支持。最近推出的DB2 Universal Database 6.1則是通用數(shù)據(jù)庫的典范,是第一個(gè)具備網(wǎng)上功能的多媒體關(guān)系數(shù)據(jù)庫管理系統(tǒng),支持包括Linux在內(nèi)的一系列平臺。
Oracle
Oracle 前身叫SDL,由Larry Ellison 和另兩個(gè)編程人員在1977創(chuàng)辦,他們開發(fā)了自己的拳頭產(chǎn)品,在市場上大量銷售,1979 年,Oracle公司引入了第一個(gè)商用SQL 關(guān)系數(shù)據(jù)庫管理系統(tǒng)。Oracle公司是最早開發(fā)關(guān)系數(shù)據(jù)庫的廠商之一,其產(chǎn)品支持最廣泛的操作系統(tǒng)平臺。目前Oracle關(guān)系數(shù)據(jù)庫產(chǎn)品的市場占有率名列前茅。
Informix
Informix在1980年成立,目的是為Unix等開放操作系統(tǒng)提供專業(yè)的關(guān)系型數(shù)據(jù)庫產(chǎn)品。公司的名稱Informix便是取自Information 和Unix的結(jié)合。Informix第一個(gè)真正支持SQL語言的關(guān)系數(shù)據(jù)庫產(chǎn)品是Informix SE(StandardEngine)。InformixSE是在當(dāng)時(shí)的微機(jī)Unix環(huán)境下主要的數(shù)據(jù)庫產(chǎn)品。它也是第一個(gè)被移植到Linux上的商業(yè)數(shù)據(jù)庫產(chǎn)品。
Sybase
Sybase公司成立于1984年,公司名稱“Sybase”取自“system”和“database” 相結(jié)合的含義。Sybase公司的創(chuàng)始人之一Bob Epstein 是Ingres 大學(xué)版(與System/R同時(shí)期的關(guān)系數(shù)據(jù)庫模型產(chǎn)品)的主要設(shè)計(jì)人員。公司的第一個(gè)關(guān)系數(shù)據(jù)庫產(chǎn)品是1987年5月推出的Sybase SQLServer1.0。Sybase首先提出Client/Server 數(shù)據(jù)庫體系結(jié)構(gòu)的思想,并率先在Sybase SQLServer 中實(shí)現(xiàn)。
SQL Server
1987 年,微軟和IBM合作開發(fā)完成OS/2,IBM 在其銷售的OS/2 ExtendedEdition 系統(tǒng)中綁定了OS/2Database Manager,而微軟產(chǎn)品線中尚缺少數(shù)據(jù)庫產(chǎn)品。為此,微軟將目光投向Sybase,同Sybase 簽訂了合作協(xié)議,使用Sybase的技術(shù)開發(fā)基于OS/2平臺的關(guān)系型數(shù)據(jù)庫。1989年,微軟發(fā)布了SQL Server 1.0 版。
PostgreSQL
PostgreSQL 是一種特性非常齊全的自由軟件的對象——關(guān)系性數(shù)據(jù)庫管理系統(tǒng)(ORDBMS),它的很多特性是當(dāng)今許多商業(yè)數(shù)據(jù)庫的前身。PostgreSQL最早開始于BSD的Ingres項(xiàng)目。PostgreSQL 的特性覆蓋了SQL-2/SQL-92和SQL-3。首先,它包括了可以說是目前世界上最豐富的數(shù)據(jù)類型的支持;其次,目前PostgreSQL 是唯一支持事務(wù)、子查詢、多版本并行控制系統(tǒng)、數(shù)據(jù)完整性檢查等特性的唯一的一種自由軟件的數(shù)據(jù)庫管理系統(tǒng).
mySQL
mySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。在2008年1月16號被Sun公司收購。目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。
Access數(shù)據(jù)庫
美國Microsoft公司于1994年推出的微機(jī)數(shù)據(jù)庫管理系統(tǒng)。它具有界面友好、易學(xué)易用、開發(fā)簡單、接口靈活等特點(diǎn),是典型的新一代桌面數(shù)據(jù)庫管理系統(tǒng)。其主要特點(diǎn)如下:
(1)完善地管理各種數(shù)據(jù)庫對象,具有強(qiáng)大的數(shù)據(jù)組織、用戶管理、安全檢查等功能。
(2)強(qiáng)大的數(shù)據(jù)處理功能,在一個(gè)工作組級別的網(wǎng)絡(luò)環(huán)境中,使用Access開發(fā)的多用戶數(shù)據(jù)庫管理系統(tǒng)具有傳統(tǒng)的XBASE(DBASE、FoxBASE的統(tǒng)稱)數(shù)據(jù)庫系統(tǒng)所無法實(shí)現(xiàn)的客戶服務(wù)器(Cient/Server)結(jié)構(gòu)和相應(yīng)的數(shù)據(jù)庫安全機(jī)制,Access具備了許多先進(jìn)的大型數(shù)據(jù)庫管理系統(tǒng)所具備的特征,如事務(wù)處理/出錯(cuò)回滾能力等。
(3)可以方便地生成各種數(shù)據(jù)對象,利用存儲的數(shù)據(jù)建立窗體和報(bào)表,可視性好。
(4)作為Office套件的一部分,可以與Office集成,實(shí)現(xiàn)無縫連接。
(5)能夠利用Web檢索和發(fā)布數(shù)據(jù),實(shí)現(xiàn)與Internet的連接。 Access主要適用于中小型應(yīng)用系統(tǒng),或作為客戶機(jī)/服務(wù)器系統(tǒng)中的客戶端數(shù)據(jù)庫。
FoxPro數(shù)據(jù)庫
最初由美國Fox公司1988年推出,1992年Fox公司被Microsoft公司收購后,相繼推出了FoxPro2.5、2.6和VisualFoxPro等版本,其功能和性能有了較大的提高。 FoxPro2.5、2.6分為DOS和Windows兩種版本,分別運(yùn)行于DOS和Windows環(huán)境下。FoxPro比FoxBASE在功能和性能上又有了很大的改進(jìn),主要是引入了窗口、按紐、列表框和文本框等控件,進(jìn)一步提高了系統(tǒng)的開發(fā)能力。
A day in the life of PostgreSQL
Checks email. Server-based virus scanning services
offered by McAfee, Trend Micro, Comodo, Project Honey Pot and some
other more secretive enterprises use PostgreSQL.
07:30
Listens to music on LastFM, a long term PostgreSQL user.
09:00
Call via Skype. Skype uses PostgreSQL to store all Skype chat and
call activity. Call is routed through to an external VOIP service,
running on Asterisk, which also uses PostgreSQL.
10:30
Boards flight for Boston. The Federal Aviation Authority converted
from Oracle to PostgreSQL to track critical information about the
layout of all airports in the US. FAA requires all new database GIS
projects in the organisation use it.
13:00
Researches colon cancer at a charity web site that uses a .org
domain. The charity web site runs Django on top of PostgreSQL. The .org
domain is managed by Afilias who also use PostgreSQL. The medication
described is by Genetech, producer of Avastin and other drugs, who use
PostgreSQL for integrating and mining bioinformatics data as part of the
drug discovery process.
14:00
Takes time out to go for a run, uses Runkeeper app from Fitness
keeper. Fitness Keeper uses PostgreSQL to store all metrics of runners'
routes and performances.
18:00
Relaxes by playing online games at Hi5, a social gaming site using
PostgreSQL. With 46.1m global visitors, it is the 6th most trafficked
website.
分享名稱:包含postgresql公司的詞條
分享URL:http://jinyejixie.com/article18/dsdgdgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、域名注冊、App設(shè)計(jì)、云服務(wù)器、網(wǎng)站維護(hù)、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)