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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

面试滑铁卢之:说说关系型数据库的特点

發(fā)布時(shí)間:2024/3/26 数据库 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 面试滑铁卢之:说说关系型数据库的特点 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

希望能對(duì)大家回答面試有幫助~

文章目錄

  • 一、數(shù)據(jù)庫(kù)的分類
    • 1.關(guān)系型數(shù)據(jù)庫(kù)
      • 特點(diǎn):
    • 2.非關(guān)系型數(shù)據(jù)庫(kù)(NoSQL)
      • 特點(diǎn):
  • 二、NoSQL 與關(guān)系型數(shù)據(jù)庫(kù)的區(qū)別


一、數(shù)據(jù)庫(kù)的分類

數(shù)據(jù)庫(kù)分為關(guān)系型數(shù)據(jù)庫(kù)(Mysql,SqlServer等)和非關(guān)系型數(shù)據(jù)庫(kù)(MongoDB、Redis等)

1.關(guān)系型數(shù)據(jù)庫(kù)

采用了關(guān)系模型來(lái)組織數(shù)據(jù)的數(shù)據(jù)庫(kù),其以行和列的形式存儲(chǔ)數(shù)據(jù),以便于用戶理解,關(guān)系型數(shù)據(jù)庫(kù)這一系列的行和列被稱為表,一組表組成了數(shù)據(jù)庫(kù),存儲(chǔ)的格式可以直觀地反映實(shí)體間的關(guān)系。

特點(diǎn):

1.存儲(chǔ)方式:
傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)采用表格的儲(chǔ)存方式,數(shù)據(jù)以行和列的方式進(jìn)行存儲(chǔ),要讀取和查詢都十分方便。
2.存儲(chǔ)結(jié)構(gòu):
關(guān)系型數(shù)據(jù)庫(kù)按照結(jié)構(gòu)化的方法存儲(chǔ)數(shù)據(jù),先定義好表的結(jié)構(gòu),再根據(jù)表的結(jié)構(gòu)存入數(shù)據(jù),所以整個(gè)數(shù)據(jù)表的可靠性和穩(wěn)定性都比較高,但存入數(shù)據(jù)后,如果需要修改數(shù)據(jù)表的結(jié)構(gòu)就會(huì)十分困難。
3.查詢方式:
關(guān)系型數(shù)據(jù)庫(kù)采用結(jié)構(gòu)化查詢語(yǔ)言(即SQL)來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢。
4.規(guī)范化:
在數(shù)據(jù)庫(kù)的設(shè)計(jì)開(kāi)發(fā)過(guò)程中開(kāi)發(fā)人員通常會(huì)面對(duì)同時(shí)需要對(duì)一個(gè)或者多個(gè)數(shù)據(jù)實(shí)體(包括數(shù)組、列表和嵌套數(shù)據(jù))進(jìn)行操作,這樣在關(guān)系型數(shù)據(jù)庫(kù)中,一個(gè)數(shù)據(jù)實(shí)體一般首先要分割成多個(gè)部分,然后再對(duì)分割的部分進(jìn)行規(guī)范化,規(guī)范化以后再分別存入到多張關(guān)系型數(shù)據(jù)表中。
5.事務(wù)性:
關(guān)系型數(shù)據(jù)庫(kù)強(qiáng)調(diào)ACID規(guī)則(原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)),可以滿足對(duì)事務(wù)性要求較高或者需要進(jìn)行復(fù)雜數(shù)據(jù)查詢的數(shù)據(jù)操作,而且可以充分滿足數(shù)據(jù)庫(kù)操作的高性能和操作穩(wěn)定性的要求。并且關(guān)系型數(shù)據(jù)庫(kù)十分強(qiáng)調(diào)數(shù)據(jù)的強(qiáng)一致性,對(duì)于事務(wù)的操作有很好的支持。關(guān)系型數(shù)據(jù)庫(kù)可以控制事務(wù)原子性細(xì)粒度,并且一旦操作有誤或者有需要,可以馬上回滾事務(wù)。
6.讀寫(xiě)性能:
關(guān)系型數(shù)據(jù)庫(kù)十分強(qiáng)調(diào)數(shù)據(jù)的一致性,并為此降低讀寫(xiě)性能付出了巨大的代價(jià)一旦面對(duì)海量數(shù)據(jù)的處理的時(shí)候效率就會(huì)變得很差,特別是遇到高并發(fā)讀寫(xiě)的時(shí)候性能就會(huì)下降的非常厲害。

