主頁 > 資料庫 > 第七章-概念結構設計

第七章-概念結構設計

2022-11-14 07:14:24 資料庫

7.1 資料庫設計概述:

  • 資料庫設計一般定義:資料庫設計是指對于一個給定的應用環境,構造(設計)優化的資料庫邏輯模式和物理結構,并據此建立資料庫及其應用系統,使之能夠有效地存盤和管理資料,滿足各種用戶的應用需求,包括資訊管理要求和資料操作要求
    • 定的應用環境:一個資料庫不可能什么資料都接收,如在學校或工廠,就要建立相當于的資料庫,學校工廠就是環境 
    • 邏輯模式:如設計的一張表,表的屬性設計,每個表中應該放什么資料,是第幾范式,這就是在邏輯模式設計的
    • 物理結構:就是資料存盤在什么地方,怎么存放
  • 資訊管理要求:在資料庫中應該存盤和管理哪些資料物件
  • 資料操作要求:對資料物件需要進行哪些操作,如查詢、增、刪、 改、統計等操作
  • 資料庫設計的目標:為用戶和各種應用系統提供一個資訊基礎設施和高效的運行環境
  • 高效的運行環境:(資料庫是應用程式理最底層的互動平臺,所以要保證高效的操作,要求如下)
    • 資料庫資料的存取效率高
    • 據庫存盤空間的利用率高
    • 資料庫系統運行管理的效率高

7.1.1 資料庫設計的特點:

  • 三分技術,七分管理,十二分基礎資料
    • 管理:資料庫建設專案管理、企業(即應用部門)的業務管理
    • 基礎資料:資料的收集、整理、組織和不斷更新是資料庫建設中的重要環節
  • 結構(資料)設計和行為(處理)設計相結合
    • 整個設計程序中把資料庫結構設計和對資料的處理設計密切結合起來
    • 結構和行為分離的設計:(如圖,資料庫和軟體設計分離,不好的設計)
      • 傳統的軟體工程:重行為設計,忽視對應用中資料語意的分析和抽象,只要有可能就盡量推遲資料結構設計的決策
      • 早期的資料庫設計:重結構設計,致力于資料模型和資料庫建模方法研究,忽視了行為設計對結構設計的影響

7.1.2 資料庫設計方法:

  • 大型資料庫設計是涉及多學科的綜合性技術,又是一項龐大的工程專案,它要求資料庫設計人員具有多方面的知識和技術主要包括
    • 計算機的基礎知識
    • 軟體工程的原理和方法
    • 程式設計的方法和技巧
    • 資料庫的基本知識
    • 資料庫設計技術
    • 應用領域的知識
  • 早期資料庫設計:主要采用手工與經驗相結合的方法:
    • 設計質量與設計人員的經驗和水平有直接關系
    • 缺乏科學理論和工程方法的支持,設計質量難以保證
    • 資料庫運行一段時間后又不同程度地發現各種問題,增加了系統維護的代價
  • 規范設計法基本思想:程序迭代和逐步求精,典型方法如下:
    • 新奧爾良(New Orleans)方法
      • 簡介:把資料庫設計分為四個間階段,目前不同的階段做什么事,如第一個階段需求分析(了解用戶和應用程式對資料庫的要求),第二個階段概念結構設計根據需求分析設計出資料庫大致長什么樣(如用E-R圖),第三階段邏輯設計根據E-R設計轉為資料庫中實際的表,第四階段物理結構設計(就是資料存盤在什么地方,怎么存放)  
    • 基于 E-R 模型的設計方法
      • 簡介:根據需求分析得到物體與物體之間的聯系,做成E-R圖  
    • 3NF(第三范式)的設計方法
      • 簡介:就是取消了表中的傳遞函式依賴  
    • 面向物件的資料庫設計方法
      • 簡介:和java中的面向物件一樣的原理  
    • 統一建模語言(UML)方法
      • 簡介:這是一種工具,和E-R圖有點類似,表達出物體與物體間的聯系

