日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

数据库简介及类型

發布時間:2024/1/18 数据库 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据库简介及类型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.1 什么是數據庫?
簡單的說,數據庫(英文Dtabase)就是一個存放數據的倉庫,這個倉庫是按照一定的數據結果(數據結構是指數據的組織形式或數據之間的聯系)來組織、存儲的、我們可以通過數據庫提供的多種方法來管理數據庫里的數據更簡單的形象理解,數據庫和我們生活中存放雜物的倉庫性質一樣,區別只是存放的東西不同。

1.2 數據庫的種類
早期比較流行的數據庫模型有三種,分別為層次式數據庫、網絡式數據庫和關系型數據庫。而在當今的互聯網中,最常用的數據庫模型主要是兩種,即關系型數據庫和非關系型數據庫。

1.3 關系型數據庫介紹
(1)關系型數據庫由來
網絡數據庫和層次數據庫很好地解決了數據的集中和共享問題,但是在數據獨立性和抽象級別上仍有很大欠缺。用戶對這兩種數據庫進行存取時,依然需要明確數據的存儲結構,支出存儲路徑。而關系數據庫就可以較好地解決這些問題

(2)關系型數據庫介紹
關系型數據庫模型是把復雜的數據結構歸結為簡單的二元關系(即二維表格形式)。
Oracle 在數據庫領域里上升到了霸主地位,形成每年高達數百億美元的龐大市場,而MySQL也是不容忽視的數據庫,以至于被Oracle重金收購

MySQL 互聯網市場
Oracle 傳統企業

(3)關系型數據庫舉例
表格

1.4 什么是關系型數據庫
二維表格

Mysql和Oracle數據庫,互聯網運維最常用的是MySQL
通過SQL結構化查詢語句存儲數據
保持數據一致性方面很強,ACID理論
1.5 非關系型數據庫介紹
1.6 非關系型數據庫誕生背景
非關系型數據庫也被成為NoSQL數據庫,NOSQL的本意是“Not Olnly SQL”
指的是非關系型數據庫,而不是“No SQL”的意思,因此,NoSQL的產生并不是要徹底地否定非關系型數據庫,而是作為傳統關系型數據庫的一個有效補充。NOSQL數據庫在特定的場景下可以發揮出難以想象的高效率和高性能。

隨著互聯網Web2.0網站的星期,傳統的關系型數據庫在應付web2,0網站,特別是對于規模日益擴大的海量數據,超大規模和高并發的微博、微信、SNS類型的web2.0純動態網站已經顯得力不從心,暴露了很多難以克服的問題。 例如:傳統的關系型數據庫IO瓶頸、性能瓶頸都難以有效突破,于是出現了大批針對特定場景,以高性能和使用便利為目的功能特異化的數據庫產品。NOSQL(非關系型)類的數據就是在這樣的情景下誕生并得到了非常迅速的發展

高性能、高并發、對數據一致性要求不高
開源的NoSQL體系,如Facebook的Cassandra,Apache的HBase,也得到了廣泛認同,Redis,mongb也逐漸越來越受到各類大中小型公司的歡迎和追捧

NOSQL非關系型數據庫小結:
1、NOSQL不是否定關系數據庫,而是作為關系數據庫的一個重要補充
2、NOSQL為了高性能、高并發而生,忽略影響高性能,高并發的功能
3、NOSQL典型產品memcached (純內存),redis(持久化緩存),mongodb(文檔的數據庫)

1.7 非關系型數據庫種類
(1)鍵值(Key-Value)存儲數據庫
k1—>數據
k2—>數據
鍵值數據庫就類似傳統語言中使用哈希表,可以通過key來添加、查詢或刪除數據,因為使用key主鍵訪問,所以會獲得很高的性能及擴展性

鍵值(Key-Value)數據庫主要是使用一個哈希表,這個表中有一個特定的鍵和一個指針指向特定的數據。Key/value模型對于IT系統來說的優勢在于簡單、易部署、高并發

典型產品:Memcached、Redis、MemcacheDB、BerkeleyDB

