1.1 什么是數(shù)據(jù)庫?
簡單的說,數(shù)據(jù)庫(英文Dtabase)就是一個(gè)存放數(shù)據(jù)的倉庫,這個(gè)倉庫是按照一定的數(shù)據(jù)結(jié)果(數(shù)據(jù)結(jié)構(gòu)是指數(shù)據(jù)的組織形式或數(shù)據(jù)之間的聯(lián)系)來組織、存儲的、我們可以通過數(shù)據(jù)庫提供的多種方法來管理數(shù)據(jù)庫里的數(shù)據(jù)更簡單的形象理解,數(shù)據(jù)庫和我們生活中存放雜物的倉庫性質(zhì)一樣,區(qū)別只是存放的東西不同。
1.2 數(shù)據(jù)庫的種類
早期比較流行的數(shù)據(jù)庫模型有三種,分別為層次式數(shù)據(jù)庫、網(wǎng)絡(luò)式數(shù)據(jù)庫和關(guān)系型數(shù)據(jù)庫。而在當(dāng)今的互聯(lián)網(wǎng)中,最常用的數(shù)據(jù)庫模型主要是兩種,即關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫。
1.3 關(guān)系型數(shù)據(jù)庫介紹
(1)關(guān)系型數(shù)據(jù)庫由來
網(wǎng)絡(luò)數(shù)據(jù)庫和層次數(shù)據(jù)庫很好地解決了數(shù)據(jù)的集中和共享問題,但是在數(shù)據(jù)獨(dú)立性和抽象級別上仍有很大欠缺。用戶對這兩種數(shù)據(jù)庫進(jìn)行存取時(shí),依然需要明確數(shù)據(jù)的存儲結(jié)構(gòu),支出存儲路徑。而關(guān)系數(shù)據(jù)庫就可以較好地解決這些問題
(2)關(guān)系型數(shù)據(jù)庫介紹
關(guān)系型數(shù)據(jù)庫模型是把復(fù)雜的數(shù)據(jù)結(jié)構(gòu)歸結(jié)為簡單的二元關(guān)系(即二維表格形式)。
Oracle 在數(shù)據(jù)庫領(lǐng)域里上升到了霸主地位,形成每年高達(dá)數(shù)百億美元的龐大市場,而MySQL也是不容忽視的數(shù)據(jù)庫,以至于被Oracle重金收購
MySQL 互聯(lián)網(wǎng)市場
Oracle 傳統(tǒng)企業(yè)
(3)關(guān)系型數(shù)據(jù)庫舉例
表格
1.4 什么是關(guān)系型數(shù)據(jù)庫
二維表格
- Mysql和Oracle數(shù)據(jù)庫,互聯(lián)網(wǎng)運(yùn)維最常用的是MySQL
- 通過SQL結(jié)構(gòu)化查詢語句存儲數(shù)據(jù)
- 保持?jǐn)?shù)據(jù)一致性方面很強(qiáng),ACID理論
1.5 非關(guān)系型數(shù)據(jù)庫介紹
1.6 非關(guān)系型數(shù)據(jù)庫誕生背景
非關(guān)系型數(shù)據(jù)庫也被成為NoSQL數(shù)據(jù)庫,NOSQL的本意是“Not Olnly SQL”
指的是非關(guān)系型數(shù)據(jù)庫,而不是“No SQL”的意思,因此,NoSQL的產(chǎn)生并不是要徹底地否定非關(guān)系型數(shù)據(jù)庫,而是作為傳統(tǒng)關(guān)系型數(shù)據(jù)庫的一個(gè)有效補(bǔ)充。NOSQL數(shù)據(jù)庫在特定的場景下可以發(fā)揮出難以想象的高效率和高性能。
隨著互聯(lián)網(wǎng)Web2.0網(wǎng)站的星期,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫在應(yīng)付web2,0網(wǎng)站,特別是對于規(guī)模日益擴(kuò)大的海量數(shù)據(jù),超大規(guī)模和高并發(fā)的微博、微信、SNS類型的web2.0純動(dòng)態(tài)網(wǎng)站已經(jīng)顯得力不從心,暴露了很多難以克服的問題。
例如:傳統(tǒng)的關(guān)系型數(shù)據(jù)庫IO瓶頸、性能瓶頸都難以有效突破,于是出現(xiàn)了大批針對特定場景,以高性能和使用便利為目的功能特異化的數(shù)據(jù)庫產(chǎn)品。NOSQL(非關(guān)系型)類的數(shù)據(jù)就是在這樣的情景下誕生并得到了非常迅速的發(fā)展
高性能、高并發(fā)、對數(shù)據(jù)一致性要求不高
開源的NoSQL體系,如Facebook的Cassandra,Apache的HBase,也得到了廣泛認(rèn)同,Redis,mongb也逐漸越來越受到各類大中小型公司的歡迎和追捧
NOSQL非關(guān)系型數(shù)據(jù)庫小結(jié):
1、NOSQL不是否定關(guān)系數(shù)據(jù)庫,而是作為關(guān)系數(shù)據(jù)庫的一個(gè)重要補(bǔ)充
2、NOSQL為了高性能、高并發(fā)而生,忽略影響高性能,高并發(fā)的功能
3、NOSQL典型產(chǎn)品memcached (純內(nèi)存),redis(持久化緩存),mongodb(文檔的數(shù)據(jù)庫)
1.7 非關(guān)系型數(shù)據(jù)庫種類
(1)鍵值(Key-Value)存儲數(shù)據(jù)庫
k1—>數(shù)據(jù)
k2—>數(shù)據(jù)
鍵值數(shù)據(jù)庫就類似傳統(tǒng)語言中使用哈希表,可以通過key來添加、查詢或刪除數(shù)據(jù),因?yàn)槭褂胟ey主鍵訪問,所以會獲得很高的性能及擴(kuò)展性
鍵值(Key-Value)數(shù)據(jù)庫主要是使用一個(gè)哈希表,這個(gè)表中有一個(gè)特定的鍵和一個(gè)指針指向特定的數(shù)據(jù)。Key/value模型對于IT系統(tǒng)來說的優(yōu)勢在于簡單、易部署、高并發(fā)
典型產(chǎn)品:Memcached、Redis、MemcacheDB、BerkeleyDB
(2)列存儲(Column-oriedted)數(shù)據(jù)庫 ======>了解即可,一般公司用不到
列存儲數(shù)據(jù)庫將數(shù)據(jù)庫存儲在列族(column family)中,一個(gè)列族存儲經(jīng)常被一起查詢的相關(guān)數(shù)據(jù)。舉個(gè)例子,如果我們有一個(gè)Person類,我們通常會一起查詢他們的姓名和年齡而不是薪資。這種情況下,姓名和年齡就會被放入一個(gè)列族中,而薪資則在另一個(gè)列族中。
這部分?jǐn)?shù)據(jù)庫通常用來分布式存儲的海量數(shù)據(jù),鍵仍然存在,但是他們的特點(diǎn)是指向了多個(gè)列。
典型產(chǎn)品:Cassandra,HBase
(3)面向文檔(Document-Oriented)數(shù)據(jù)庫
面向文檔數(shù)據(jù)庫會將以文檔的形式存儲。每個(gè)文檔都是自包含的數(shù)據(jù)單元,是一系列數(shù)據(jù)項(xiàng)的集合。每個(gè)數(shù)據(jù)項(xiàng)都有一個(gè)名稱與對應(yīng)的值,值既可以是簡單的數(shù)據(jù)類型,如字符串、數(shù)字和日期等;也可以是復(fù)雜的類型,如有序列表和關(guān)系對象。數(shù)據(jù)存儲的最小單位是文檔,同一個(gè)表中存儲的文檔屬性可以是不同的,數(shù)據(jù)可以使用XML、JSON或者JSONB等多種形式存儲
典型產(chǎn)品:MorgoDB、CouchDB
(4)圖形(Graph)數(shù)據(jù)庫
1.8 常用關(guān)系型數(shù)據(jù)庫產(chǎn)品介紹
1.8.1 oracle數(shù)據(jù)庫
Oracle前身叫SDL、由Larry Ellison和兩個(gè)變成任意在1977創(chuàng)辦,他們開發(fā)了主機(jī)的拳頭產(chǎn)品,在市場上大量銷售。Oracle公司是最早開發(fā)關(guān)系型數(shù)據(jù)庫的廠商之一,其產(chǎn)品支持最廣泛的操作系統(tǒng)平臺。目前Oracle關(guān)系數(shù)據(jù)庫產(chǎn)品的市場占有率數(shù)一數(shù)二
Oracle公司是目前全球最大的數(shù)據(jù)庫軟件公司,也是近年業(yè)務(wù)增長極為迅速的軟件提供與服務(wù)商
主要應(yīng)用范圍:傳統(tǒng)大企業(yè)、大公司、政府、金融、證券等。
版本升級:oracle8i,oracle9i,oracle10g,oracle11g,oracle12c
關(guān)系型數(shù)據(jù)庫分類
1.8.2 MySQL
MySQL被廣泛的應(yīng)用在Internet上的大中小型網(wǎng)站中。由于體積小、速度快、總體擁有成本低,開放源代碼
1.8.3 MariaDB數(shù)據(jù)庫
MAriaDB數(shù)據(jù)庫管理系統(tǒng)是MySQL數(shù)據(jù)庫的一個(gè)分支,主要由開元社區(qū)維護(hù),采用GPL授權(quán)許可。開發(fā)這個(gè)MariaDB的原因之一是:甲骨文公司收購了MySQL后,有MySQL閉源的潛在風(fēng)險(xiǎn),因此MySQL開元社區(qū)采用分支的方式來避開這個(gè)風(fēng)險(xiǎn)。
MariaDB基于事務(wù)的Maria存儲引擎,替換了MySQL的MyISAM的存儲引擎,它使用了Percona的XtraDB(InnoDB的變體)這個(gè)版本還包括了PrimeBase XT (PBXT)和Federated X存儲引擎。
1.8.4 SQL Server數(shù)據(jù)庫
Microsoft SQL Server是微軟公司開發(fā)的大型關(guān)系數(shù)據(jù)庫系統(tǒng)。SQL Server的功能比較全面,效率高,可以作為中型企業(yè)或單位的數(shù)據(jù)庫平臺。SQL Server可以與Winodws操作系統(tǒng)緊密集成,不論是應(yīng)用程序開發(fā)速度還是系統(tǒng)事務(wù)處理運(yùn)行速度,都得到較大的提升,對于在Windows平臺上開發(fā)的各種企業(yè)級信息管理系統(tǒng)來說,不論是C/S(客戶機(jī)/服務(wù)器)架構(gòu)還是B/S(瀏覽器/服務(wù)器)架構(gòu)。SQL Server都是一個(gè)很好的選擇。SQL Server的缺點(diǎn)是只能在Windows系統(tǒng)下運(yùn)行
1.8.5 Access數(shù)據(jù)庫
Access是入門級小型桌面數(shù)據(jù)庫,性能安全性都很一般,可供個(gè)人管理或小型企業(yè)只用
Access不是數(shù)據(jù)庫語言,只是一個(gè)數(shù)據(jù)庫程序,目前最新版本為Office 2007,其特點(diǎn)主要如下:
(1)完善地管理各種數(shù)據(jù)庫對象,具有強(qiáng)大的數(shù)據(jù)組織,用戶管理、安全檢查等功能
(2)強(qiáng)大的數(shù)據(jù)處理功能,在一個(gè)工作組級別的網(wǎng)絡(luò)環(huán)境中,使用Access開發(fā)的多用戶管理系統(tǒng)具有傳統(tǒng)的XSASE(DBASE、FoxBASE的統(tǒng)稱)數(shù)據(jù)庫系統(tǒng)所無法實(shí)現(xiàn)的客戶服務(wù)器(Ckient/Server)結(jié)構(gòu)和響應(yīng)的數(shù)據(jù)庫安全機(jī)制,Access具備了許多先進(jìn)的大型數(shù)據(jù)管理管理系統(tǒng)所具備的特征。
(3)可以方便地生成各種數(shù)據(jù)對象,利用存儲的數(shù)據(jù)建立窗體和報(bào)表
(4)作為Office套件的一部分,可以與Office集成,實(shí)現(xiàn)無縫連接
(5)能夠利用Web檢索和發(fā)布數(shù)據(jù),實(shí)現(xiàn)與Internet的連接,Access主要適用于中小企業(yè)應(yīng)用系統(tǒng),或作為客戶機(jī)/服務(wù)器系統(tǒng)中的客戶端數(shù)據(jù)庫。
1.9 其他不常用關(guān)系型數(shù)據(jù)庫
DB2,PostgreSQL,Informix,Sybase等。這些關(guān)系型數(shù)據(jù)庫逐步的淡化了普通運(yùn)維的實(shí)現(xiàn),特別是互聯(lián)網(wǎng)公司幾乎見不到
常用非關(guān)系型數(shù)據(jù)庫產(chǎn)品介紹
1.9.1 memcached(key-value)
Memcaced是一個(gè)開源的、高性能的、具有分布式內(nèi)存對象的緩存系統(tǒng)。通過它可以減輕數(shù)據(jù)庫負(fù)載,加速動(dòng)態(tài)的web應(yīng)用,最初版本由LiveJoumal 的Brad Fitzpatrick在2003年開發(fā)完成。目前全球有非常多的用戶都在使用它來架構(gòu)主機(jī)的大負(fù)載網(wǎng)站或提升主機(jī)的高訪問網(wǎng)站的響應(yīng)速度。注意:Memcache 是這個(gè)項(xiàng)目的名稱,而Memcached是服務(wù)端的主程序文件名。
緩存一般用來保存一些進(jìn)程被存取的對象或數(shù)據(jù),通過緩存來存取對象或數(shù)據(jù)要比在磁盤上存取塊很多,前者是內(nèi)存,后者是磁盤、Memcached是一種純內(nèi)存緩存系統(tǒng),把經(jīng)常存取的對象或數(shù)據(jù)緩存在memcached的內(nèi)存中,這些被緩存的數(shù)據(jù)被程序通過API的方式被讀取,memcached里面的數(shù)據(jù)就像一張巨大的hash表,數(shù)據(jù)以key-value對的方式存在。Memcached通過緩存經(jīng)常被存取的對象或數(shù)據(jù),從而減輕頻繁讀取數(shù)據(jù)庫的壓力,提高網(wǎng)站的響應(yīng)速度,構(gòu)建出快速更快的可擴(kuò)展的Web應(yīng)用。
官網(wǎng):http://memcached.org/
由于memcached為純內(nèi)存緩存軟件,一旦重啟所有數(shù)據(jù)都會丟失,因此,新浪網(wǎng)基于Memcached開發(fā)了一個(gè)開源項(xiàng)目Memcachedb。通過為Memcached增加Berkeley DB的特久化存儲機(jī)制和異步主復(fù)制機(jī)制,使Memcached具備了事務(wù)恢復(fù)能力、持久化數(shù)據(jù)能力和分布式復(fù)制能力,memcached非常適合需要超高性能讀寫速度、持久化保存的應(yīng)用場景,但是最近幾年逐漸被其他的持久化產(chǎn)品替代如Redis
Memcached小結(jié):
1、key-value行數(shù)據(jù)庫
2、純內(nèi)存數(shù)據(jù)庫
3、持久化memcachedb(sina)
1.9.2 Redis(key-value)
和Memcached類似,redis也是一個(gè)key-value型存儲系統(tǒng)。但redis支持的存儲value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)和zset(有序集合)等。這些數(shù)據(jù)類型都支持push/pop、add/remove及取交集、并集和差集及更豐富的操作,而且這些操作都是原子性的。為了保證效率,redis的數(shù)據(jù)都是緩存在內(nèi)存中。區(qū)別是redis會周期性的把更新的數(shù)據(jù)寫入磁盤或者把修改操作寫入追加的記錄文件,并且在基礎(chǔ)上實(shí)現(xiàn)了master-slave(主從)同步。
redis是一個(gè)高性能的key-value數(shù)據(jù)庫。redis的出現(xiàn)、很大程度補(bǔ)償了memcached這類key/value存儲的不足,在部分場合可以對關(guān)系數(shù)據(jù)庫起到很好的補(bǔ)充作用。它提供了Python、Ruby、Erlang、PHP客戶端,使用方便。
官方:http://www.redis.io/documentation
redis特點(diǎn):
1)支持內(nèi)存緩存,這個(gè)功能相當(dāng)于memcached
2)支持持久化存儲,這個(gè)功能相當(dāng)于memcachedb,ttserver
3)數(shù)據(jù)庫類型更豐富。比其他key-value庫功能更強(qiáng)
4)支持主從集群、分布式
5)支持隊(duì)列等特殊功能
應(yīng)用:緩存從存取memcached更改存取redis
1.9.3 MongoDB(Document-oriented)
MongoDB是一個(gè)介于關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系型數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫的。他支持的數(shù)據(jù)庫結(jié)構(gòu)非常松散,類似json的bjson格式,因此可以存儲比較復(fù)雜的數(shù)據(jù)類型。Mongodb最大的特點(diǎn)是他支持的查詢語言非常強(qiáng)大,其語法有點(diǎn)類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實(shí)現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能,而且還支持對數(shù)據(jù)建立索引。
特點(diǎn):
高性能、易部署、易使用、存儲數(shù)據(jù)非常方便
主要功能特性:
- 面向集合存儲,易存儲對象類型的數(shù)據(jù)
- “面向集合”(Collenction-Orented)意思是數(shù)據(jù)庫被分組存儲在數(shù)據(jù)集中,被稱為一個(gè)集合(Collenction)每個(gè) 集合在數(shù)據(jù)庫中都有一個(gè)唯一的標(biāo)識名,并且可以包含無限數(shù)目的文檔,集合的概念類似關(guān)系型數(shù)據(jù)庫(RDBMS)里的表(table)不同的是它不需要定義任何模式(schema)
- 模式自由
- 模式自由(schema-free)意為著存儲在mongodb數(shù)據(jù)庫中的文件,我們不需要知道它的任何結(jié)構(gòu)定義。
- 支持動(dòng)態(tài)查詢
- 支持完全索引,包含內(nèi)部對象
- 支持查詢
- 支持復(fù)制和故障恢復(fù)
- 使用高效的二進(jìn)制數(shù)據(jù)存儲,包括大型對象
- 自動(dòng)處理碎片、以支持云計(jì)算層次的擴(kuò)展性
1.9.4 Cassandra(Column-oriented)
Apache Cassndra是一套開源分布式Key-Value存儲系統(tǒng)。它最初由Facebook開發(fā),用于存儲特別大的數(shù)據(jù)。Facebook目前在使用此系統(tǒng)。
主要特點(diǎn):
- 分布式
- 基于column的結(jié)構(gòu)化
- 高伸展性
- Cassandra的主要特點(diǎn)就是它不是一個(gè)數(shù)據(jù)庫,而是由一堆數(shù)據(jù)庫節(jié)點(diǎn)共同構(gòu)成一個(gè)分布式網(wǎng)絡(luò)服務(wù),對Cassandra的一個(gè)寫操作,會被復(fù)制到其他節(jié)點(diǎn)上去,對Cassandra的讀操作。也會被路由到某個(gè)節(jié)點(diǎn)上面去讀取。
Cassandir是一個(gè)混合型的非關(guān)系的數(shù)據(jù)庫,類似于Google的BigTable。其主要功能比Dynomie(分布式的key-value存儲系統(tǒng))更豐富,Cassandra最初由Facebook開發(fā),后轉(zhuǎn)變成了開源項(xiàng)目。
1.9.5 其他不常用非關(guān)系型數(shù)據(jù)庫
HBase、MemcacheDB、BerkeleyDB、Tokyo Cabinet\Tokyo Tyrant(ttserver)
ttserver 持久化輸出,缺點(diǎn)存儲2千萬條 性能下降(由日本人發(fā)明)
2.1 Mysql數(shù)據(jù)庫介紹
2.2 Mysql數(shù)據(jù)庫介紹
MySQL是互聯(lián)網(wǎng)領(lǐng)域里一款最要的,深受廣大用戶歡迎的開源關(guān)系型數(shù)據(jù)庫軟件之一、由瑞典MySQL AB公司開發(fā)與維護(hù)。2006年。MySQL AB公司被SUN公司收購,2008年,SUN公司又被傳統(tǒng)數(shù)據(jù)數(shù)據(jù)庫領(lǐng)域大佬甲骨文(oracle)公司收購,因此,MySQL數(shù)據(jù)庫軟件目前屬于Oracle公司,成為傳統(tǒng)數(shù)據(jù)庫領(lǐng)域老大的又一個(gè)數(shù)據(jù)庫產(chǎn)品,甲骨文公司收購MySQL后,使得自身在商業(yè)數(shù)據(jù)庫與開源軟件領(lǐng)域市場占有份額都躍居第一的位置,這樣的格局,引起了很多人的擔(dān)憂,這種擔(dān)憂直接導(dǎo)致后來的Mysql分支數(shù)據(jù)庫MariaDB的誕生于發(fā)展。
MySQL是一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng),關(guān)系型數(shù)據(jù)庫的特點(diǎn)是將數(shù)據(jù)保存在不同的表中,在將這些表放入不同的數(shù)據(jù)庫中,而不是將所有數(shù)據(jù)統(tǒng)一放在一個(gè)大倉庫里,這樣的設(shè)計(jì)增加了MySQL的讀取速度,靈活性和可管理型也得到了很大提高,訪問以及管理MySQL數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言為SQL結(jié)構(gòu)化查詢語句
2.3 為什么選擇MySQL數(shù)據(jù)庫
原因可能有以下幾點(diǎn):
(1) MySQL性能卓越、服務(wù)穩(wěn)定,很少出現(xiàn)異常宕機(jī)
(2) MySQL開放源代碼且無版權(quán)制約,自主性及使用成本低
(3) MySQL歷史悠久,社區(qū)及用戶活躍,遇到問題可以解決
(4) MySQL軟件體積小,安裝使用簡單,并且易于文虎,安裝及維護(hù)成本低
(5) MySQL品牌口碑效應(yīng),使得企業(yè)無需考慮就直接用,LAMP、LEMP流行架構(gòu)
(6) MySQL支持多用操作系統(tǒng),提供多種API接口,支持多用開發(fā)語言,特別對流行的PHP語言有很好的支持
2.4 MySQL數(shù)據(jù)庫分類與版本升級
MySQL數(shù)據(jù)庫的官方網(wǎng)站為http://www.mysql.com,其發(fā)布的MySQL版本采用雙授權(quán)政策,和大多數(shù)開源產(chǎn)品的路線一樣,分為社區(qū)版和商業(yè)版,而這兩個(gè)版本又各自分四個(gè)版本依次發(fā)布,這四個(gè)版本為:Alpha版、Beta版、RC版和GA版本
MySQL數(shù)據(jù)庫商業(yè)版與社區(qū)辦區(qū)別
MySQL商業(yè)版與社區(qū)辦之間的區(qū)別在于:
1、商業(yè)版本組織管理與測試環(huán)節(jié)控制更嚴(yán)格,穩(wěn)定性方面,會比社區(qū)版本更穩(wěn)定
2、MySQL是成熟產(chǎn)品,商業(yè)版與社區(qū)辦之間性能方面相差不大
3、商業(yè)版不遵守GPL協(xié)議,社區(qū)版遵守GPL協(xié)議可以免費(fèi)試用
4、使用商業(yè)版后可以購買相關(guān)的服務(wù),享受7*24小時(shí)技術(shù)支持以及及時(shí)打補(bǔ)丁等服務(wù),但是用戶必須為此支持服務(wù)費(fèi)用
5、社區(qū)版本的維護(hù)服務(wù)只能靠社區(qū)提供,無法像商業(yè)版本獲得故障及補(bǔ)丁解決服務(wù)了,但是社區(qū)版是完全免費(fèi)的方式,社區(qū)版的服務(wù)質(zhì)量與時(shí)效性等方面就無法與MySQL AB公司提供的服務(wù)相比了
2.5 MySQL數(shù)據(jù)庫四種發(fā)布版本介紹
(1)Alpha版
Alpha版一般只在開發(fā)的公司內(nèi)部運(yùn)行,不對外公開
(2)Beta版
Beta版一般是完成功能的開發(fā)與所有的測試工作之后的產(chǎn)品,不會存在較大的功能或性能BUG,并且邀請或提供給用戶體驗(yàn)與測試,以便更全面地測試軟件的問題。
(3)RC版
RC版屬于生產(chǎn)環(huán)境發(fā)布之前的一個(gè)小版本或稱候選版,是根據(jù)Beta版本測試結(jié)果,收集到的BUG或缺陷之處等收集到的信息,進(jìn)行修復(fù)和完善之后的一版產(chǎn)品
(4)GA版
GA版是軟件產(chǎn)品正式發(fā)布的版本,也稱生產(chǎn)版本的產(chǎn)品
2.6 MySQL產(chǎn)品路線
為了提高M(jìn)ySQL產(chǎn)品的競爭優(yōu)勢,以及提高性能,降低開發(fā)維護(hù)成本等原因。同時(shí)方便企業(yè)用戶更精準(zhǔn)的選擇適合的版本用于主機(jī)的企業(yè)生產(chǎn)環(huán)境中,
MySQL在發(fā)展到5.1版本系列之后,重新規(guī)劃為三條產(chǎn)品線
第一條-5.0.xx到5.1.xx產(chǎn)品線系列介紹
MySQL 5.1是當(dāng)前穩(wěn)定(產(chǎn)品質(zhì)量)發(fā)布系列。只針對漏洞修復(fù)重新發(fā)布:沒有增加會影響穩(wěn)定性的新功能。 MySQL 5.1:Previous stable(production-quality)release MySQL 5.0是前一穩(wěn)定(產(chǎn)品質(zhì)量)發(fā)布系列。只針對嚴(yán)重漏洞修復(fù)和安全修復(fù)重新發(fā)布:沒有增加會影響該系列的重要功能。
MySQL 5.0:Older stable release nearing the end of the product lifecycle
第二條-5.4.xx開始-到了5.7.xx產(chǎn)品線系列介紹
為了更好地整合MySQL AB公司社區(qū)和第三方公司開發(fā)的新存儲引擎,以及吸收新的實(shí)現(xiàn)算法等,從而更好地支持SMP架構(gòu),提高性能而做了大量的代碼重構(gòu),版本編號從5.4.xx開始,目前發(fā)展到了5.6.x MySQL 5.5:LatestGeneral Availability(Production)release
主流:互聯(lián)網(wǎng)公司用MySQL.5.5
第三條-6.0.xx到7.1.xx產(chǎn)品線系列介紹
為了更好地推廣MySQL Cluster版本,以及提高M(jìn)ySQL Cluster的性能和穩(wěn)定性,以及功能改進(jìn)和增加,以及改動(dòng)MySQL基礎(chǔ)功能,使其對Cluster存儲引擎提供更有效的支持與優(yōu)化。版本號為6.0.xx開發(fā)。目前發(fā)展到7.1.xx
http://dev.mysql.com/downloads/mysql
官方地址提供數(shù)據(jù)庫下載版本:
http://mysql.ntu.edu.tw/Downloads
現(xiàn)在國內(nèi)的鏡像站也支持下載:
http://mirrors.sohu.com/mysql/
2.7 MySQL數(shù)據(jù)庫軟件命名介紹
MySQL數(shù)據(jù)庫軟件的名字是由3個(gè)數(shù)字和一個(gè)后綴組成的版本號。
例如,像mysql-5.0.56.tar.gz的版本號解釋:
(1) 第1個(gè)數(shù)字(5)是主版本號,描述了文件格式。所有版本5發(fā)行都有相同文件格式
(2) 第2個(gè)數(shù)字(0)是發(fā)行級別。主版本號和發(fā)行級別組合到一起便構(gòu)成了發(fā)型序列號。
(3) 第3個(gè)數(shù)字(56)是在此系列的版本號,隨每個(gè)新分發(fā)遞增,通常你需要已經(jīng)選擇的發(fā)行(release)的最新版本
(4) 后綴顯示發(fā)行的穩(wěn)定級別,通過一系列后綴顯示如何改進(jìn)穩(wěn)定性,可能的后綴有:*alpha版
2.8 MySQL版本選擇最終建議
企業(yè)生產(chǎn)場景選擇MySQL數(shù)據(jù)庫建議:
1) 穩(wěn)定版:選擇開源的社區(qū)版的穩(wěn)定版GA版本
2) 產(chǎn)品線:可以選擇5.1或5.5 互聯(lián)網(wǎng)公司主流5.5,其次是5.1和5.6
3) 選擇MySQL數(shù)據(jù)庫GA版發(fā)布后6個(gè)月以上的GA版本。
4)要選擇前后幾個(gè)月沒有大的BUG修復(fù)的版本,而不是大量修復(fù)BUG的集中版本
5)最好向后較長時(shí)間沒有更新發(fā)布的版本
6)要考慮開發(fā)人員開發(fā)程序使用的版本是否兼容你選的版本
7)作為內(nèi)部開發(fā)人員開發(fā)測試數(shù)據(jù)庫環(huán)境,跑大概3-6個(gè)月的事件
8)優(yōu)先企業(yè)非核心業(yè)務(wù)采用新版本的數(shù)據(jù)庫GA版本軟件
9)向DBA高手請教,或者在及技術(shù)氛圍好的群里和大家一起交流,使用真正的高手們用過的好用的GA版本產(chǎn)品
10)若是沒有重要的功能BUG或性能瓶頸,則可以開始考慮作為任何任務(wù)數(shù)據(jù)服務(wù)的后端數(shù)據(jù)庫軟件
<
p style=”margin-top: 10px; font-size: 15px; font-family: Helvetica, ‘Hiragino Sans GB’, 微軟雅黑, ‘Microsoft YaHei UI’, SimSun, SimHei, arial, sans-serif; line-height: 24px;”>yum/rpm安裝適合對數(shù)據(jù)庫要求不太高的場合,例如并發(fā)布大,公司內(nèi)部,企業(yè)內(nèi)部的一些應(yīng)用場景。大的門戶把源碼根據(jù)企業(yè)需求制作成rpm,搭建rpm倉庫。