7.1.3 資料庫設計的基本步驟:

  • 資料庫設計分 6 個階段:(在上述的新奧爾良方法中增加了兩個設計)
    • 需求分析  -- 就是了解資料庫要建成什么樣
    • 概念結構設計 -- 把資料庫描述出來(如用E-R或UML)
    • 邏輯結構設計 -- 根據概念結構設計,在資料庫中設定出一張張表
    • 物理結構設計 -- 資料存盤在什么地方,怎么存放
    • 資料庫實施 -- 上面四步資料庫就建成,那怎么用,就是實施
    • 資料庫運行和維護 -- 資料庫進行使用列舉需要運行和維護
  • 細節:
    • 需求分析和概念結構設計獨立于任何資料庫管理系統
      • 理解:這兩個階段不是真得要建立資料庫,只是設計階段,獨立于任何資料庫管理系統,就是那我設計完了,可能用MySQL或SqlServer
    • 邏輯結構設計和物理結構設計與選用的資料庫管理系統密切相關
      • 理解:就是不同的資料庫管理系統,設計的操作也不同,所以密切相關,像MySQL或SqlServer的很多操作就不同 
    • 這個圖可以多看:  
  • 參加資料庫設計的人員
    • 系統分析人員和資料庫設計人員:資料庫設計的核心人員,將自始至終參與資料庫設計,其水平決定了資料庫系統的質量
    • 資料庫管理員和用戶代表:主要參加需求分析與資料庫的運行和維護
    • 應用開發人員(包括程式員和操作員):在實施階段參與進來,分別負責編制程式和準備軟硬體環境
  • 各階段的主要任務:
    • 1. 需求分析階段
      • 整個設計程序的基礎,是最困難和最耗費時間的一步
      • 是否做得充分與準確,決定了構建資料庫的速度和質量
    • 2. 概念結構設計階段
      • 整個資料庫設計的關鍵
      • 通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體資料庫管理系統的概念模型
    • 3. 邏輯結構設計階段
      • 將概念結構轉換為某個資料庫管理系統所支持的資料模型,并對其進行優化
    • 4.物理結構設計階段  
      • 為邏輯資料模型選取一個最適合應用環境的物理結構(包括存盤結構和存取方法)
    • 5. 資料庫實施階段
      • 根據邏輯設計和物理設計的結果建立資料庫
      • 撰寫與除錯應用程式
      • 組織資料入庫并進行試運行
    • 6. 資料庫運行和維護階段
      • 經過試運行后即可投入正式運行
      • 在運行程序中必須不斷對其進行評估、調整與修改
  • 細節:
    • 設計一個完善的資料庫應用系統,往往是上述 6 個階段的不斷反復
    • 這個設計步驟既是資料庫設計的程序,也包括了資料庫應用系統的設計程序
    • 在設計程序中把資料庫的設計和對資料庫中資料處理的設計緊密結合起來,將這兩個方面的需求分析、抽象、設計、實作在各個階段同時進行,相互參照,相互補充,以完善兩方面的設計 
  • 各階段的資料設計描述:
  • 對上述圖簡單的說明:
    • 1.需求分析階段
      • 綜合各個用戶的應用需求
    • 2.概念設計階段
      • 用影像的方式(E-R圖)表示出需要分析
    • 3.邏輯設計階段
      • 將E-R圖轉換成具體的資料庫產品支持的資料模式(就是表)
      • 然后根據用戶處理的要求、安全性考慮,在基本表上在建立視圖,形成資料外模式
    • 4.物理設計階段
      • 根據(不同的產品資料庫)資料庫管理系統特點和處理的需要,進行物理存盤安排,建立索引,形成資料庫內模式

7.1.4 資料庫設計程序中的各級模式:

7.2 需求分析:

  • 什么是需求分析?分析用戶的要求

7.2.1 需求分析的任務:

  • 詳細調查現實世界要處理的物件(組織、部門、企業等)
  • 充分了解原系統(手工系統或計算機系統)的作業概況
  • 明確用戶的各種需求,然后在此基礎上確定新系統的功能
  • 新系統必須充分考慮今后可能的擴充和改變
  • 調查的重點:是“資料”和“處理”,通過調查、收集與分析,獲得用戶對資料庫的資訊要求、處理要求、安全性與完整性要求

