国产性生交xxxxx免费-国产中文字幕-啊灬啊灬啊灬快灬高潮了,亚洲国产午夜精品理论片在线播放 ,亚洲欧洲日本无在线码,色爽交视频免费观看

鍋爐信息網 > 鍋爐知識 > 鍋爐百科

12數據庫

發(fā)布時間:

1 知識點匯總2 知識點詳解關系型數據庫Oracle功能強大,缺點貴MySQL互聯網行業(yè)中最流行的數據庫MariaDBMySQL的分支,由開源社區(qū)維

1 知識點匯總





2 知識點詳解


關系型數據庫

  • Oracle
    • 功能強大,缺點貴
  • MySQL
    • 互聯網行業(yè)中最流行的數據庫
  • MariaDB
    • MySQL的分支,由開源社區(qū)維護
  • PostgreSQL
    • 類似于Oracle的多進程模型,可支持高并發(fā)的應用場景,幾乎支持所有SQL標準,適合嚴格的企業(yè)應用場景


NoSQL(Not Only SQL)

  • Redis
    • 適用于數據變化快,數據大小可預測的場景
  • MongoDB
    • 基于分布式文件存儲的數據庫
    • 將數據存儲為一個文檔,數據結構由鍵值對組成
    • 適用于表結構不明確,數據結構不斷發(fā)生變化的場景
    • 不適合有事務和復雜查詢的場景
  • Hbase
    • 是在hdfs(Hadoop Distributed File System hadoop分布式文件系統(tǒng))中分布式面向列的數據庫,類似于Google的Bigtable
    • 可提供快速隨機訪問海量結構化數據,在表中由行排序,一個表中有多個列族,每個列族有任意數量的列
    • 依賴于hdfs,可以實現海量數據的可靠存儲,適用于數據量大,寫多讀少,不需要復雜查詢的場景
  • Cassandra
    • 高可靠大規(guī)模分布式存儲系統(tǒng)
    • 支持分布是的結構化K-V存儲
    • 以高可用為主要目標
    • 適合寫多場景,簡單查詢,不適合數據統(tǒng)計
  • Pika
    • 提供大容量類Redis的存儲服務
    • 兼容Redis的五種數據結構的大部分命令
    • 使用磁盤存儲,解決Redis存儲成本問題


NewSQL

  • TiDB
    • 開源分布式關系型數據庫
    • 幾乎完全兼容MySQL
    • 支持水平彈性擴展,ACID事務,標準SQL,MySQL語法和MySQL協議
    • 具有數據強一致性的高可用性
    • 既適合在線事務處理,也適合在線分析處理
  • OceanBase
    • 螞蟻金服所有,滿足金融級數據可靠性以及數據一致性要求的數據庫系統(tǒng)
    • 以商業(yè)化不再開源


數據庫范式

范式級別越高,對數據表要求的越嚴格


  • 第一范式(最低)
    • 要求表中的字段不可再拆分
  • 第二范式
    • 在滿足第一范式的基礎上,要求每條記錄由主鍵唯一區(qū)分,記錄中的所有屬性都依賴與主鍵
  • 第三范式
    • 在滿足第二范式的基礎上,要求所有屬性直接依賴于主鍵,不允許間接依賴
  • 巴斯-科德范式(一般滿足至此即可)
    • 在滿足第三范式的基礎上,要求聯合主鍵的各字段之間互不依賴


事務分類

  • 扁平事務:所有操作都在同一層次(日常使用最多).缺點:不能提交事物的某一部分
  • 帶保存點的扁平事務:在事務中插入保存點,失敗回滾時,可回滾至任意保存點,而不是回滾整個事務
  • 鏈事務:可看作上一事務的變種,事務提交時會將上下文隱式傳遞給下一個事務,事務失敗時,回滾至最近的事務
  • 嵌套事務:由上層事務和子事務組成,類似樹形結構.頂層事務負責邏輯處理,子事務負責具體操作.子事務提交后需等待上層事務提交才算完成,若上層事務回滾,則所有子事務回滾
  • 分布式事務:分布式環(huán)境中的扁平化事務
    • XA規(guī)范:保證強一致性的剛性事務方案
      • 兩段式提交
        • 需要事務協調者保證,事務參與者都完成第一階段的事務準備階段.當都準備完成則通知事務參與者進行下一階段事務.(類似于Java中的countdownlatch和cyclicbarruer)
        • 在一個進程發(fā)生故障時,會有較長時間的阻塞
      • 三段式提交
        • 增加PreCommit環(huán)節(jié),減少兩段式提交中的阻塞時間
    • TCC:滿足最終一致性的柔性事務方案
      • 對每個操作都注冊確認和補償操作
      • try階段:檢測業(yè)務系統(tǒng),預留資源
      • confirm階段:確認提交
      • cancel階段:業(yè)務執(zhí)行錯誤時執(zhí)行回滾,釋放預留資源
    • 消息事務:消息一致性方案
      • 將本地操作與消息發(fā)送封裝在一個事務中,保證本地操作與消息發(fā)送要么都成功,要么都失敗
      • 下游應用收到收到消息執(zhí)行對應操作