(2)列存儲(Column-oriedted)數據庫 ======>了解即可,一般公司用不到
列存儲數據庫將數據庫存儲在列族(column family)中,一個列族存儲經常被一起查詢的相關數據。舉個例子,如果我們有一個Person類,我們通常會一起查詢他們的姓名和年齡而不是薪資。這種情況下,姓名和年齡就會被放入一個列族中,而薪資則在另一個列族中。
這部分數據庫通常用來分布式存儲的海量數據,鍵仍然存在,但是他們的特點是指向了多個列。
典型產品:Cassandra,HBase

(3)面向文檔(Document-Oriented)數據庫
面向文檔數據庫會將以文檔的形式存儲。每個文檔都是自包含的數據單元,是一系列數據項的集合。每個數據項都有一個名稱與對應的值,值既可以是簡單的數據類型,如字符串、數字和日期等;也可以是復雜的類型,如有序列表和關系對象。數據存儲的最小單位是文檔,同一個表中存儲的文檔屬性可以是不同的,數據可以使用XML、JSON或者JSONB等多種形式存儲

典型產品:MorgoDB、CouchDB
(4)圖形(Graph)數據庫

1.8 常用關系型數據庫產品介紹
1.8.1 oracle數據庫
Oracle前身叫SDL、由Larry Ellison和兩個變成任意在1977創辦,他們開發了主機的拳頭產品,在市場上大量銷售。Oracle公司是最早開發關系型數據庫的廠商之一,其產品支持最廣泛的操作系統平臺。目前Oracle關系數據庫產品的市場占有率數一數二
Oracle公司是目前全球最大的數據庫軟件公司,也是近年業務增長極為迅速的軟件提供與服務商
主要應用范圍:傳統大企業、大公司、政府、金融、證券等。
版本升級:oracle8i,oracle9i,oracle10g,oracle11g,oracle12c

關系型數據庫分類
1.8.2 MySQL

MySQL被廣泛的應用在Internet上的大中小型網站中。由于體積小、速度快、總體擁有成本低,開放源代碼

1.8.3 MariaDB數據庫

MAriaDB數據庫管理系統是MySQL數據庫的一個分支,主要由開元社區維護,采用GPL授權許可。開發這個MariaDB的原因之一是:甲骨文公司收購了MySQL后,有MySQL閉源的潛在風險,因此MySQL開元社區采用分支的方式來避開這個風險。

MariaDB基于事務的Maria存儲引擎,替換了MySQL的MyISAM的存儲引擎,它使用了Percona的XtraDB(InnoDB的變體)這個版本還包括了PrimeBase XT (PBXT)和Federated X存儲引擎。

1.8.4 SQL Server數據庫
Microsoft SQL Server是微軟公司開發的大型關系數據庫系統。SQL Server的功能比較全面,效率高,可以作為中型企業或單位的數據庫平臺。SQL Server可以與Winodws操作系統緊密集成,不論是應用程序開發速度還是系統事務處理運行速度,都得到較大的提升,對于在Windows平臺上開發的各種企業級信息管理系統來說,不論是C/S(客戶機/服務器)架構還是B/S(瀏覽器/服務器)架構。SQL Server都是一個很好的選擇。SQL Server的缺點是只能在Windows系統下運行

1.8.5 Access數據庫
Access是入門級小型桌面數據庫,性能安全性都很一般,可供個人管理或小型企業只用
Access不是數據庫語言,只是一個數據庫程序,目前最新版本為Office 2007,其特點主要如下:
(1)完善地管理各種數據庫對象,具有強大的數據組織,用戶管理、安全檢查等功能
(2)強大的數據處理功能,在一個工作組級別的網絡環境中,使用Access開發的多用戶管理系統具有傳統的XSASE(DBASE、FoxBASE的統稱)數據庫系統所無法實現的客戶服務器(Ckient/Server)結構和響應的數據庫安全機制,Access具備了許多先進的大型數據管理管理系統所具備的特征。
(3)可以方便地生成各種數據對象,利用存儲的數據建立窗體和報表
(4)作為Office套件的一部分,可以與Office集成,實現無縫連接
(5)能夠利用Web檢索和發布數據,實現與Internet的連接,Access主要適用于中小企業應用系統,或作為客戶機/服務器系統中的客戶端數據庫。