7.2.2 需求分析的方法:

  • 需求分析的目標:
    • 調查清楚用戶的實際要求并進行初步分析,與用戶達成共識,分析與表達這些需求
  • 調查用戶需求的具體步驟:
    • 調查組織機構情況
    • 調查各部門的業務活動情況
    • 協助用戶明確對新系統的各種要求,包括資訊要求、 處理要求、完全性與完整性要求
    • 確定新系統的邊界
  • 常用的調查方法:
    • 跟班作業,通過親身參加業務作業來了解業務活動的情況
    • 開調查會,通過與用戶座談來了解業務活動情況及用戶需求
    • 請專人介紹
    • 詢問,對某些調查中的問題可以找專人詢問
    • 設計調查表請用戶填寫,如果調查表設計得合理,則很有效
    • 查閱記錄,查閱與原系統有關的資料記錄
    • 結構化分析方法(Structured Analysis,SA):從最上層的系統組織機構入手,采用自頂向下、逐層分解的方式分析系統
    •           

7.2.3 資料字典:

  • 什么是資料字典?資料字典和新華字典一樣,但資料字典解釋的是每一個資料,解釋每一個資料里面有什么屬性和什么操作
  • 資料字典是關于資料庫中資料的描述,即元資料(不是直接描述,如存的是張三,學號001不是這樣描述,而是描述出學號是什么樣的,應該學號是三位的的數字,范圍是多少,是這樣描述的),不是資料本身,資料字典是在需求分析階段建立,是繼續詳細的資料收集和資料分析所得到的,并在資料庫設計程序中不斷修改、充實、完善的
  • 資料字典包括:資料項(有哪些資料)、資料結構(這個資料是什么結構,如:學號的結構是什么)、資料流(資料的流向,部門A指向部門B)、資料存盤(資料是B+樹存盤還是表的形式存盤)、處理程序(資料庫哪些資料要進行增刪改查,這個操作可以被哪些用戶擁有)
  • 資料項:資料項是不可再分的資料單位
    • 資料項描述={資料項名,資料項含義說明,別名,資料型別,長度,取值范圍,取值含義,與其他資料項的邏輯關系,資料項之間的聯系} 
    • 理解:
      • 資料項名 -- 如Sno
      • 資料項含義說明 -- Sno的作用
      • 別名 -- Sno在其它其它表中是否有別名,如學號
      • 資料型別 -- Sno的資料型別,然char(3)
      • 長度 -- char(3),3就是它的長度
      • 取值范圍 -- Sno的取值范圍001-999
      • 取值含義 -- 001是學號,或表示男女生0是女1是男
      • 與其他資料項的邏輯關系 --如: SC(Sno,Cno),就是外鍵
      • 資料項之間的聯系:如知道Sno就可以推出學生的姓名,就是函式依賴
    • “取值范圍”、“與其他資料項的邏輯關系”定義了資料的完整性約束條件,是設計資料檢驗功能的依據
    • 可以用關系規范化(范式)理論為指導,用資料依賴的概念分析和表示資料項之間的聯系
  • 資料結構:資料結構反映了資料之間的組合關系
    • 資料結構描述={資料結構名,含義說明,組成:{資料項或資料結構}}
    • 說明:一個資料結構可以由若干個資料項組成,也可以由若干個資料結構組成,或由若干個資料項和資料結構混合組成
    • 理解:如倉庫進貨,入庫單就是資料結構,入庫單上又有很多資訊
  • 資料流:資料流是資料結構在系統內傳輸的路徑
    • 資料流描述={資料流名,說明,資料流來源,資料流去向,組成:{資料結構},平均流量,高峰期流量}
    • 理解:如從選課表中抽取一個成績反饋給用戶
      • 資料流名 -- 就可以是成績
      • 說明 -- 該資料是干什么的
      • 資料流來源 -- 資料從哪來的SC表
      • 資料流去向 -- 資料到哪去,到應用程式
      • 組成 -- 如學號、姓名和成績組成
      • 平均流量 -- 如12小時或一個月的傳輸次數
      • 高峰期流量 -- 如15號來查詢成績,15號就是高峰期流量
    • 說明:
      • 資料流來源:說明該資料流來自哪個程序
      • 資料流去向:說明該資料流將到哪個程序去
      • 平均流量:在單位時間(每天、每周、每月等)里的傳輸次數
      • 高峰期流量:在高峰時期的資料流量
  • 資料存盤:資料存盤是資料結構停留或保存的地方,也是資料流的來源和去向之一
    • 資料存盤描述={資料存盤名,說明,編號,輸入的資料流,輸出的資料流,組成:{資料結構},資料量,存取頻度,存取方式}
    • 理解:
      • 資料存盤名 -- 這個存盤的名字
      • 說明 -- 存盤什么資訊
      • 編號 -- 存盤編號
      • 輸入/出的資料流 -- 輸入輸出的資訊
      • 組成 -- 輸入輸出的是哪些資料,存取的量,存取的頻率,存取的方式
    • 說明:
      • 存取頻度:每小時、每天或每周存取次數及每次存取的資料量等資訊
      • 存取方式:批處理/ 聯機處理;檢索/ 更新;順序檢索/隨機檢索
      • 輸入的資料流:資料來源
      • 出的資料流:資料去向
  • 處理程序:處理程序的具體處理邏輯一般用判定表或判定樹來描述,資料字典中只需要描述處理程序的說明性資訊
    • 處理程序描述={處理程序名,說明,輸入:{資料流},輸出:{資料流},處理:{簡要說明}}
    • 說明: -- 說白了就是我要對該資料做什么
      • 說明該處理程序的功能及處理要求 -- 如該處理要達到什么目的,如查詢成績最高的學生
      • 功能:該處理程序用來做什么
      • 處理要求:處理頻度要求(如多次時間執行一次),如單位時間里處理多少事務,多少資料量、回應時間要求等 
      • 這些處理要求是后面物理設計的輸入及性能評價的標準
  • 需求分析小結:
    • 需求收集和分析作為資料庫設計的第一階段是十分重要的
    • 第一階段收集的基礎資料(用資料字典來表達)是下一步進行概念設計的基礎
    • 強調兩點:
      • 設計人員應充分考慮到可能的擴充和改變,使設計易于更改、系統易于擴充
      • 必須強呼叫戶的參與  

