數(shù)據(jù)庫共有3種類型,為關系數(shù)據(jù)庫、非關系型數(shù)據(jù)庫和鍵值數(shù)據(jù)庫。
專注于為中小企業(yè)提供成都做網(wǎng)站、網(wǎng)站制作服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)石鼓免費做網(wǎng)站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了超過千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉變。
1、關系數(shù)據(jù)庫
MySQL、MariaDB(MySQL的代替品,英文維基百科從MySQL轉向MariaDB)、Percona Server(MySQL的代替品·)、PostgreSQL、Microsoft Access、Microsoft SQL Server、Google Fusion Tables、FileMaker、Oracle數(shù)據(jù)庫、Sybase、dBASE、Clipper、FoxPro、foshub。
幾乎所有的數(shù)據(jù)庫管理系統(tǒng)都配備了一個開放式數(shù)據(jù)庫連接(ODBC)驅動程序,令各個數(shù)據(jù)庫之間得以互相集成。
2、非關系型數(shù)據(jù)庫(NoSQL)
BigTable(Google)、Cassandra、MongoDB、CouchDB。
3、鍵值(key-value)數(shù)據(jù)庫
Apache Cassandra(為Facebook所使用):高度可擴展、Dynamo、LevelDB(Google)。
擴展資料:
數(shù)據(jù)庫模型:對象模型、層次模型(輕量級數(shù)據(jù)訪問協(xié)議)、網(wǎng)狀模型(大型數(shù)據(jù)儲存)、關系模型、面向對象模型、半結構化模型、平面模型(表格模型,一般在形式上是一個二維數(shù)組。如表格模型數(shù)據(jù)Excel)。
數(shù)據(jù)庫的架構可以大致區(qū)分為三個概括層次:內層、概念層和外層。
參考資料來源:百度百科—數(shù)據(jù)庫
Redis是一個nosql數(shù)據(jù)庫,可以存儲key-value值。因為其底層實現(xiàn)中,數(shù)據(jù)讀寫是基于內存,速度非???,所以常用于緩存;進而因其為獨立部署的中間件,常用于分布式緩存的實現(xiàn)方案。
常用場景有:緩存、秒殺控制、分布式鎖。
雖然其是基于內存讀寫,但底層也有持久化機制;同時具備集群模式;不用擔心其可用性。
關于Redis的使用,可以參考《Redis的使用方法、常見應用場景》
經(jīng)常會有人問我數(shù)據(jù)庫是干啥的,其實一開始我是拒絕回答的,因為我也不能做到通俗易懂的表達出來,畢竟我接觸這個概念也沒有多長時間,但隨著問的人多了,我覺得是時候腦補一下我的第一堂課了,萬一哪天冒出來個貨跟你掰扯這事兒,你沒分分鐘給他說清,最后弄個丟里兒丟面兒,好尷尬呀。
數(shù)據(jù)庫,說白了就是按照數(shù)據(jù)結構來組織、存儲和管理數(shù)據(jù)的倉庫,這些數(shù)據(jù)是結構化的,并可為多種應用服務。也就是說,數(shù)據(jù)庫是使用計算機服務器來存儲數(shù)據(jù)的,專門用來提供各種數(shù)據(jù)服務??梢赃@樣想像,過去一個公司的所有財務數(shù)據(jù)都是放在保險柜里面,而現(xiàn)在我們就可以針對這些財務數(shù)據(jù)搭建一個數(shù)據(jù)庫放在某臺計算機或服務器上面;再比如,企業(yè)或事業(yè)單位的人事部門常常要把本單位職工的基本情況(職工號、姓名、年齡、性別、籍貫、工資、簡歷等)存放在表中,這張表就可以看成是一個數(shù)據(jù)庫。有了這個"數(shù)據(jù)倉庫"我們就可以根據(jù)需要隨時查詢某職工的基本情況,也可以查詢工資在某個范圍內的職工人數(shù)等等。這些工作如果都能在計算機上自動進行,那我們的人事管理就可以達到極高的水平。此外,在財務管理、倉庫管理、生產(chǎn)管理中也需要建立眾多的這種"數(shù)據(jù)庫",使其可以利用計算機實現(xiàn)財務、倉庫、生產(chǎn)的自動化管理。最常見的數(shù)據(jù)庫有:銀行儲蓄系統(tǒng)、手機話費系統(tǒng)、美容美發(fā)會員系統(tǒng)、超市會員積分系統(tǒng)、水電費系統(tǒng)、機票或火車票系統(tǒng)等,這些都需要后臺數(shù)據(jù)庫基礎設施的支撐。舉了這么多例子,應該是把數(shù)據(jù)庫說明白了,至少能在大腦里面有個概念,知道這個東西是干啥的。
現(xiàn)在大數(shù)據(jù)被炒的紅得發(fā)紫,而大數(shù)據(jù)的基礎也是數(shù)據(jù),由此可見,數(shù)據(jù)是一個企業(yè)的核心資源,說它是企業(yè)的立身之本、發(fā)展之基都不為過,因此,維護數(shù)據(jù)庫的數(shù)據(jù)庫管理員(DBA)是企業(yè)不可或缺的。
目前市面上的數(shù)據(jù)庫產(chǎn)品有很多,單從規(guī)模上分可分為大型、中型、小型幾種,典型的數(shù)據(jù)庫產(chǎn)品如下:
大型數(shù)據(jù)庫:Oracle、DB2、Sybase;
中型數(shù)據(jù)庫:MySQL、SQLServer、Infomix;
小型數(shù)據(jù)庫:Access、VisualFoxpro。在眾多的數(shù)據(jù)庫產(chǎn)品中,Oracle數(shù)據(jù)庫一直處于行業(yè)領導先地位,也是當今最流行的關系型數(shù)據(jù)庫。Oracle可翻譯成"甲骨文",它是一家以數(shù)據(jù)庫為主業(yè)的全球化公司,是全球第二大軟件公司(第一名是微軟公司),目前Oracle在數(shù)據(jù)庫軟件市場已經(jīng)排名第一,數(shù)據(jù)庫軟件市場份額達到48.6%,遙遙領先于第二名占有率僅為20.7%的IBM公司的DB2。在中國市場上的計算機專業(yè)系統(tǒng)后臺所使用的數(shù)據(jù)庫尤以Oracle數(shù)據(jù)庫居多。但是購買Oracle數(shù)據(jù)庫需要很大一筆費用,一般的大型企業(yè)使用,需要有專業(yè)人員進行管理和維護,中小企業(yè)承擔不起。中小企業(yè)為了節(jié)省成本,一般使用MySQL、PostgreSQL這類免費開源的數(shù)據(jù)庫,所以Oracle數(shù)據(jù)庫相關的工作崗位一般是在大型企業(yè)中。
對于為什么選擇Oracle數(shù)據(jù)庫,而不是其他的數(shù)據(jù)庫?
第一,是因為Oracle數(shù)據(jù)庫占據(jù)最大的市場份額,并且越來越大,市場需要很多Oracle數(shù)據(jù)庫方面的人才,中國有句老話說"做對事,選對人",是同樣的道理;第二,是很多非Oracle數(shù)據(jù)庫的老系統(tǒng)正往Oracle數(shù)據(jù)庫遷移,其他數(shù)據(jù)庫市場占有率在減少,其他數(shù)據(jù)庫工作者有面臨失業(yè)的風險;第三,Oracle有大量的官方學習文檔,還有部分中文文檔,可以有效地進行學習;第四,Oracle有大量的從業(yè)人員,有共同方向的朋友可以互相幫助,不再是孤膽英雄;第五,是可以很容易地從Oracle官方網(wǎng)站下載功能齊全的數(shù)據(jù)庫最新版本進行學習,可以讓你了解數(shù)據(jù)庫方面的最新發(fā)展趨勢等。
在此說明,以后的所有內容都是基于Oracle11g數(shù)據(jù)庫產(chǎn)品的,下面我們就簡單介紹一下Oracle11g的系列產(chǎn)品:
企業(yè)版(EnterpriseEdition)此版本包含了數(shù)據(jù)庫的所有組件,并且能夠通過購買選項和程序包來進一步對其增強。
能支持例如大業(yè)務量的在線事務處理OLTP(On-LineTransactionProcessing聯(lián)機事務處理系統(tǒng))環(huán)境、查詢密集的數(shù)據(jù)倉庫和要求苛刻的互聯(lián)網(wǎng)應用程序。
標準版1(StandardEditionOne)此版本為工作組、部門級和互聯(lián)網(wǎng)、內聯(lián)網(wǎng)應用程序提供了前所未有的易用性和性價比。從針對小型商務的單服務器環(huán)境到大型的分布式部門環(huán)境,該版本包含了構建重要商務應用程序所必需的全部工具。它僅許可在最高容量為2個處理器的服務器上使用,支持Windows/Linux/UNIX操作系統(tǒng),并支持64位平臺操作系統(tǒng)。
標準版(StandardEdition)此版本提供了StandardEditionOne所不具有的易用性、能力和性能,并且利用真正的應用集群(RAC)提供了對更大型計算機和服務集群的支持。它可以在最高容量為4個處理器的單臺服務器上、或者在一個支持最多4個處理器的集群上使用,可支持Windows、Linux和UNIX操作系統(tǒng),并支持64位平臺操作系統(tǒng)。
簡化版此版本支持與標準版1、標準版和企業(yè)版完全兼容的單用戶開發(fā)和部署。通過將Oracle數(shù)據(jù)庫獲獎的功能引入到個人工作站中,該版本提供了結合世界上最流行的數(shù)據(jù)庫功能的數(shù)據(jù)庫,并且該數(shù)據(jù)庫具有桌面產(chǎn)品通常具有的易用性和簡單性,可支持Linux和Windows操作系統(tǒng)。
從存儲結構上來說,目前流行的數(shù)據(jù)庫主要包含以下兩種:
RDBMS:關系型數(shù)據(jù)庫,是指采用了關系模型來組織數(shù)據(jù)的數(shù)據(jù)庫;
NoSQL數(shù)據(jù)庫,是指那些非關系型的、分布式的數(shù)據(jù)庫。簡單來說,關系模型指的就是二維表格模型,而一個關系型數(shù)據(jù)庫就是由二維表及其之間的聯(lián)系所組成的一個數(shù)據(jù)組織。
關系型數(shù)據(jù)庫優(yōu)點:
1、容易理解
二維表結構是非常貼近邏輯世界的一個概念,關系模型相對網(wǎng)狀、層次等其他模型來說更容易理解。
2、使用方便
通用的SQL語言使得操作關系型數(shù)據(jù)庫非常方便。
3、易于維護
豐富的完整性大大減低了數(shù)據(jù)冗余和數(shù)據(jù)部移植的概率。
4、事務安全
所有關系型數(shù)據(jù)庫都不同程度的遵守事物的四個基本屬性,因此對于銀行、電信、證券等交易型業(yè)務是不可或缺的。
關系型數(shù)據(jù)庫的瓶頸:
1、高并發(fā)讀寫需求
網(wǎng)站的用戶并發(fā)性非常高,往往達到每秒上萬次讀寫請求,對于傳統(tǒng)型數(shù)據(jù)庫來說,硬盤I/O是一個很大的瓶頸。
2、海量數(shù)據(jù)的高效率讀寫
互聯(lián)網(wǎng)上每天產(chǎn)生的數(shù)據(jù)量是巨大的,對于關系型數(shù)據(jù)庫來說,在一張包含海量數(shù)據(jù)的表中查詢,效率是非常低的。
3、高擴展性和可用性
在基于WEB的結構中,數(shù)據(jù)庫是最難進行橫向擴展的,當一個應用系統(tǒng)的用戶量和訪問量與日俱增的時候,數(shù)據(jù)庫卻沒有辦法像WEBServer和APPLICATIONServer那樣簡單的通過添加更多的硬件和服務節(jié)點來擴展性能和負載能力。對于很多需要提供24小時不間斷服務的網(wǎng)站來說,對數(shù)據(jù)庫系統(tǒng)進行升級和擴展是非常痛苦的事情,往往需要停機維護和數(shù)據(jù)遷移。
NoSQL數(shù)據(jù)庫
NoSQL一詞首先是CarloStrozzi在1998年提出的。2009年再次提出了NoSQL一詞,用于指那些非關系型的、分布式的,且一般不保證遵循ACID原則的數(shù)據(jù)存儲系統(tǒng)。
NoSQL具有以下特點:
1、可以彌補關系型數(shù)據(jù)庫的不足
2、針對某些特定的需求而設計,可以具有極高的性能
3、大部分都是開源的,由于成熟度不夠,存在潛在的穩(wěn)定性和維護性問題。
關系型數(shù)據(jù)庫適用于結構化數(shù)據(jù),而非關系型數(shù)據(jù)庫適用于非結構化數(shù)據(jù),二者優(yōu)勢互補,相得益彰。
Oracle數(shù)據(jù)庫未來的發(fā)展方向是提供結構化、非結構化、半結構化的解決方案,實現(xiàn)關系型數(shù)據(jù)庫和NoSQL共存互補。值得強調的是,目前關系型數(shù)據(jù)庫仍是主流數(shù)據(jù)庫。
雖然NoSQL數(shù)據(jù)庫打破了關系型數(shù)據(jù)庫存儲的觀念,可以很好地滿足WEB2.0時代數(shù)據(jù)的存儲要求,但NoSQL數(shù)據(jù)庫也有自己的缺陷。在現(xiàn)階段的情況下,可以將關系型數(shù)據(jù)庫和NoSQL數(shù)據(jù)庫結合使用,相互彌補各自的不足。
關于數(shù)據(jù)庫及其代表產(chǎn)品Oracle今天就介紹這么多,有興趣的可以繼續(xù)深挖,希望我的介紹能讓你對數(shù)據(jù)庫有一個更深入的認識。如果有志于在這方面發(fā)展的話,就讓我們一起跟往事干杯從頭再來。