1.9 其他不常用關系型數據庫
DB2,PostgreSQL,Informix,Sybase等。這些關系型數據庫逐步的淡化了普通運維的實現,特別是互聯網公司幾乎見不到

常用非關系型數據庫產品介紹
1.9.1 memcached(key-value)

Memcaced是一個開源的、高性能的、具有分布式內存對象的緩存系統。通過它可以減輕數據庫負載,加速動態的web應用,最初版本由LiveJoumal 的Brad Fitzpatrick在2003年開發完成。目前全球有非常多的用戶都在使用它來架構主機的大負載網站或提升主機的高訪問網站的響應速度。注意:Memcache 是這個項目的名稱,而Memcached是服務端的主程序文件名。
緩存一般用來保存一些進程被存取的對象或數據,通過緩存來存取對象或數據要比在磁盤上存取塊很多,前者是內存,后者是磁盤、Memcached是一種純內存緩存系統,把經常存取的對象或數據緩存在memcached的內存中,這些被緩存的數據被程序通過API的方式被讀取,memcached里面的數據就像一張巨大的hash表,數據以key-value對的方式存在。Memcached通過緩存經常被存取的對象或數據,從而減輕頻繁讀取數據庫的壓力,提高網站的響應速度,構建出快速更快的可擴展的Web應用。
官網:http://memcached.org/
由于memcached為純內存緩存軟件,一旦重啟所有數據都會丟失,因此,新浪網基于Memcached開發了一個開源項目Memcachedb。通過為Memcached增加Berkeley DB的特久化存儲機制和異步主復制機制,使Memcached具備了事務恢復能力、持久化數據能力和分布式復制能力,memcached非常適合需要超高性能讀寫速度、持久化保存的應用場景,但是最近幾年逐漸被其他的持久化產品替代如Redis

Memcached小結:
1、key-value行數據庫
2、純內存數據庫
3、持久化memcachedb(sina)

1.9.2 Redis(key-value)

和Memcached類似,redis也是一個key-value型存儲系統。但redis支持的存儲value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)和zset(有序集合)等。這些數據類型都支持push/pop、add/remove及取交集、并集和差集及更豐富的操作,而且這些操作都是原子性的。為了保證效率,redis的數據都是緩存在內存中。區別是redis會周期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件,并且在基礎上實現了master-slave(主從)同步。

redis是一個高性能的key-value數據庫。redis的出現、很大程度補償了memcached這類key/value存儲的不足,在部分場合可以對關系數據庫起到很好的補充作用。它提供了Python、Ruby、Erlang、PHP客戶端,使用方便。
官方:http://www.redis.io/documentation
redis特點:
1)支持內存緩存,這個功能相當于memcached
2)支持持久化存儲,這個功能相當于memcachedb,ttserver
3)數據庫類型更豐富。比其他key-value庫功能更強
4)支持主從集群、分布式
5)支持隊列等特殊功能
應用:緩存從存取memcached更改存取redis

1.9.3 MongoDB(Document-oriented)

MongoDB是一個介于關系型數據庫和非關系型數據庫之間的產品,是非關系型數據庫當中功能最豐富,最像關系數據庫的。他支持的數據庫結構非常松散,類似json的bjson格式,因此可以存儲比較復雜的數據類型。Mongodb最大的特點是他支持的查詢語言非常強大,其語法有點類似于面向對象的查詢語言,幾乎可以實現類似關系數據庫單表查詢的絕大部分功能,而且還支持對數據建立索引。

特點:
高性能、易部署、易使用、存儲數據非常方便
主要功能特性:

面向集合存儲,易存儲對象類型的數據
“面向集合”(Collenction-Orented)意思是數據庫被分組存儲在數據集中,被稱為一個集合(Collenction)每個 集合在數據庫中都有一個唯一的標識名,并且可以包含無限數目的文檔,集合的概念類似關系型數據庫(RDBMS)里的表(table)不同的是它不需要定義任何模式(schema)
模式自由
模式自由(schema-free)意為著存儲在mongodb數據庫中的文件,我們不需要知道它的任何結構定義。
支持動態查詢
支持完全索引,包含內部對象
支持查詢
支持復制和故障恢復
使用高效的二進制數據存儲,包括大型對象
自動處理碎片、以支持云計算層次的擴展性
1.9.4 Cassandra(Column-oriented)
Apache Cassndra是一套開源分布式Key-Value存儲系統。它最初由Facebook開發,用于存儲特別大的數據。Facebook目前在使用此系統。
主要特點:

分布式
基于column的結構化
高伸展性
Cassandra的主要特點就是它不是一個數據庫,而是由一堆數據庫節點共同構成一個分布式網絡服務,對Cassandra的一個寫操作,會被復制到其他節點上去,對Cassandra的讀操作。也會被路由到某個節點上面去讀取。
Cassandir是一個混合型的非關系的數據庫,類似于Google的BigTable。其主要功能比Dynomie(分布式的key-value存儲系統)更豐富,Cassandra最初由Facebook開發,后轉變成了開源項目。

1.9.5 其他不常用非關系型數據庫
HBase、MemcacheDB、BerkeleyDB、Tokyo Cabinet\Tokyo Tyrant(ttserver)
ttserver 持久化輸出,缺點存儲2千萬條 性能下降(由日本人發明)

2.1 Mysql數據庫介紹
2.2 Mysql數據庫介紹
MySQL是互聯網領域里一款最要的,深受廣大用戶歡迎的開源關系型數據庫軟件之一、由瑞典MySQL AB公司開發與維護。2006年。MySQL AB公司被SUN公司收購,2008年,SUN公司又被傳統數據數據庫領域大佬甲骨文(oracle)公司收購,因此,MySQL數據庫軟件目前屬于Oracle公司,成為傳統數據庫領域老大的又一個數據庫產品,甲骨文公司收購MySQL后,使得自身在商業數據庫與開源軟件領域市場占有份額都躍居第一的位置,這樣的格局,引起了很多人的擔憂,這種擔憂直接導致后來的Mysql分支數據庫MariaDB的誕生于發展。

MySQL是一種關系型數據庫管理系統,關系型數據庫的特點是將數據保存在不同的表中,在將這些表放入不同的數據庫中,而不是將所有數據統一放在一個大倉庫里,這樣的設計增加了MySQL的讀取速度,靈活性和可管理型也得到了很大提高,訪問以及管理MySQL數據庫的最常用標準化語言為SQL結構化查詢語句

2.3 為什么選擇MySQL數據庫
原因可能有以下幾點:
(1) MySQL性能卓越、服務穩定,很少出現異常宕機
(2) MySQL開放源代碼且無版權制約,自主性及使用成本低
(3) MySQL歷史悠久,社區及用戶活躍,遇到問題可以解決
(4) MySQL軟件體積小,安裝使用簡單,并且易于文虎,安裝及維護成本低
(5) MySQL品牌口碑效應,使得企業無需考慮就直接用,LAMP、LEMP流行架構
(6) MySQL支持多用操作系統,提供多種API接口,支持多用開發語言,特別對流行的PHP語言有很好的支持

2.4 MySQL數據庫分類與版本升級
MySQL數據庫的官方網站為http://www.mysql.com,其發布的MySQL版本采用雙授權政策,和大多數開源產品的路線一樣,分為社區版和商業版,而這兩個版本又各自分四個版本依次發布,這四個版本為:Alpha版、Beta版、RC版和GA版本

MySQL數據庫商業版與社區辦區別
MySQL商業版與社區辦之間的區別在于:
1、商業版本組織管理與測試環節控制更嚴格,穩定性方面,會比社區版本更穩定
2、MySQL是成熟產品,商業版與社區辦之間性能方面相差不大
3、商業版不遵守GPL協議,社區版遵守GPL協議可以免費試用
4、使用商業版后可以購買相關的服務,享受7*24小時技術支持以及及時打補丁等服務,但是用戶必須為此支持服務費用
5、社區版本的維護服務只能靠社區提供,無法像商業版本獲得故障及補丁解決服務了,但是社區版是完全免費的方式,社區版的服務質量與時效性等方面就無法與MySQL AB公司提供的服務相比了