7.3 概念結構設計(E-R):

  • 什么是概念結構設計?將需求分析得到的用戶需求抽象為資訊結構(即概念模型)的程序就是概念結構設計

7.3.1 概念模型:

  • 什么是概念模式?將需求分析得到的用戶需求抽象為資訊結構(即概念模型)
  • 概念模型的主要特點:

    (1)能真實、充分地反映現實世界,包括事物和事物之間的聯系,是現實世界的一個真實模型

    (2)易于理解,可以用它和不熟悉計算機的用戶交換意見

    (3)易于更改,當應用環境和應用要求改變時容易對概念模型修改和擴充

    (4)易于向關系、網狀、層次等各種資料模型轉換

 

7.3.2 E-R模型:

  • 描述現實世界的概念模型的工具:E-R 模型
  • 物體是E-R圖的核心,做E-R圖的時要先找物體,物體包括物體的名稱,物體的屬性,在找另外一個物體,在找物體與物體的聯系
  • 什么是物體?在現實世界中客觀存在并可相互區別的事物,如一個人,商店等
  • 物體之間的聯系: 兩個物體型之間的聯系
    • 一對一聯系(1:1)、一對多聯系(1:n)、多對多聯系(m:n)
  • 兩個以上的物體型之間的聯系:

    • 多個以上的物體型之間也存在著一對一、一對多、多對多聯系
  • 單個物體型內的聯系:

    • 同一個物體集內的各物體之間也可以存在一對一、一對多、多對多聯系

  • 聯系的度:參與聯系的物體型的數目
    • 兩個物體型之間的聯系度為 2,也稱為二元聯系
    • 三個物體型之間的聯系度為 3,稱為三元聯系
    • N個物體型之間的聯系度為 N,也稱為 N 元聯系
  • E-R 圖:
    • E-R 圖提供了表示物體型、屬性和聯系的方法:
      • 物體型:用矩形表示,矩形框內寫明物體名
      • 屬性:用橢圓形表示,并用無向邊將其與相應的物體型連接起來
      • 聯系:用菱形表示,菱形框內寫明聯系名,并用無向邊分別與有關物體型連接起來,同時在無向邊旁標上聯系的型別(1:1、1:n 或 m:n) 
  • 例子:
    • 某個工廠物資管理的概念模型,物資管理涉及的物體有:
      • 倉庫:屬性有倉庫號、面積、電話號碼
      • 零件:屬性有零件號、名稱、規格、單價、描述
      • 供應商:屬性有供應商號、姓名、地址、電話號碼、賬號
      • 專案:屬性有專案號、預算、開工日期
      • 職工:屬性有職工號、姓名、年齡、職稱
    • 這些物體之間的聯系如下:  
      • 一個倉庫可以存放多種零件,一種零件可以存放在多個倉庫中,因此倉庫和零件具有多對多的聯系,用庫存量來表示某種零件在某個倉庫中的數量
      • 一個倉庫有多個職工當倉庫保管員,一個職工只能在一個倉庫作業,因此倉庫和職工之間是一對多的聯系
      • 職工之間具有領導與被領導關系,即倉庫主任領導若干保管員,因此職工物體型中具有一對多的聯系 
      • 供應商、專案和零件三者之間具有多對多的聯系,即一個供應商可以供給若干專案多種零件,每個專案可以使用不同供應商供應的零件,每種零件可由不同供應商供給
    •  

       

                      

      

         

    

  

 

                                        

 

 

                        

         

 

  

                          

 

 

         

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/532625.html