2.非關(guān)系型數(shù)據(jù)庫(kù)(NoSQL)

出于簡(jiǎn)化數(shù)據(jù)庫(kù)結(jié)構(gòu)、避免冗余、影響性能的表連接、摒棄復(fù)雜分布式的目的被設(shè)計(jì)。指的是分布式的、非關(guān)系型的、不保證遵循ACID原則的數(shù)據(jù)存儲(chǔ)系統(tǒng)。

特點(diǎn):

1.易擴(kuò)展:
數(shù)據(jù)之間無(wú)關(guān)系,這樣就非常容易擴(kuò)展。
2.大數(shù)據(jù)量,高性能:
NoSQL數(shù)據(jù)庫(kù)都具有非常高的讀寫(xiě)性能,尤其在大數(shù)據(jù)量下,同樣表現(xiàn)優(yōu)秀。
3.靈活的數(shù)據(jù)模型:
NoSQL無(wú)須事先為要存儲(chǔ)的數(shù)據(jù)建立字段,隨時(shí)可以存儲(chǔ)自定義的數(shù)據(jù)格式。

二、NoSQL 與關(guān)系型數(shù)據(jù)庫(kù)的區(qū)別

1.存儲(chǔ)方式不同:
傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)采用表格的儲(chǔ)存方式, 數(shù)據(jù)以行和列的方式進(jìn)行存儲(chǔ)。而非關(guān)系型數(shù)據(jù)通常以數(shù)據(jù)集的方式,大量的數(shù)據(jù)集中存儲(chǔ)在一起,類似于鍵值對(duì)、圖結(jié)構(gòu)或者文檔。
2.存儲(chǔ)結(jié)構(gòu)不同:
關(guān)系型數(shù)據(jù)庫(kù)按照結(jié)構(gòu)化的方法存儲(chǔ)數(shù)據(jù),一旦存入數(shù)據(jù)后,如果需要修改數(shù)據(jù)表的結(jié)構(gòu)就會(huì)十分困難。而NoSQL數(shù)據(jù)庫(kù)由于面對(duì)的是大量非結(jié)構(gòu)化的數(shù)據(jù)的存儲(chǔ),它采用的是動(dòng)態(tài)結(jié)構(gòu),對(duì)于數(shù)據(jù)類型和結(jié)構(gòu)的改變非常的適應(yīng),可以根據(jù)數(shù)據(jù)存儲(chǔ)的需要靈活的改變數(shù)據(jù)庫(kù)的結(jié)構(gòu)。
3.存儲(chǔ)規(guī)范不同:
關(guān)系型數(shù)據(jù)庫(kù)為了避免重復(fù)、規(guī)范化數(shù)據(jù)以及充分利用好存儲(chǔ)空間,把數(shù)據(jù)按照最小關(guān)系表的形式進(jìn)行存儲(chǔ),這樣數(shù)據(jù)管理的就可以變得很清晰、一目了然,當(dāng)然這主要是一張數(shù)據(jù)表的情況。如果是多張表情況就不一樣了,由于數(shù)據(jù)涉及到多張數(shù)據(jù)表,數(shù)據(jù)表之間存在著復(fù)雜的關(guān)系,隨著數(shù)據(jù)表數(shù)量的增加,數(shù)據(jù)管理會(huì)越來(lái)越復(fù)雜。而NoSQL數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)方式是用平面數(shù)據(jù)集的方式集中存放,雖然會(huì)存在數(shù)據(jù)被重復(fù)存儲(chǔ),從而造成存儲(chǔ)空間被浪費(fèi)的問(wèn)題,但是由于基本上單個(gè)數(shù)據(jù)庫(kù)都是采用單獨(dú)存放的形式,很少采用分割存放的方式,所以這樣數(shù)據(jù)往往能存成一個(gè)整體,這對(duì)于數(shù)據(jù)的讀寫(xiě)提供了極大的方便。
4.擴(kuò)展方式不同:
擴(kuò)展方式是NoSQL數(shù)據(jù)庫(kù)與關(guān)系型數(shù)據(jù)庫(kù)差別最大的地方,由于關(guān)系型數(shù)據(jù)庫(kù)將數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)表中,數(shù)據(jù)操作的瓶頸出現(xiàn)在多張數(shù)據(jù)表的操作中,而且數(shù)據(jù)表越多這個(gè)問(wèn)題越嚴(yán)重,如果要緩解這個(gè)問(wèn)題,只能提高處理能力,也就是選擇速度更快性能更高的計(jì)算機(jī),這樣的拓展空間一定有非常有限的。而NoSQL數(shù)據(jù)庫(kù)由于使用的是數(shù)據(jù)集的存儲(chǔ)方式,它的存儲(chǔ)方式一定是分布式的,它可以添加更多數(shù)據(jù)庫(kù)服務(wù)器到資源池,然后由這些增加的服務(wù)器來(lái)負(fù)擔(dān)數(shù)據(jù)量增加的開(kāi)銷。
5.查詢方式不同:
關(guān)系型數(shù)據(jù)庫(kù)采用結(jié)構(gòu)化查詢語(yǔ)言(SQL)來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢。NoSQL數(shù)據(jù)庫(kù)使用的是非結(jié)構(gòu)化查詢語(yǔ)言,它以數(shù)據(jù)集為單位來(lái)管理和操作數(shù)據(jù),由于它沒(méi)有一個(gè)統(tǒng)一的標(biāo)準(zhǔn),所以每個(gè)數(shù)據(jù)庫(kù)廠商提供產(chǎn)品標(biāo)準(zhǔn)是不一樣的。
6.事務(wù)性不同:
關(guān)系型數(shù)據(jù)庫(kù)強(qiáng)調(diào)ACID規(guī)則(原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)),可以滿足對(duì)事務(wù)性要求較高或者需要進(jìn)行復(fù)雜數(shù)據(jù)查詢的數(shù)據(jù)操作,而且可以充分滿足數(shù)據(jù)庫(kù)操作的高性能和操作穩(wěn)定性的要求。并且關(guān)系型數(shù)據(jù)庫(kù)十分強(qiáng)調(diào)數(shù)據(jù)的強(qiáng)一致性,對(duì)于事務(wù)的操作有很好的支持。關(guān)系型數(shù)據(jù)庫(kù)可以控制事務(wù)原子性細(xì)粒度,并且一旦操作有誤或者有需要,可以馬上回滾事務(wù)。而NoSQL數(shù)據(jù)庫(kù)強(qiáng)調(diào)BASE原則(基本可用(Basically Available)、軟狀態(tài)(Soft-state)、最終一致性(Eventual Consistency)),它減少了對(duì)數(shù)據(jù)的強(qiáng)一致性支持,從而獲得了基本一致性和柔性可靠性,并且利用以上的特性達(dá)到了高可靠性和高性能,最終達(dá)到了數(shù)據(jù)的最終一致性。NoSQL數(shù)據(jù)庫(kù)雖然對(duì)于事務(wù)操作也可以使用,但由于它是一種基于節(jié)點(diǎn)的分布式數(shù)據(jù)庫(kù),對(duì)于事務(wù)的操作不能很好的支持,也很難滿足其全部的需求,所以NoSQL數(shù)據(jù)庫(kù)的性能和優(yōu)點(diǎn)更多的體現(xiàn)在大數(shù)據(jù)的處理和數(shù)據(jù)庫(kù)的擴(kuò)展方面。
7.讀寫(xiě)性能不同:
關(guān)系型數(shù)據(jù)庫(kù)十分強(qiáng)調(diào)數(shù)據(jù)的一致性,并為此降低讀寫(xiě)性能付出了巨大的代價(jià),一旦面對(duì)海量數(shù)據(jù)的處理的時(shí)候效率就會(huì)變得很差,特別是遇到高并發(fā)讀寫(xiě)的時(shí)候性能就會(huì)下降的非常厲害。NoSQL數(shù)據(jù)庫(kù)是按key-value類型進(jìn)行存儲(chǔ)的,以數(shù)據(jù)集的方式存儲(chǔ)的,因此無(wú)論是擴(kuò)展還是讀寫(xiě)都非常容易,并且NoSQL數(shù)據(jù)庫(kù)不需要關(guān)系型數(shù)據(jù)庫(kù)繁瑣的解析,所以NoSQL數(shù)據(jù)庫(kù)的大數(shù)據(jù)管理、檢索、讀寫(xiě)、分析以及可視化方面性能具有關(guān)系型數(shù)據(jù)庫(kù)不可比擬的優(yōu)勢(shì)。

總結(jié)

以上是生活随笔為你收集整理的面试滑铁卢之:说说关系型数据库的特点的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。