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

歡迎訪問 生活随笔!

生活随笔

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

数据库

关系型数据库与NoSQL数据库简述

發(fā)布時間:2025/3/15 数据库 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关系型数据库与NoSQL数据库简述 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、 關(guān)系型數(shù)據(jù)庫

  • 簡單定義,關(guān)系模型指的就是二維表格模型,而一個關(guān)系型數(shù)據(jù)庫就是由二維表及其之間的聯(lián)系所組成的一個數(shù)據(jù)組織。
  • 關(guān)系模型中常用的概念:
    • 關(guān)系:可以理解為一張二維表,每個關(guān)系都具有一個關(guān)系名,就是通常說的表名
    • 元組:可以理解為二維表中的一行,在數(shù)據(jù)庫中經(jīng)常被稱為記錄
    • 屬性:可以理解為二維表中的一列,在數(shù)據(jù)庫中經(jīng)常被稱為字段
    • 域:屬性的取值范圍,也就是數(shù)據(jù)庫中某一列的取值限制
    • 關(guān)鍵字:一組可以唯一標(biāo)識元組的屬性,數(shù)據(jù)庫中常稱為主鍵,由一個或多個列組成
    • 關(guān)系模式:指對關(guān)系的描述。其格式為:關(guān)系名(屬性1,屬性2, ... ... ,屬性N),在數(shù)據(jù)庫中成為表結(jié)構(gòu)
  • 關(guān)系型數(shù)據(jù)庫的優(yōu)點:
    • 容易理解
    • 使用方便
    • 易于維護(hù)
  • 關(guān)系型數(shù)據(jù)庫瓶頸 ? ? ? ?------ > ?于是有了非關(guān)系數(shù)據(jù)庫
    • 高并發(fā)讀寫需求-->對于傳統(tǒng)關(guān)系型數(shù)據(jù)庫來說,硬盤I/O是一個很大的瓶頸。
    • 海量數(shù)據(jù)的高效率讀寫
    • 高擴(kuò)展性和可用性
  • 對許多SNS(社交網(wǎng)絡(luò)服務(wù))網(wǎng)站來說,關(guān)系型數(shù)據(jù)庫的很多特性不再需要了:
    • 事務(wù)一致性 -- >?關(guān)系型數(shù)據(jù)庫在對事物一致性的維護(hù)中有很大的開銷,而現(xiàn)在很多web2.0系統(tǒng)對事物的讀寫一致性都不高。
      • 簡述web的幾個版本
        • web1.0網(wǎng)絡(luò)是信息提供者,單向性的提供和單一性理解; ??網(wǎng)絡(luò) ?- -> ?人
        • web2.0網(wǎng)絡(luò)是平臺,用戶提供信息,通過網(wǎng)絡(luò),其他用戶獲取信息; 人- - > 人
        • web3.0網(wǎng)絡(luò)成為用戶需求理解者和提供者,網(wǎng)絡(luò)對用戶了如指掌,知道用戶有什么、要什么以及行為習(xí)慣,進(jìn)行資源篩選、智能匹配,直接給用戶答案。人-網(wǎng)絡(luò)-人
    • 讀寫實時性 - - >?對關(guān)系數(shù)據(jù)庫來說,插入一條數(shù)據(jù)之后立刻查詢,是肯定可以讀出這條數(shù)據(jù)的,但是對于很多web應(yīng)用來說,發(fā)一條消息之后,過幾秒后才看到這條動態(tài)是可以接受的。
    • 復(fù)雜SQL,特別是多表關(guān)聯(lián)查詢,很消耗性能,并且SNS類型的網(wǎng)站,從需求來說就避免了這種查詢,往往更多的只是單表的主鍵查詢,故SQL的功能極大的弱化了。
  • 關(guān)系型數(shù)據(jù)庫的最大特點就是事務(wù)的一致性,這個特性使得關(guān)系型數(shù)據(jù)庫可以用于幾乎所有對一致性有要求的系統(tǒng)中,如典型的銀行系統(tǒng)。但它為了維護(hù)一致性所付出的巨大代價就是其讀寫性能比較差。故對于微博、facebook這類SNS的高并發(fā)讀寫的應(yīng)用不適應(yīng)。
  • 針對SNS應(yīng)用,一致性卻不是顯得那么重要,用戶A看到的內(nèi)容和用戶B看到同一用戶C內(nèi)容更新不一致是可以容忍的,或者說相差幾秒,故關(guān)系型數(shù)據(jù)庫的最大特點在此用處不大。

二、非關(guān)系型數(shù)據(jù)庫(NoSQL =not only sql )


  • NoSQL,用于指代那些非關(guān)系型的,分布式的,且一般不保證遵循 ACID 原則的數(shù)據(jù)存儲系統(tǒng)。非關(guān)系型數(shù)據(jù)庫嚴(yán)格上不是一種數(shù)據(jù)庫,應(yīng)該是一種數(shù)據(jù)結(jié)構(gòu)化存儲方法的集合。
    • 數(shù)據(jù)庫事務(wù)必須具備ACID特性,ACID是Atomic原子性,Consistency一致性,Isolation隔離性,Durability持久性。
  • 非關(guān)系型數(shù)據(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
    • ?面向可擴(kuò)展性的分布式數(shù)據(jù)庫:這類數(shù)據(jù)庫想解決的問題就是傳統(tǒng)數(shù)據(jù)庫存在可擴(kuò)展性上的缺陷,這類數(shù)據(jù)庫可以適應(yīng)數(shù)據(jù)量的增加以及數(shù)據(jù)結(jié)構(gòu)的變化。





三、Redis 簡介


Redis 與其他 key - value 緩存產(chǎn)品有以下三個特點:
  • Redis支持?jǐn)?shù)據(jù)的持久化,可以將內(nèi)存中的數(shù)據(jù)保存在磁盤中,重啟的時候可以再次加載進(jìn)行使用。
  • Redis不僅僅支持簡單的key-value類型的數(shù)據(jù),同時還提供list,set,zset,hash等數(shù)據(jù)結(jié)構(gòu)的存儲。
  • Redis支持?jǐn)?shù)據(jù)的備份,即 master-slave模式的數(shù)據(jù)備份。



總結(jié)

以上是生活随笔為你收集整理的关系型数据库与NoSQL数据库简述的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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