標籤:SQL Server

上一篇:PostgreSQL 實時位置跟蹤+軌跡分析系統實踐 - 單機頂千億軌跡/天

下一篇:PostgreSQL 電子圍欄的應用場景和性能

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • GPU虛擬機創建時間深度優化

    **?桔妹導讀:**GPU虛擬機實體創建速度慢是公有云面臨的普遍問題,由于通常情況下創建虛擬機屬于低頻操作而未引起業界的重視,實際生產中還是存在對GPU實體創建時間有苛刻要求的業務場景。本文將介紹滴滴云在解決該問題時的思路、方法、并展示最終的優化成果。 從公有云服務商那里購買過虛擬主機的資深用戶,一 ......

    uj5u.com 2020-09-10 06:09:13 more
  • 可編程網卡芯片在滴滴云網路的應用實踐

    **?桔妹導讀:**隨著云規模不斷擴大以及業務層面對延遲、帶寬的要求越來越高,采用DPDK 加速網路報文處理的方式在橫向縱向擴展都出現了局限性。可編程芯片成為業界熱點。本文主要講述了可編程網卡芯片在滴滴云網路中的應用實踐,遇到的問題、帶來的收益以及開源社區貢獻。 #1. 資料中心面臨的問題 隨著滴滴 ......

    uj5u.com 2020-09-10 06:10:21 more
  • 滴滴資料通道服務演進之路

    **?桔妹導讀:**滴滴資料通道引擎承載著全公司的資料同步,為下游實時和離線場景提供了必不可少的源資料。隨著任務量的不斷增加,資料通道的整體架構也隨之發生改變。本文介紹了滴滴資料通道的發展歷程,遇到的問題以及今后的規劃。 #1. 背景 資料,對于任何一家互聯網公司來說都是非常重要的資產,公司的大資料 ......

    uj5u.com 2020-09-10 06:11:05 more
  • 滴滴AI Labs斬獲國際機器翻譯大賽中譯英方向世界第三

    **桔妹導讀:**深耕人工智能領域,致力于探索AI讓出行更美好的滴滴AI Labs再次斬獲國際大獎,這次獲獎的專案是什么呢?一起來看看詳細報道吧! 近日,由國際計算語言學協會ACL(The Association for Computational Linguistics)舉辦的世界最具影響力的機器 ......

    uj5u.com 2020-09-10 06:11:29 more
  • MPP (Massively Parallel Processing)大規模并行處理

    1、什么是mpp? MPP (Massively Parallel Processing),即大規模并行處理,在資料庫非共享集群中,每個節點都有獨立的磁盤存盤系統和記憶體系統,業務資料根據資料庫模型和應用特點劃分到各個節點上,每臺資料節點通過專用網路或者商業通用網路互相連接,彼此協同計算,作為整體提供 ......

    uj5u.com 2020-09-10 06:11:41 more
  • 滴滴資料倉庫指標體系建設實踐

    **桔妹導讀:**指標體系是什么?如何使用OSM模型和AARRR模型搭建指標體系?如何統一流程、規范化、工具化管理指標體系?本文會對建設的方法論結合滴滴資料指標體系建設實踐進行解答分析。 #1. 什么是指標體系 ##1.1 指標體系定義 指標體系是將零散單點的具有相互聯系的指標,系統化的組織起來,通 ......

    uj5u.com 2020-09-10 06:12:52 more
  • 單表千萬行資料庫 LIKE 搜索優化手記

    我們經常在資料庫中使用 LIKE 運算子來完成對資料的模糊搜索,LIKE 運算子用于在 WHERE 子句中搜索列中的指定模式。 如果需要查找客戶表中所有姓氏是“張”的資料,可以使用下面的 SQL 陳述句: SELECT * FROM Customer WHERE Name LIKE '張%' 如果需要 ......

    uj5u.com 2020-09-10 06:13:25 more
  • 滴滴Ceph分布式存盤系統優化之鎖優化

    **桔妹導讀:**Ceph是國際知名的開源分布式存盤系統,在工業界和學術界都有著重要的影響。Ceph的架構和演算法設計發表在國際系統領域頂級會議OSDI、SOSP、SC等上。Ceph社區得到Red Hat、SUSE、Intel等大公司的大力支持。Ceph是國際云計算領域應用最廣泛的開源分布式存盤系統, ......

    uj5u.com 2020-09-10 06:14:51 more
  • es~通過ElasticsearchTemplate進行聚合~嵌套聚合

    之前寫過《es~通過ElasticsearchTemplate進行聚合操作》的文章,這一次主要寫一個嵌套的聚合,例如先對sex集合,再對desc聚合,最后再對age求和,共三層嵌套。 Aggregations的部分特性類似于SQL語言中的group by,avg,sum等函式,Aggregation ......

    uj5u.com 2020-09-10 06:14:59 more
  • 爬蟲日志監控 -- Elastc Stack(ELK)部署

    傻瓜式部署,只需替換IP與用戶 導讀: 現ELK四大組件分別為:Elasticsearch(核心)、logstash(處理)、filebeat(采集)、kibana(可視化) 下載均在https://www.elastic.co/cn/downloads/下tar包,各組件版本最好一致,配合fdm會 ......

    uj5u.com 2020-09-10 06:15:05 more