2.5 MySQL數據庫四種發布版本介紹
(1)Alpha版
Alpha版一般只在開發的公司內部運行,不對外公開
(2)Beta版
Beta版一般是完成功能的開發與所有的測試工作之后的產品,不會存在較大的功能或性能BUG,并且邀請或提供給用戶體驗與測試,以便更全面地測試軟件的問題。
(3)RC版
RC版屬于生產環境發布之前的一個小版本或稱候選版,是根據Beta版本測試結果,收集到的BUG或缺陷之處等收集到的信息,進行修復和完善之后的一版產品
(4)GA版
GA版是軟件產品正式發布的版本,也稱生產版本的產品

2.6 MySQL產品路線
為了提高MySQL產品的競爭優勢,以及提高性能,降低開發維護成本等原因。同時方便企業用戶更精準的選擇適合的版本用于主機的企業生產環境中,

MySQL在發展到5.1版本系列之后,重新規劃為三條產品線

第一條-5.0.xx到5.1.xx產品線系列介紹
MySQL 5.1是當前穩定(產品質量)發布系列。只針對漏洞修復重新發布:沒有增加會影響穩定性的新功能。 MySQL 5.1:Previous stable(production-quality)release MySQL 5.0是前一穩定(產品質量)發布系列。只針對嚴重漏洞修復和安全修復重新發布:沒有增加會影響該系列的重要功能。

MySQL 5.0:Older stable release nearing the end of the product lifecycle

第二條-5.4.xx開始-到了5.7.xx產品線系列介紹
為了更好地整合MySQL AB公司社區和第三方公司開發的新存儲引擎,以及吸收新的實現算法等,從而更好地支持SMP架構,提高性能而做了大量的代碼重構,版本編號從5.4.xx開始,目前發展到了5.6.x MySQL 5.5:LatestGeneral Availability(Production)release
主流:互聯網公司用MySQL.5.5

第三條-6.0.xx到7.1.xx產品線系列介紹
為了更好地推廣MySQL Cluster版本,以及提高MySQL Cluster的性能和穩定性,以及功能改進和增加,以及改動MySQL基礎功能,使其對Cluster存儲引擎提供更有效的支持與優化。版本號為6.0.xx開發。目前發展到7.1.xx
http://dev.mysql.com/downloads/mysql
官方地址提供數據庫下載版本:
http://mysql.ntu.edu.tw/Downloads
現在國內的鏡像站也支持下載:
http://mirrors.sohu.com/mysql/

2.7 MySQL數據庫軟件命名介紹
MySQL數據庫軟件的名字是由3個數字和一個后綴組成的版本號。
例如,像mysql-5.0.56.tar.gz的版本號解釋:
(1) 第1個數字(5)是主版本號,描述了文件格式。所有版本5發行都有相同文件格式
(2) 第2個數字(0)是發行級別。主版本號和發行級別組合到一起便構成了發型序列號。
(3) 第3個數字(56)是在此系列的版本號,隨每個新分發遞增,通常你需要已經選擇的發行(release)的最新版本
(4) 后綴顯示發行的穩定級別,通過一系列后綴顯示如何改進穩定性,可能的后綴有:*alpha版

2.8 MySQL版本選擇最終建議
企業生產場景選擇MySQL數據庫建議:
1) 穩定版:選擇開源的社區版的穩定版GA版本
2) 產品線:可以選擇5.1或5.5 互聯網公司主流5.5,其次是5.1和5.6
3) 選擇MySQL數據庫GA版發布后6個月以上的GA版本。
4)要選擇前后幾個月沒有大的BUG修復的版本,而不是大量修復BUG的集中版本
5)最好向后較長時間沒有更新發布的版本
6)要考慮開發人員開發程序使用的版本是否兼容你選的版本
7)作為內部開發人員開發測試數據庫環境,跑大概3-6個月的事件
8)優先企業非核心業務采用新版本的數據庫GA版本軟件
9)向DBA高手請教,或者在及技術氛圍好的群里和大家一起交流,使用真正的高手們用過的好用的GA版本產品
10)若是沒有重要的功能BUG或性能瓶頸,則可以開始考慮作為任何任務數據服務的后端數據庫軟件

<

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安裝適合對數據庫要求不太高的場合,例如并發布大,公司內部,企業內部的一些應用場景。大的門戶把源碼根據企業需求制作成rpm,搭建rpm倉庫。

總結

以上是生活随笔為你收集整理的数据库简介及类型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。