linux下數據庫有:1、oracle;2、mysql;3、mariadb;4、SQL Server;5、memcached,“Key-Value”型數據庫;6、redis,“Key-Value”型數據庫;7、mongodb等。
本教程操作環境:Red Hat Enterprise Linux 6.1系統、Dell G3電腦。
什么是數據庫?
數據庫就是一個存放計算機數據的倉庫,這個倉庫是按照一定的數據結構(數據結構是指數據的組織形式或數據之間的聯系)來對數據進行組織和存儲的,可以通過數據庫提供的多種方法來管理其中的數據。
linux下常見關系型數據庫
1、Oracle 數據庫
???????? Oracle 前身叫 SDL,由 Larry Ellison 和另兩個編程人員在1977創辦,他們開發了自己的拳頭產品,在市場上大量銷售,1979年,Oracle 公司引入了第一個商用 SQL關系數據庫管理系統。 Oracle公司是最早開發關系數據庫的廠商之一,其產品支持最廣泛的操作系統平臺。目前 Oracle 關系數據庫產品的市場占有率數一數二。
??????? Oracle (甲骨文)公司是目前全球最大的數據庫軟件公司,也是近年業務增長極為迅速的軟件提供與服務商。
主要應用范圍:傳統大企業,大公司,政府,金融,證券等等。
2、MySQL 數據庫
?????????? MySQL ?數據庫是一個中小型關系型數據庫管理系統,軟件開發者為瑞典 ? MySQL AB ?公司。在 ?2008 ?年 ?1 ?月 ?16 ?號被 ? Sun ?公司收購,后 ? Sun ?公司又被 ? Oracle ?公司收購。目前 ?MySQL ?被廣泛地應用 ?在 ? Internet ?上的大中小型網站中由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這 ?一特點,許多大中小型網站為了降低網站總體擁有成本而選擇了 ? MySQL ?作為網站數據庫,甚至國 ?內知名的淘寶網也選擇棄用 ? Oracle ?而更換為更開放的 ? MySQL ?。
????????? MySQL ?數據庫主要應用范圍:互聯網領域,大中小型網站,游戲公司,電商平臺等等。
3、MariaDB ?數據庫
??????????? MariaDB ? 數據庫管理系統是 ? ?MySQL ? 數據庫的一個分支,主要由開源社區維護。開發這個 ? MariaDB ? 數據庫分支的可能原因之一是:甲骨文公司收購了 ? MySQL ? 后,有將 ? ?MySQL ? 閉源的潛在 ? 風險,因此 ? ?MySQL ? 開源社區采用分支的方式來避開這個風險。 ? 開發 ? ?MariaDB ? 數據庫的目的是完全兼容 ? ?MySQL ? 數據庫,包括 ? ?API ? 和命令行,使之能輕松的成為 ? MySQL ? 的代替品。在存儲引擎方面,使用 ? ?XtraDB ? (英語: ? XtraDB ? )來代替 ? MySQL ? 的 ? ?InnoDB ?
?????????? MariaDB ? 由 ? ?MySQL ? 的創始人 ? ?Michael Widenius ? (英語: ? Michael Widenius ? )主導開發,他早前 ? 曾以 ? ?10 ? 億美元的價格,將自己創建的公司 ? MySQL AB ? 賣給了 ? ?SUN ? ,此后,隨著 ? ?SUN ? 被甲骨文收 ? 購, ? MySQL ? 的所有權也落入 ? Oracle ? 的手中, ? MariaDB ? 數據庫的名稱來自 ? ?MySQL ? 的創始人 ? Michael Widenius ? 的女兒 ? ?Maria ? 的名字。 ? ?
4、SQL Server ? 數據庫 ?
????????? microsoft SQL Server ? ?是微軟公司開發的大型關系型數據庫系統。 ? ?1987 ? ?年,微軟和 ? ?IBM ? ?合作開發完 ? ?成 ? ? OS/2 ? ?, ? ?IBM ? ?在其銷售的 ? ? OS/2 ExtendedEdition ? ?系統中綁定了 ? ? OS/2 DatabaseManager ? ?,而微 ? ?軟產品線中尚缺少數據庫產品。為此,微軟將目光投向 ? ? Sybase ? ?,同 ? ? Sybase ? ?簽訂了合作協議,使 ? ?用 ? ? Sybase ? ?的技術開發基于 ? ? OS/2 ? ?平臺的關系型數據庫。 ? ?1989 ? ?年,微軟發布了 ? ?SQLServer1.0 ? ?版。 ? ?SQL Server ? ?的功能比較全面,效率高,可以作為中型企業或單位的數據庫平臺。 ? ?SQL Server ? ?可以 ? ?windows ? ?操作系統緊密集成,不論是應用程序開發速度還是系統事務處理運 ? ?行速度,都能得到較大的 提升。 ? ?SQL Server ? ?的缺點是只能在 ? ? Windows ? ?系統下運行。 ?
主要應用范圍:部分企業電商(央視購物),使用 ? ?windows ? ?服務器平臺的企業。 ??
linux下常用非關系型數據庫管理系統
1、memcached(Key-Value)
???????? Memcached ? ?是一個開源的、高性能的、具有分布式內存對象的緩存系統。通過它可以減輕數據庫負載,加速動態的 ? ? Web ? ?應用,最初版本由 ? ? LiveJoumal ? ?的 ? ? Brad Fitzpatrick ? ?在 ? ?2003 ? ?年開發完成。 ? ?目前全球有非常多的用戶都在使用它來構建自己的大負載網站或提高自己的高訪問網站的響應速 ? ?度。注意: ? ?Memcache ? ?是這個項目的名稱,而 ? ?Memcached ? ?是服務器端的主程序文件名。 ?
???????? 緩存一般用來保存一些經常被存取的對象或數據(例如,瀏覽器會把經常訪問的網頁緩存起來一 ? ?樣),通過緩存來存取對象或數據要比在磁盤上存取快很多,前者是內存,后 者是磁盤。 ? ?Memcached ? ?是一種純內存緩存系統,把經常存取的對象或數據緩存在 ? ? Memcached ? ?的內存中, ? ?這些被緩存的數據被程序通過 ? ?API ? ?的方式被存取, ? ?Memcached ? ?里面的數據就像一張巨大的 ? ? HASH ?
表,數據以 ? ? Key-Value ? ?對的方式存在。 ? ?Memcached ? ?通過緩存經常被存取的對象或數據,從而減輕頻繁讀取數據庫的壓力,提高網站的響應速度 ? ?. ? ?
官方: ? ?http://Memcached.org/ ?
由于Memcached 為純內存緩存軟件,一旦重啟所有數據都會丟失,因此,新浪網基于Memcached 開發了一個開源項目 MemcacheDB。通過為 Memcached 增加 Berkeley DB 的持久化存儲機制和異步主輔復制機制,使 Memcached 具備了事務恢復能力、持久化數據存儲能力和分布式復制能力,但是最近幾年逐漸被其他的持久化產品替代例如Redis。
2、Redis(Key-Value)
Redis 是一個Key-Value 型存儲系統。但Redis支持的存儲value 類型相對更多,包括 String(字符串)、list(鏈表)、set(集合)和 zset(有序集合)等。這些數據類型都支持 push/pop、add/remove 及取交集、并集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,Redis 支持各種不同方式的排序。與 Memcached 一樣,為了保證效率,Redis 的數據都是緩存在內存中。區別是 Redis 會周期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件,并且在此基礎上實現了 Master-Slave(主從)同步。
Redis 是一個高性能的 Key-Value 數據庫。Redis 的出現,很大程度補償了 Memcached 這類 Key-Value 存儲的不足,在部分場合可以對關系數據庫有很好的補充作用。它提供了 PythonRuby,erlang,php 客戶端,使用很方便。
官方:http://www.Redis.io/documentation
?????? Redis ? ?特點: ? ?
3、MongoDB(Document-Web) ? ? ?
MongoDB 是一個介于關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的。他支持的數據結構非常松散,類似 json 的 Bjson 格式,因此可以存儲比較復 雜的數據類型。MongoDB 最大的特點是他支持查詢語言非常強大,其語法有點類似于面向對象的查詢語言,幾乎可以實現類似關系數據庫單表查詢的絕大部分功能,而且還支持對數據建立索引。它的特點是高性能、易部署、易使用,存儲數據非常方便。
MongoDB 服務端可運行在 Linux、Windows 或 OS X 平臺,支持32位和64位應用,默認端口為27017。推薦運行在64位平臺。
McmgoDB 把數據存儲在文件中(默認路徑為:/data/db)。
相關推薦:《Linux視頻教程》