目錄
- 關(guān)系型數(shù)據(jù)庫(kù):
- Oracle
- SQLServer
- Sybase
- Informix
- Access
- DB2
- mysql
- vfp
- Ingers
- FoxPro
- 非關(guān)系型數(shù)據(jù)庫(kù):
- MongoDB
- Cassandra
- CouchDB
- Hypertable
- Redis
- Riak
- Neo4j
- Hadoop HBase
- Couchbase
- MemcacheDB
- REVENDB
- Voldemort
- 關(guān)系型數(shù)據(jù)庫(kù)與非關(guān)系型數(shù)據(jù)庫(kù)的對(duì)比
關(guān)系型數(shù)據(jù)庫(kù):
關(guān)系型數(shù)據(jù)庫(kù)的優(yōu)勢(shì):
- 保持?jǐn)?shù)據(jù)的一致性(事務(wù)處理)
- 由于以標(biāo)準(zhǔn)化為前提,數(shù)據(jù)更新的開(kāi)銷(xiāo)很小(相同的字段基本上都只有一處)
- 可以進(jìn)行Join等復(fù)雜查詢(xún)
缺點(diǎn):
- 高并發(fā)讀寫(xiě)需求:網(wǎng)站的用戶(hù)并發(fā)非常高,往往達(dá)到每秒上萬(wàn)次讀寫(xiě)請(qǐng)求,對(duì)于傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)來(lái)說(shuō),硬盤(pán)I/O是一個(gè)很大的瓶頸
- 海量數(shù)據(jù)的高效率讀寫(xiě):對(duì)于數(shù)據(jù)量巨大的網(wǎng)站來(lái)說(shuō),關(guān)系型數(shù)據(jù)庫(kù)的查詢(xún)效率非常低
概念:是建立在關(guān)系模型基礎(chǔ)上的數(shù)據(jù)庫(kù),借助于集合代數(shù)等數(shù)學(xué)概念和方法來(lái)處理數(shù)據(jù)庫(kù)中的數(shù)據(jù)。
常見(jiàn)的關(guān)系型數(shù)據(jù)庫(kù)
Oracle
Oracle Database,又名Oracle RDBMS,或簡(jiǎn)稱(chēng)Oracle。是甲骨文公司的一款關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。
SQLServer
美國(guó)Microsoft公司推出的一種關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)。SQL Server是一個(gè)可擴(kuò)展的、高性能的、為分布式客戶(hù)機(jī)/服務(wù)器計(jì)算所設(shè)計(jì)的數(shù)據(jù)庫(kù)管理系統(tǒng),實(shí)現(xiàn)了與WindowsNT的有機(jī)結(jié)合,提供了基于事務(wù)的企業(yè)級(jí)信息管理系統(tǒng)方案。
Sybase
基于客戶(hù)/服務(wù)器體系結(jié)構(gòu)的數(shù)據(jù)庫(kù)。一般的關(guān)系數(shù)據(jù)庫(kù)都是基于主/從式的模型的。在主/從式的結(jié)構(gòu)中,所有的應(yīng)用都運(yùn)行在一臺(tái)機(jī)器上。用戶(hù)只是通過(guò)終端發(fā)命令或簡(jiǎn)單地查看應(yīng)用運(yùn)行的結(jié)果。而在客戶(hù)/服務(wù)器結(jié)構(gòu)中,應(yīng)用被分在了多臺(tái)機(jī)器上運(yùn)行。一臺(tái)機(jī)器是另一個(gè)系統(tǒng)的客戶(hù),或是另外一些機(jī)器的服務(wù)器。這些機(jī)器通過(guò)局域網(wǎng)或廣域網(wǎng)聯(lián)接起來(lái)。
Informix
Informix是IBM公司出品的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS)家族。
Access
Microsoft Office Access是由微軟發(fā)布的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。它結(jié)合了 MicrosoftJet Database Engine 和 圖形用戶(hù)界面兩項(xiàng)特點(diǎn),是 Microsoft Office 的系統(tǒng)程序之一。
DB2
DB2是IBM一種分布式數(shù)據(jù)庫(kù)解決方案。 DB2就是IBM開(kāi)發(fā)的一種大型關(guān)系型數(shù)據(jù)庫(kù)平臺(tái)。它支持多用戶(hù)或應(yīng)用程序在同一條SQL語(yǔ)句中查詢(xún)不同database甚至不同DBMS中的數(shù)據(jù)
mysql
MySQL是一種開(kāi)放源代碼的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS),使用最常用的數(shù)據(jù)庫(kù)管理語(yǔ)言–結(jié)構(gòu)化查詢(xún)語(yǔ)言(SQL)進(jìn)行數(shù)據(jù)庫(kù)管理。
vfp
Visual FoxPro ,是Microsoft公司從Fox公司的FoxBase數(shù)據(jù)庫(kù)軟件經(jīng)過(guò)數(shù)次改良,并且移植到Windows之后,得來(lái)的應(yīng)用程序開(kāi)發(fā)軟件,主要用于開(kāi)發(fā)數(shù)據(jù)管理與運(yùn)算等方面的軟件。VFP是Microsoft公司推出的最新可視化數(shù)據(jù)庫(kù)管理系統(tǒng)平臺(tái),是功能特別強(qiáng)大的32位數(shù)據(jù)庫(kù)管理系統(tǒng)。它提供了功能完備的工具、極其友好的用戶(hù)界面、簡(jiǎn)單的數(shù)據(jù)存取方式、獨(dú)一無(wú)二的跨平臺(tái)技術(shù),具有良好的兼容性、真正的可編譯性和較強(qiáng)的安全性,是目前最快捷、最實(shí)用的數(shù)據(jù)庫(kù)管理系統(tǒng)軟件之一。
Ingers
Ingres 是比較早的數(shù)據(jù)庫(kù)系統(tǒng),開(kāi)始于加利福尼亞大學(xué)柏克萊分校的一個(gè)研究項(xiàng)目,該項(xiàng)目開(kāi)始于 70 年代早期,在 80 年代早期結(jié)束。像柏克萊大學(xué)的其他研究項(xiàng)目一樣,它的代碼使用BSD許可證。從 80 年代中期,在Ingres 基礎(chǔ)上產(chǎn)生了很多商業(yè)數(shù)據(jù)庫(kù)軟件,包括 Sybase、Microsoft SQL Server、NonStop SQL、Informix 和許多其他的系統(tǒng)。在 80 年代中期啟動(dòng)的后繼項(xiàng)目 Postgres,產(chǎn)生了PostgreSQL、Illustra,無(wú)論從任何意義上來(lái)說(shuō),Ingres都是歷史上最有影響的計(jì)算機(jī)研究項(xiàng)目之一。
FoxPro
FoxPro是一種功能強(qiáng)大的數(shù)據(jù)庫(kù),是當(dāng)今最受歡迎的數(shù)據(jù)庫(kù)管理軟件之一. FoxPro比FoxBASE在功能和性能上又有了很大的改進(jìn),主要是引入了窗口、按紐、列表框和文本框等控件,進(jìn)一步提高了系統(tǒng)的開(kāi)發(fā)能力。
非關(guān)系型數(shù)據(jù)庫(kù):
分類(lèi): 
優(yōu)點(diǎn):
- 成本:NoSql數(shù)據(jù)庫(kù)簡(jiǎn)單易部署,基本都是開(kāi)源軟件,不需要使用像oracle那樣花費(fèi)大量成本購(gòu)買(mǎi)使用,相比關(guān)系型數(shù)據(jù)庫(kù)價(jià)格便宜。
- 查詢(xún)速度:NoSql數(shù)據(jù)庫(kù)將數(shù)據(jù)存儲(chǔ)于緩存之中,關(guān)系型數(shù)據(jù)庫(kù)將數(shù)據(jù)存儲(chǔ)在硬盤(pán)中,自然查詢(xún)速度遠(yuǎn)不及NoSql數(shù)據(jù)庫(kù)。
- 存儲(chǔ)格式:NoSql數(shù)據(jù)庫(kù)的存儲(chǔ)格式是Key,Value形式,文檔形式,圖片形式等,所以可以存儲(chǔ)基礎(chǔ)類(lèi)型以及對(duì)象或者是集合等各種格式,而數(shù)據(jù)庫(kù)則只支持基礎(chǔ)類(lèi)型。
- 擴(kuò)展性:關(guān)系型數(shù)據(jù)庫(kù)有類(lèi)似join這樣的多表查詢(xún)機(jī)制的限制,導(dǎo)致擴(kuò)展很艱難。
缺點(diǎn):
- 維護(hù)的工具和資料有限,因?yàn)镹oSql屬于新技術(shù),不能和關(guān)系型數(shù)據(jù)庫(kù)10幾年的技術(shù)同日而語(yǔ)。
- 不提供對(duì)Sql的支持,如果不支持Sql這樣的工業(yè)標(biāo)準(zhǔn),將產(chǎn)生一定用戶(hù)的學(xué)習(xí)和使用成本。
- 不提供關(guān)系型數(shù)據(jù)庫(kù)對(duì)事物的處理。
常見(jiàn)的非關(guān)系型數(shù)據(jù)庫(kù)
MongoDB
面向文檔的數(shù)據(jù)庫(kù)
MongoDB是個(gè)面向文檔的數(shù)據(jù)庫(kù),使用JSON風(fēng)格的數(shù)據(jù)格式。它非常適合于網(wǎng)站的數(shù)據(jù)存儲(chǔ)、內(nèi)容管理與緩存應(yīng)用,并且通過(guò)配置可以實(shí)現(xiàn)復(fù)制與高可用性功能。
MongoDB具有很強(qiáng)的可伸縮性,性能表現(xiàn)優(yōu)異。它使用C++編寫(xiě),基于文檔存儲(chǔ)。此外,MongoDB還支持全文檢索、跨WAN與LAN的高可用性、易于實(shí)現(xiàn)的復(fù)制、水平擴(kuò)展、基于文檔的豐富查詢(xún)、在數(shù)據(jù)處理與聚合等方面具有很強(qiáng)的靈活性。
Cassandra
面向列的數(shù)據(jù)庫(kù)
這是個(gè)Apache軟件基金會(huì)的項(xiàng)目,Cassandra是個(gè)分布式數(shù)據(jù)庫(kù),支持分散的數(shù)據(jù)存儲(chǔ),可以實(shí)現(xiàn)容錯(cuò)以及無(wú)單點(diǎn)故障等。換句話說(shuō),“Cassandra非常適合于那些無(wú)法忍受數(shù)據(jù)丟失的應(yīng)用”。
CouchDB
面向文檔的數(shù)據(jù)庫(kù)
這也是Apache軟件基金會(huì)的一個(gè)項(xiàng)目,CouchDB是另一個(gè)面向文檔的數(shù)據(jù)庫(kù),以JSON格式存儲(chǔ)數(shù)據(jù)。它兼容于ACID,像MongoDB一樣,CouchDB也可以用于存儲(chǔ)網(wǎng)站的數(shù)據(jù)與內(nèi)容,以及提供緩存等。你可以通過(guò)JavaScript在CouchDB上運(yùn)行MapReduce查詢(xún)。此外,CouchDB還提供了一個(gè)非常方便的基于Web的管理控制臺(tái)。它非常適合于Web應(yīng)用。
Hypertable
Hypertable模仿的是Google的BigTable數(shù)據(jù)庫(kù)系統(tǒng)。Hypertable的創(chuàng)建者將“成為高可用、PB規(guī)模的數(shù)據(jù)庫(kù)開(kāi)源標(biāo)準(zhǔn)”作為Hypertable的目標(biāo)。換言之,Hypertable的設(shè)計(jì)目標(biāo)是跨越多個(gè)廉價(jià)的服務(wù)器可靠地存儲(chǔ)大量數(shù)據(jù)。
Redis
鍵值存儲(chǔ)
這是個(gè)開(kāi)源、高級(jí)的鍵值存儲(chǔ)。由于在鍵中使用了hash、set、string、sorted set及l(fā)ist,因此Redis也稱(chēng)作數(shù)據(jù)結(jié)構(gòu)服務(wù)器。這個(gè)系統(tǒng)可以幫助你執(zhí)行原子操作,比如說(shuō)增加hash中的值、集合的交集運(yùn)算、字符串拼接、差集與并集等。Redis通過(guò)內(nèi)存中的數(shù)據(jù)集實(shí)現(xiàn)了高性能。此外,該數(shù)據(jù)庫(kù)還兼容于大多數(shù)編程語(yǔ)言。
Riak
Riak是最為強(qiáng)大的分布式數(shù)據(jù)庫(kù)之一,它提供了輕松且可預(yù)測(cè)的伸縮能力,向用戶(hù)提供了快速測(cè)試、原型與應(yīng)用部署能力,從而簡(jiǎn)化應(yīng)用的開(kāi)發(fā)過(guò)程。
Neo4j
Neo4j是一款NoSQL圖型數(shù)據(jù)庫(kù),具有非常高的性能。它擁有一個(gè)健壯且成熟的系統(tǒng)的所有特性,向程序員提供了靈活且面向?qū)ο蟮木W(wǎng)絡(luò)結(jié)構(gòu),可以讓開(kāi)發(fā)者充分享受到擁有完整事務(wù)特性的數(shù)據(jù)庫(kù)的所有好處。相較于RDBMS,Neo4j還對(duì)某些應(yīng)用提供了不少性能改進(jìn)。
Hadoop HBase
HBase是一款可伸縮、分布式的大數(shù)據(jù)存儲(chǔ)。它可以用在數(shù)據(jù)的實(shí)時(shí)與隨機(jī)訪問(wèn)的場(chǎng)景下。HBase擁有模塊化與線性的可伸縮性,并且能夠保證讀寫(xiě)的嚴(yán)格一致性。HBase提供了一個(gè)Java API,可以實(shí)現(xiàn)輕松的客戶(hù)端訪問(wèn);提供了可配置且自動(dòng)化的表分區(qū)功能;還有Bloom過(guò)濾器以及block緩存等特性。
Couchbase
雖然Couchbase是CouchDB的派生,不過(guò)它已經(jīng)成為了一款功能完善的數(shù)據(jù)庫(kù)產(chǎn)品。它向文檔數(shù)據(jù)庫(kù)轉(zhuǎn)移的趨勢(shì)會(huì)讓MongoDB感到壓力。每個(gè)節(jié)點(diǎn)上它都是多線程的,這是個(gè)非常主要的可伸縮性?xún)?yōu)勢(shì),特別是當(dāng)托管在自定義或是Bare-Metal硬件上時(shí)更是如此。借助于一些非常棒的集成特性,諸如與Hadoop的集成,Couchbase對(duì)于數(shù)據(jù)存儲(chǔ)來(lái)說(shuō)是個(gè)非常不錯(cuò)的選擇。
MemcacheDB
臨時(shí)性鍵值存儲(chǔ)
這是個(gè)分布式的鍵值存儲(chǔ)系統(tǒng),我們不應(yīng)該將其與緩存解決方案搞混;相反,它是個(gè)持久化存儲(chǔ)引擎,用于數(shù)據(jù)存儲(chǔ)并以非??焖偾铱煽康姆绞綑z索數(shù)據(jù)。它遵循memcache協(xié)議。其存儲(chǔ)后端用于Berkeley DB中,支持諸如復(fù)制與事務(wù)等特性。
REVENDB
RAVENDB是第二代開(kāi)源數(shù)據(jù)庫(kù),它面向文檔存儲(chǔ)并且無(wú)模式,這樣就可以輕松將對(duì)象存儲(chǔ)到其中了。它提供了非常靈活且快速的查詢(xún),通過(guò)對(duì)復(fù)制、多租與分片提供開(kāi)箱即用的支持使得我們可以非常輕松地實(shí)現(xiàn)伸縮功能。它對(duì)ACID事務(wù)提供了完整的支持,同時(shí)又能保證數(shù)據(jù)的安全性。除了高性能之外,它還通過(guò)bundle提供了輕松的可擴(kuò)展性。
Voldemort
這是個(gè)自動(dòng)復(fù)制的分布式存儲(chǔ)系統(tǒng)。它提供了自動(dòng)化的數(shù)據(jù)分區(qū)功能,透明的服務(wù)器失敗處理、可插拔的序列化功能、獨(dú)立的節(jié)點(diǎn)、數(shù)據(jù)版本化以及跨越各種數(shù)據(jù)中心的數(shù)據(jù)分發(fā)功能。
關(guān)系型數(shù)據(jù)庫(kù)與非關(guān)系型數(shù)據(jù)庫(kù)的對(duì)比

數(shù)據(jù)庫(kù)多如牛毛,而且有一些數(shù)據(jù)庫(kù)提供了相似的特性,本文所列出的只是其中比較有代表性的12款數(shù)據(jù)庫(kù)介紹。你是否使用過(guò)他們呢?他們有哪些特性打動(dòng)了你,讓你決定使用他們呢?非常歡迎將你的經(jīng)歷與看法與我們一起分享,希望大家以后多多支持腳本之家!
您可能感興趣的文章:- NoSQL開(kāi)篇之為什么要使用NoSQL
- MySQL系列之開(kāi)篇 MySQL關(guān)系型數(shù)據(jù)庫(kù)基礎(chǔ)概念
- MySQL數(shù)據(jù)庫(kù)char與varchar的區(qū)別分析及使用建議
- asp經(jīng)典入門(mén)教程 在ASP中使用SQL 語(yǔ)句
- 使用 Osql 工具管理 SQL Server 桌面引擎 (MSDE 2000)應(yīng)用介紹
- Memcached構(gòu)建緩存服務(wù)器的方法