MySQL





索引

可大幅增加數據庫的查詢性能,適合讀多寫少的場景

代價:需要額外空間保存索引,插入更新刪除時,由于更新索引增加額外的開銷


  • 索引類型
    • 唯一索引
      • 索引列中的值唯一,允許出現空值
    • 主鍵索引
      • 特殊的唯一索引不允許出現空值
    • 普通索引
      • 索引列中的值不唯一
    • 聯合索引
      • 多個列按順序組成索引,相同列不同順序為不同索引
    • 全文索引
      • 只能在char varchar text等類型使用
  • 索引實現
    • B-Tree
      • 最常用
    • R-Tree
      • 用于處理多維數據的數據結構,可對地理數據進行空間索引
    • Hash
      • 效率比B-Tree高,不支持范圍查找,排序等功能
    • FullText
      • 適用于全文索引



MySQL調優(yōu)

  1. 表結構與索引
  • 分庫分表,讀寫分離
  • 為字段選擇合適的數據類型
  • 將字段多的表分揀成多個表,增加中間表
  • 混合范式與反范式,適當冗余
  • 為查詢創(chuàng)建必要索引,但避免濫用
  • 盡可能地是以哦那個NOT NULL
  1. SQL語句優(yōu)化
  • 尋找最需要優(yōu)化的語句:分析慢查詢日志
    • 使用頻繁或效率最低的
  • 利用查詢工具:explain,profile
  • 避免使用SELECT *, 只取需要的列
  • 盡可能使用prepared statements
  • 使用索引掃描來排序
  1. MySQL參數優(yōu)化
  2. 硬件及系統(tǒng)配置
從1到4優(yōu)化成本增加,優(yōu)化效果降低


考察點

  • 了解數據庫的基本原理,數據庫的特點
  • 理解數據庫事務的ACID特性和隔離級別
  • 掌握常用的MySQL語句和常用函數
  • 了解MySQL數據庫不同引擎多的特點以及不同類型的索引實現



3 面試題整理

  1. 數據庫查詢速度慢,如何優(yōu)化?
  2. 什么情況會導致索引失效?
  3. 數據庫事務有哪些特征?事務的隔離級別有哪幾種?
  4. 如何對 SQL 語句進行優(yōu)化?

上一篇:暗戀12

下一篇:算命12

精選推薦

  • 711關東煮供應商
    711關東煮供應商

    今天給大家介紹三位,奶粉,全家、羅森這些便利店里關東煮的供應商。店里賣三四塊錢一串的關東煮,在網上買不到,一塊錢就搞定。首先關東

  • 健康日歷|高壓鍋容易爆炸的4個原因
    健康日歷|高壓鍋容易爆炸的4個原因

    來源:醫(yī)藥養(yǎng)生保健報設計:李雅琴醫(yī)學審核:姜峰出品人:胡麗麗

  • 高爐
    高爐

    今天這活卻是個白事,等到了時辰,那家人便準備火化,本來準備送普爐,我卻心中一動,便對那家人說道:“這老人走也不要省,還是送高爐吧。”

  • 高壓鍋和電壓力鍋的區(qū)別,推薦幾款點壓力鍋
    高壓鍋和電壓力鍋的區(qū)別,推薦幾款點壓

    記得之前有一次去朋友家玩,他正在用高壓鍋煮小米粥,是的,高壓鍋壓小米粥,大概煮了半小時,高壓鍋突然爆炸了,現場慘不忍睹啊,幸好廚房里沒

0