最新发布
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:33:24 more
  • MySQL中binlog備份腳本分享

    關于MySQL的二進制日志(binlog),我們都知道二進制日志(binlog)非常重要,尤其當你需要point to point災難恢復的時侯,所以我們要對其進行備份。關于二進制日志(binlog)的備份,可以基于flush logs方式先切換binlog,然后拷貝&壓縮到到遠程服務器或本地服務器 ......

    uj5u.com 2023-04-20 08:28:06 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:27:27 more
  • 快取與資料庫雙寫一致性幾種策略分析

    本文將對幾種快取與資料庫保證資料一致性的使用方式進行分析。為保證高并發性能,以下分析場景不考慮執行的原子性及加鎖等強一致性要求的場景,僅追求最終一致性。 ......

    uj5u.com 2023-04-20 08:26:48 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:26:35 more
  • 云時代,MySQL到ClickHouse資料同步產品對比推薦

    ClickHouse 在執行分析查詢時的速度優勢很好的彌補了MySQL的不足,但是對于很多開發者和DBA來說,如何將MySQL穩定、高效、簡單的同步到 ClickHouse 卻很困難。本文對比了 NineData、MaterializeMySQL(ClickHouse自帶)、Bifrost 三款產品... ......

    uj5u.com 2023-04-20 08:26:29 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:25:13 more
  • Redis 報”OutOfDirectMemoryError“(堆外記憶體溢位)

    Redis 報錯“OutOfDirectMemoryError(堆外記憶體溢位) ”問題如下: 一、報錯資訊: 使用 Redis 的業務介面 ,產生 OutOfDirectMemoryError(堆外記憶體溢位),如圖: 格式化后的報錯資訊: { "timestamp": "2023-04-17 22: ......

    uj5u.com 2023-04-20 08:24:54 more
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:24:03 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:23:11 more