關系型數(shù)據(jù)庫,是指采用了關系模型來組織數(shù)據(jù)的數(shù)據(jù)庫。
關系模型是在1970年由IBM的研究員E.F.Codd博士首先提出的,在之后的幾十年中,關系模型的概念得到了充分的發(fā)展并逐漸成為主流數(shù)據(jù)庫結構的主流模型。
簡單來說,關系模型指的就是二維表格模型,而一個關系型數(shù)據(jù)庫就是由二維表及其之間的聯(lián)系所組成的一個數(shù)據(jù)組織。
關系模型中常用的概念:
關系:可以理解為一張二維表,每個關系都具有一個關系名,就是通常說的表名
元組:可以理解為二維表中的一行,在數(shù)據(jù)庫中經(jīng)常被稱為記錄
屬性:可以理解為二維表中的一列,在數(shù)據(jù)庫中經(jīng)常被稱為字段
域:屬性的取值范圍,也就是數(shù)據(jù)庫中某一列的取值限制
關鍵字:一組可以唯一標識元組的屬性,數(shù)據(jù)庫中常稱為主鍵,由一個或多個列組成
關系模式:指對關系的描述。其格式為:關系名(屬性1,屬性2, ... ... ,屬性N),在數(shù)據(jù)庫中成為表結構
關系型數(shù)據(jù)庫的優(yōu)點:
容易理解:二維表結構是非常貼近邏輯世界的一個概念,關系模型相對網(wǎng)狀、層次等其他模型來說更容易理解
使用方便:通用的SQL語言使得操作關系型數(shù)據(jù)庫非常方便
易于維護:豐富的完整性(實體完整性、參照完整性和用戶定義的完整性)大大減低了數(shù)據(jù)冗余和數(shù)據(jù)不一致的概率
高并發(fā)讀寫需求
網(wǎng)站的用戶并發(fā)性非常高,往往達到每秒上萬次讀寫請求,對于傳統(tǒng)關系型數(shù)據(jù)庫來說,硬盤I/O是一個很大的瓶頸
海量數(shù)據(jù)的高效率讀寫
網(wǎng)站每天產(chǎn)生的數(shù)據(jù)量是巨大的,對于關系型數(shù)據(jù)庫來說,在一張包含海量數(shù)據(jù)的表中查詢,效率是非常低的
高擴展性和可用性
在基于web的結構當中,數(shù)據(jù)庫是最難進行橫向擴展的,當一個應用系統(tǒng)的用戶量和訪問量與日俱增的時候,數(shù)據(jù)庫卻沒有辦法像web server和app server那樣簡單的通過添加更多的硬件和服務節(jié)點來擴展性能和負載能力。對于很多需要提供24小時不間斷服務的網(wǎng)站來說,對數(shù)據(jù)庫系統(tǒng)進行升級和擴展是非常痛苦的事情,往往需要停機維護和數(shù)據(jù)遷移。
對網(wǎng)站來說,關系型數(shù)據(jù)庫的很多特性不再需要了:
事務一致性
關系型數(shù)據(jù)庫在對事物一致性的維護中有很大的開銷,而現(xiàn)在很多web2.0系統(tǒng)對事物的讀寫一致性都不高
讀寫實時性
對關系數(shù)據(jù)庫來說,插入一條數(shù)據(jù)之后立刻查詢,是肯定可以讀出這條數(shù)據(jù)的,但是對于很多web應用來說,并不要求這么高的實時性,比如發(fā)一條消息之后,過幾秒乃至十幾秒之后才看到這條動態(tài)是完全可以接受的
復雜SQL,特別是多表關聯(lián)查詢
任何大數(shù)據(jù)量的web系統(tǒng),都非常忌諱多個大表的關聯(lián)查詢,以及復雜的數(shù)據(jù)分析類型的復雜SQL報表查詢,特別是SNS類型的網(wǎng)站,從需求以及產(chǎn)品階級角度,就避免了這種情況的產(chǎn)生。往往更多的只是單表的主鍵查詢,以及單表的簡單條件分頁查詢,SQL的功能極大的弱化了
在關系型數(shù)據(jù)庫中,導致性能欠佳的最主要原因是多表的關聯(lián)查詢,以及復雜的數(shù)據(jù)分析類型的復雜SQL報表查詢。為了保證數(shù)據(jù)庫的ACID特性,我們必須盡量按照其要求的范式進行設計,關系型數(shù)據(jù)庫中的表都是存儲一個格式化的數(shù)據(jù)結構。每個元組字段的組成都是一樣,即使不是每個元組都需要所有的字段,但數(shù)據(jù)庫會為每個元組分配所有的字段,這樣的結構可以便于標語表之間進行鏈接等操作,但從另一個角度來說它也是關系型數(shù)據(jù)庫性能瓶頸的一個因素。
MySQL Mariadb這2款是開源軟件 作者是同一個人。
簡單介紹一下開源軟件的概念
很多人認為開源軟件=免費。其實是不準確的。開源的含義是可以自由傳播的軟件。包括修改后的軟件都是開放的。說到這里不得不提的是GPL協(xié)議(GNU通用公共許可證)。通過此協(xié)議,規(guī)定了使用開源軟件的權利和義務。通俗來講。就是說修改完開源軟件之后的軟件也是開源的。如果變?yōu)槭召M版的商業(yè)軟件,那么就會違反GPL協(xié)議。將會收到相應的制裁。
所以開源軟件極大的提升了人類的潛能。造成了it界百花齊放,飛速發(fā)展
關系型數(shù)據(jù)庫的大特點就是事務的一致性:傳統(tǒng)的關系型數(shù)據(jù)庫讀寫操作都是事務的,具有ACID的特點,這個特性使得關系型數(shù)據(jù)庫可以用于幾乎所有對一致性有要求的系統(tǒng)中,如典型的銀行系統(tǒng)。
但是,在網(wǎng)頁應用中,尤其是SNS應用中,一致性卻不是顯得那么重要,用戶A看到的內(nèi)容和用戶B看到同一用戶C內(nèi)容更新不一致是可以容忍的,或者說,兩個人看到同一好友的數(shù)據(jù)更新的時間差那么幾秒是可以容忍的,因此,關系型數(shù)據(jù)庫的大特點在這里已經(jīng)無用武之地,起碼不是那么重要了。
相反地,關系型數(shù)據(jù)庫為了維護一致性所付出的巨大代價就是其讀寫性能比較差,而像微博、facebook這類SNS的應用,對并發(fā)讀寫能力要求極高,關系型數(shù)據(jù)庫已經(jīng)無法應付(在讀方面,傳統(tǒng)上為了克服關系型數(shù)據(jù)庫缺陷,提高性能,都是增加一級memcache來靜態(tài)化網(wǎng)頁,而在SNS中,變化太快,memchache已經(jīng)無能為力了),因此,必須用新的一種數(shù)據(jù)結構存儲來代替關系數(shù)據(jù)庫。
關系數(shù)據(jù)庫的另一個特點就是其具有固定的表結構,因此,其擴展性極差,而在SNS中,系統(tǒng)的升級,功能的增加,往往意味著數(shù)據(jù)結構巨大變動,這一點關系型數(shù)據(jù)庫也難以應付,需要新的結構化數(shù)據(jù)存儲。
于是,非關系型數(shù)據(jù)庫應運而生,由于不可能用一種數(shù)據(jù)結構化存儲應付所有的新的需求,因此,非關系型數(shù)據(jù)庫嚴格上不是一種數(shù)據(jù)庫,應該是一種數(shù)據(jù)結構化存儲方法的集合。
必須強調(diào)的是,數(shù)據(jù)的持久存儲,尤其是海量數(shù)據(jù)的持久存儲,還是需要一種關系數(shù)據(jù)庫這員老將。
由于非關系型數(shù)據(jù)庫本身天然的多樣性,以及出現(xiàn)的時間較短,因此,不想關系型數(shù)據(jù)庫,有幾種數(shù)據(jù)庫能夠一統(tǒng)江山,非關系型數(shù)據(jù)庫非常多,并且大部分都是開源的。
這些數(shù)據(jù)庫中,其實實現(xiàn)大部分都比較簡單,除了一些共性外,很大一部分都是針對某些特定的應用需求出現(xiàn)的,因此,對于該類應用,具有極高的性能。依據(jù)結構化方法以及應用場合的不同,主要分為以下幾類:
面向高性能并發(fā)讀寫的key-value數(shù)據(jù)庫:
key-value數(shù)據(jù)庫的主要特點即使具有極高的并發(fā)讀寫性能,Redis,Tokyo Cabinet,Flare就是這類的代表
面向海量數(shù)據(jù)訪問的面向文檔數(shù)據(jù)庫:
這類數(shù)據(jù)庫的特點是,可以在海量的數(shù)據(jù)中快速的查詢數(shù)據(jù),典型代表為MongoDB以及CouchDB
面向可擴展性的分布式數(shù)據(jù)庫:
這類數(shù)據(jù)庫想解決的問題就是傳統(tǒng)數(shù)據(jù)庫存在可擴展性上的缺陷,這類數(shù)據(jù)庫可以適應數(shù)據(jù)量的增加以及數(shù)據(jù)結構的變化
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
網(wǎng)站題目:數(shù)據(jù)庫軟件概述-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://muchs.cn/article14/cdeede.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、外貿(mào)網(wǎng)站建設、網(wǎng)站設計公司、動態(tài)網(wǎng)站、商城網(wǎng)站、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容