主頁 > 資料庫 > 【資料庫系統】資料庫系統概論====第二章 關系資料庫

【資料庫系統】資料庫系統概論====第二章 關系資料庫

2020-09-10 08:47:38 資料庫

【資料庫系統】資料庫系統概論====第二章 關系資料庫

關系資料庫簡介
1970年IBM公司的E.F.Codd提出關系資料模型
1972年提出了關系的第一、第二、第三范式
1974年提出了關系的BC范式
80年代后,關系資料庫系統成為最重要、最流行的資料庫系統
典型實驗系統:System R、University INGRES
典型商用系統:ORACLE、DB2、SYBASE、INGRES、INFORMIX

2.1關系資料結構及形式化定義

2.1.1關系

單一的資料結構–關系
現實世界的物體以及物體間的各種聯系均用關系來表示
邏輯結構–二維表
從用戶角度,關系模型中資料的邏輯結構是一張二維表,關系模型是建立在集合代數的基礎上,


  1. 定義:域是一組具有相同資料型別的值的集合,
  2. 笛卡爾積
    定義:給定一組域D1,D2,…,Dn,這些域可以是相同的,D1,D2,…,Dn的笛卡爾積為:
    D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n},所有域的所有取值的一個組合,
    元組:笛卡爾積中的每一個元素(d1,d2,…,dn)稱作一個n元組或簡稱元組,
    分量:笛卡爾積元素(d1,d2,…,dn)中的每一個值di稱作一個分量,
    基數:若Di(i=1,2,…,n)為有限集,其基數為mi(i=1,2,…,n),則D1×D2×…×Dn的基數M為:
    在這里插入圖片描述
    笛卡爾積的表示方法:笛卡爾積可表示為一個二維表,表中的每行對應一個元組,表中的每列對應一個域,
    D1,D2,…,Dn的笛卡爾積的子集不是都有實際含義,只有某個子集才有實際含義,
  3. 關系
    1)關系
    D1×D2×…×Dn的子集稱作在域D1,D2,…,Dn上的關系,表示為R(D1,D2,…,Dn),
    R表示關系名,n表示關系的目或度,
    2)元組
    關系中的每個元素是關系中的元組,通常用t表示,
    3)單元關系與二元關系
    當n=1時,稱該關系為單元關系或一元關系,
    當n=2時,稱 該關系為二元關系,
    4)關系的表示
    關系也是一個二維表,表的每行對應一個元組,表的每列對應一個域,一個屬性,
    5)屬性
    關系中不同列可以對應相同的域,為了加以區分,必須對每列起一個名字,稱為屬性,
    n目關系必有n個屬性,
    6)碼
    候選碼:若關系中的某一屬性組的值能唯一地標識一個元組,則稱該屬性組為候選碼,
    簡單的情況:候選碼只包含一個屬性,
    全碼:最極端的情況:關系模式的所有屬性組是這個關系模式的候選碼,稱為全碼,
    主碼:若一個關系有多個候選碼,則選定其中一個為主碼,
    主屬性:候選碼的諸屬性稱為主屬性,
    非主屬性:不包含在任何候選碼中的屬性或非碼屬性,
    7)三類關系
    ①基本關系(基本表或基表):實際存在的表,是實際存盤資料的邏輯表示,
    ②查詢表:查詢結果對應的表,
    ③視圖表:由基本表或其他視圖表匯出的表,是虛表,不對應實際存盤的資料,
    8)基本關系的性質
    ①列是同質的,
    ②不同的列可出自同一個域,其中的每一列稱為一個屬性,不同的屬性要給予不同的屬性名,
    ③列的順序無所謂,列的次序可以任意交換,
    ④任意兩個元組的候選碼不能相同,
    ⑤行的順序無所謂,行的次序可以任意交換,
    ⑥分量必須取原子值,這是規范條件中最基本的一條,
2.1.2關系模式
  1. 什么是關系模式
    關系模式是對關系的描述,關系模式是型,關系是值,
    1)元組集合的結構
    屬性構成、屬性來自的域、屬性與域之間的映像關系,
    2)一個關系通常由賦予它的元組語意確定,
    3)現實的世界中還存在著完整性約束,
  2. 定義關系模式
    關系模式可以形式化地表示為:R(U,D,DOM,F)
    R:關系名
    U:組成該關系的屬性名集合
    D:屬性組U中屬性所來自的域
    DOM:屬性向域的映像集合
    F:屬性間的資料依賴關系集合
  3. 關系模式與關系
    關系模式是靜態的、穩定的,
    關系是動態的、隨時間不斷變化的,
    關系是關系模式在某一時刻的狀態或內容,在實際作業中關系模式和關系往往統稱為關系,需要通過背景關系加以區別,
2.1.3關系資料庫
  1. 關系資料庫
    在一個給定的應用領域中,所有關系的集合構成一個關系資料庫,
  2. 關系資料庫的型與值
    1)關系資料庫的型:關系資料庫模式,對關系資料庫的描述,
    2)關系資料庫模式:若干域的定義,在這些域上定義的若干關系模式,
    3)關系資料庫的值:厝模式在某一時刻對應的關系的集合,簡稱為關系資料庫,
2.1.4關系模型的存盤結構
  1. 有的關系資料庫管理系統中一個表對應一個作業系統檔案,將物理資料組織交給作業系統完成,
  2. 有的關系資料庫管理系統從作業系統那里申請若干個大的檔案,自己劃分檔案空間組織表、索引表等存盤結構,并進行存盤管理,

2.2關系資料結構

2.2.1基本關系操作
  1. 常用的關系操作
    查詢:選擇、投影、連接、除、并、交、差等,其中:選擇、投影、并、差、笛卡爾積是5種基本操作,
    資料更新:插入、洗掉、修改,
    查詢的表達能力是其中最主要的部分,
  2. 關系操作的特點
    集合操作方式:操作的物件和結果都是集合,一次一集合的方式,
2.2.2關系資料庫語言的分類
  1. 關系代數語言
    用對關系的運算來表達查詢要求,代表:ISBL
  2. 關系演算語言
    用謂詞來表達查詢要求,
    ①元組關系演算語言:謂詞變元的基本物件是元組變數,代表:APLHA,QUEL
    ②域關系演算語言:謂詞變元的基本物件是域變數,代表:QBE
  3. 具有關系代數和關系演算雙重特點的語言
    代表:SQL

2.3關系的完整性

關系模型中有三類完整性約束:物體完整性、參照完整性和用戶定義完整性,
其中物體完整性、參照完整性是關系模型必須滿足的完整性約束條件,成為關系的兩個不變性,應該由關系系統自動支持,
用戶定義的完整性是應用領域需要遵循的約束條件,體現了具體領域中的語意約束,

2.3.1物體完整性

物體完整性規則是指若屬性A是基本關系R的主屬性,則屬性A不能取空值,
空值就是“不知道”或“不存在”或“無意義”的值,
物體完整性規則的說明:
1)物體完整性規則是針對基本關系而言的,一個基本表通常對應現實世界的一個物體集,
2)現實世界中的物體是可區分的,即它們具有某種唯一性標識,
3)關系模型中以主碼作為唯一性標識,
4)主碼中的屬性即主屬性不能取空值,
主屬性取空值,就說明存在某個不可標識的物體,即存在不可區分的物體,這與第2)點相矛盾,因此這個規則稱為物體完整性,
物體完整性規則規定基本關系的所有主屬性都不能取空值,

2.3.2參照完整性
  1. 關系間的參考
    在關系模型中物體及物體間的聯系都是用關系來描述的,存在著關系與關系間的參考,
  2. 外碼
    定義:設F是基本關系R的一個或一組屬性,但不是關系R的碼,如果F與基本關系S的主碼Ks相對應,則稱F是基本關系R的外碼,
    基本關系R稱為參照關系
    基本關系S稱為被參照關系
    關系R和S不一定是不同的關系,
    目標關系S的主碼Ks和參照關系的外碼F必須定義在同一個(或一組)域上,
    外碼并不一定要與相應的主碼同名,當外碼與相應的主碼屬于不同關系時,往往取相同的名字,以便于識別,
  3. 參照完整性規則
    參照完整性規則:若屬性(或屬性組)F是基本關系R的外碼,它與基本關系S的主碼Ks相對應(基本關系R和S不一定是不同的關系),則對于R中每個元組在F上的值必須為:
    或者取空值(F的每個屬性值均為空值);
    或者等于S中某個元組的主碼值,
2.3.3用戶定義的完整性

針對某一具體關系資料庫的約束條件,反映某一具體應用所涉及的資料必須滿足的語意要求,
關系模型應提供定義和檢驗這類完整性的機制,以便用統一的系統的方法處理它們,而不要由應用程式承擔這一功能,

2.4關系代數

關系代數是一種抽象的查詢語言,是對關系的運算來表達查詢,
關系代數的運算物件是關系,運算結果也是關系,
關系代數按運算子的不同可分為傳統的集合運算和專門的關系運算兩類,
集合運算是從關系的水平方向進行的角度進行,
專門的關系運算不僅涉及行而且涉及列,
在這里插入圖片描述

2.4.1傳統的集合運算

  1. 關系R和S具有相同的目n(即兩個關系都有n個屬性),相應的屬性取自同一個域,
    R與S的并運算表示為R∪S:R∪S={t|t∈RVt∈S},
    運算結果為:n目關系,由屬于R或屬于S的元組組成,

  2. 關系R和S具有相同的目n(即兩個關系都有n個屬性),相應的屬性取自同一個域,
    R與S的差運算表示為R-S:R-S={t|t∈R∧t?S},
    運算的結果為:n目關系,由屬于R而不屬于S的所有元組組成,

  3. 關系R和S具有相同的目n(即兩個關系都有n個屬性),相應的屬性取自同一個域,
    R與S的交運算表示為R∩S:R∩S={t|t∈R∧t∈S},R∩S=R-(R-S),
    運算結果為:n目關系,由既屬于R又屬于S的元組組成,
  4. 笛卡爾積
    嚴格地講應該是廣義的笛卡爾積,
    R:n目關系,k1個元組,S:m目關系,k2個元組
    R與S的笛卡爾積運算表示為R×S:
    在這里插入圖片描述
    運算結果為:行:k1×k2個元組,列:(n+m)列元組的集合,其中元組的前n列是關系R的一個元組,后m列是關系S的一個元組,
2.4.2專門的關系運算

關系運算包括:選擇、投影、連接、除運算,
相關記號說明:
①關系模式為R(A1,A2,…,An),它的一個關系為R,t∈R表示t是R的一個元組,t[Ai]則表示元組t中相應于屬性Ai的一個分量,
②若A={Ai1,Ai2,…,Aik},其中Ai1,Ai2,…,Aik是A1,A2,…,An中的一部分,則A稱為屬性列或屬性組,
t[A]=(t[Ai1,],t[Ai2],…,t[Aik])表示元組t在屬性列A上諸分量的集合,?A 則表示{A1,A2,…,An}中去掉{Ai1,Ai2,…,Aik}后剩余的屬性組,
③R為n目關系,S為m目關系,Tr∈R,Ts∈S,Tr ⌒Ts 稱為元組的連接,Tr⌒Ts 是一個n+m列的元組,前n個分量為R中的一個n元組,后m個分量為S中的一個m元組,
④給定一個關系R(X,Z),X和Z為屬性組,當t[X]=x時,x在R中的象集Zx={t[Z]|t∈R,t[X]=x},它表示R中屬性組X上值為x的諸元組在Z上分量的集合,

  1. 選擇
    選擇又稱為限制,在關系R中選擇滿足給定條件的諸元組,記作:
    在這里插入圖片描述
    其中:F為選擇條件,基本形式為:
    在這里插入圖片描述
    其中 θ表示比較運算子,它可以是>,≥,<,≤, =或<>,X1,Y1等是屬性名,或為常量,或為簡單函式;屬性名也可以用它的序號來代替,
    條件運算式中的運算子如下表:
    在這里插入圖片描述
  2. 投影
    從R中選擇出若干屬性列組成新的關系,
    在這里插入圖片描述
    其中:A:R中的屬性列,投影操作主要是從列的角度進行運算,投影之后不僅取消了原關系中的某些列,而且還可能取消某些元組(避免重復行),
  3. 連接
    又稱為θ連接,表示從兩個關系的笛卡爾積中選取屬性間滿足一定條件的元組,
    在這里插入圖片描述
    A和B:分別為R和S上度數相等且可比的屬性組,
    θ:比較運算子,
    運算結果:從R和S的廣義笛卡爾積R×S中選取(R關系)在A屬性組上的值與(S關系)在B屬性組上滿足比較關系θ的元組,
    兩類常用連接運算:
    ①等值連接
    θ為“=”的連接運算稱為等值連接,
    等值連接的含義:從關系R與S的廣義笛卡爾積中選取A、B屬性值相等的那些元組,
    在這里插入圖片描述
    ②自然連接
    自然連接是一種特殊的等值連接,兩個關系中進行比較的分量必須是相同屬性組,在結果中把重復的屬性列去掉,
    自然連接的含義:R和S具有相同的屬性組B,
    在這里插入圖片描述
    注意:自然連接還需要取消重復列,所以是同時從行和列的角度進行運算,
    懸浮元組:兩個關系R和S在自然連接時,關系R和S中被舍棄的元組稱為懸浮元組,
    外連接:如果把懸浮元組舍棄的元組也保存在結果關系中,而在其他屬性上填空值(Null),這種連接就叫做外連接,
    左外連接:如果只保留左邊關系R中的懸浮元組叫做左外連接,
    右外連接:如果只保留右邊關系S中的懸浮元組叫做右外連接,

  4. 給定關系R(X,Y)和S(Y,Z),其中X,Y,Z為屬性組,R中的Y與S中的Y可以有不同的屬性名,但必須出自相同的域集,
    R與S的除運算得到一個新的關系P(X),P是R中滿足下列條件的元組在X屬性列上的投影:
    元組在X上分量值x的象集Yx包含S在Y上投影的集合,記作:
    在這里插入圖片描述
    Yx:x在R中的象集,x=tr[X]
    注意:除操作是同時從行和列角度進行計算,

2.5*關系演算

關系演算是以數理邏輯中的謂詞演算為基礎的,按謂詞變元的不同,關系演算可分為元組關系演算和域關系演算,

2.5.1元組關系演算語言ALPHA

元組關系演算以元組變數作為謂詞變元的基本物件,一直典型的元組關系演算語言是ALPHA語言,
ALPHA語言主要有GET,PUT,UPDATE,DELETE,DROP6條陳述句,
陳述句的基本格式是:
操作陳述句 作業空間名(運算式): 操作條件
運算式用于說明要查詢的結果,它可以是關系名或(和)屬性名,
操作條件是一個邏輯運算式,說明查詢結果要滿足的條件,用于將操作結果限定在滿足條件的元組中,操作條件可以為空,
除此之外,還可以在基本格式的基礎上加上排序要求、定額要求等,

  1. 檢索操作
    檢索操作用GET陳述句實作
    1)簡單檢索(即不帶條件的檢索)
    2)限定的檢索(即帶條件的檢索)
    3)帶排序的檢索
    4)指定回傳元組的個數
    5)用元組變數的檢索
    元組變數是在某一關系范圍內變化(所以也稱范圍變數),一個關系可以設定多個元組變數,元組變數主要有兩方面的用途:
    ①簡化關系名,如果關系的名字很長,使用起來就會感到不方便,這時可以設定一個較短的名字的元組變數來代替關系名,
    ②操作條件中使用量詞時必須用元組變數,
    ALPHA語言用RANGE來說明元組變數,
    6)用存在量詞的檢索條件中使用量詞時必須用元組變數
    7)帶有多個關系的運算式的檢索
    8)用全稱量詞的檢索
    9)用兩種量詞的檢索
    10)用蘊含的檢索
    11)聚集函式
    使用查詢語言時,進行監督的計算,關系資料語言中建立了有關這類運算的標準函式庫,這類函式通常稱為聚集函式或內置函式,常用的聚集函式COUNT,TITAL,MAX,MIN,AVG等,
    在這里插入圖片描述
  2. 更新操作
    1)修改操作
    修改操作用UPDATE陳述句實作,其步驟是:
    ①首先用HOLD陳述句將修改的元組從資料庫中讀到作業空間中;
    ②然后用宿主語言修改作業空間中元組的屬性值;
    ③最后用UPDATE陳述句將修改后的元組送回資料庫中,注意:單純檢索資料使用GET陳述句即可,但為修改資料而讀元組時必須使用HOLD陳述句,HOLD陳述句是帶上并發控制的GET陳述句,
    說明:
    ①如果修改操作涉及到兩個關系的話,就要執行兩次HOLD-MOVE-UPDATE操作系列,
    ②在ALPHA語言中,修改關系主碼的操作是不允許的,
    ③如果需要修改主碼值,只能先用洗掉操作洗掉該元組,然后再把具有新主碼值的元組插入到關系中,
    2)插入操作
    插入操作用PUT陳述句實作,其步驟是:
    ①首先用宿主語言在作業空間中建立新元組;
    ②然后用PUT陳述句把該元組存入指定的關系中,
    PUT陳述句只對一個關系操作,也就是說運算式必須為單個關系名,
    3)洗掉
    洗掉操作用DELETE陳述句實作,其步驟為:
    ①用HOLD陳述句把要洗掉的元組從資料庫中讀到作業空間中;
    ②用DELETE陳述句洗掉該元組,
2.5.2元組關系演算

為了討論方便,先允許關系(的基數)是無限的,然后再對這種情況下定義的演算作適當的修改,保證關系演算中的每一個公式表示的是有限關系,
在元組關系演算系統中,稱{t|Φ(t)}為元組演算運算式,其中t是元組變數,Φ(t)為元組關系演算公式簡稱公式,它由原子公式和運算子組成,
原子公式有三類:
1)R(t)
R是關系名,t是元組變數,R(t)表示t是R中的元組,于是,關系R可表示為{t|R(t)}
2)t[i]Θu[j]
t和u是元組變數,Θ是算術比較運算子,t[i]Θu[j]表示斷言“元組t的第i個分量與元組u的第j個分量滿足比較關系Θ”,
3)t[i]Θc或cΘu[i]
這里c是常量,該公式表示“t的第i個分量與常量c滿足比較關系Θ”,
在關系演算中定義了“自由元組變數”和“約束元組變數”的概念,這些概念和謂詞演算中的概念完全一樣,若公式中的一個元組變數前有“全稱量詞”或“存在量詞”,則稱該變數為約束元組變數,否則稱自由元組變數,
公式可以遞回定義如下:
1)如果原子公式是公式,
2)如果Φ1,和Φ2是公式,則Φ1∧Φ2,Φ1∨Φ2,┐Φ1也是公式,分別表示為:
如果Φ1和Φ2同時為真,則Φ1∧Φ2才為真,否則為假;
如果Φ1和Φ2中一個或同時為真,則Φ1∨Φ2為真,僅當Φ1和Φ2同時為假時,Φ1∨Φ2才為假;
若Φ1為真,則┐Φ1為假,
3)若Φ是公式,則?t(Φ)也是公式,其中符號?是存在量詞符號,?t(Φ)表示:若有一個t使Φ為真,則?t(Φ)為真,否則?t(Φ)為假,
4)若Φ是公式,則?t(Φ)也是公式,其中符號?是全稱量詞符號,?t(Φ)表示:如果對所有t,都使Φ為真,則?t(Φ)為真,否則?t(Φ)為假,
5)在元組演算公式中,各種運算子的優先次序為:
①算術比較運算子最高;
②量詞次之,且?的優先級高于?的優先級;
③邏輯運算子最低,且┐的優先級高于∧的優先級,∧的優先級高于∨的優先級;
④加括號時,括號中運算子優先,同一括號內的運算子之優先級遵循①,②,③各項,
6)有限次地使用上述五條規則得到的公式是元組關系演算公式,其他公式不是元組關系演算公式,
一個元組演算運算式{t|Φ(t)}表示了使Φ(t)為真的元組集合,
關系代數的運算均可以用關系演算運算式來表示(反之亦然),
下面用關系演算運算式來表示五種基本運算:
1)并,R∪S={t|R(t)∨S(t)}
2)差,R-S={t|R(t)∧┐S(t)}
3)笛卡爾積:
在這里插入圖片描述
4)投影
在這里插入圖片描述
5)選擇
在這里插入圖片描述
安全限制:把不產生無限關系的運算式稱為安全運算式,所采取的措施稱為安全限制,
安全限制通常是定義一個有限的符號集dom(Φ),dom(Φ)一定包括出現在Φ以及中間結果和最后結果的關系中的所有符號(實際上是各列中值的匯集),dom(Φ)不必是最小集,
當滿足下列條件時,元組演算運算式{t|Φ(t)}是安全的:
1)如果t使Φ(t)為真,則t的每個分量是dom(Φ)中的元素,
2)對于Φ中的每一個形如(?u)(W(u))的子運算式,若u使W(u)為真,則u的每個分量是dom(Φ)中的元素,
3)對于Φ中的每一個形如(?u)(W(u))的子運算式,若u使W(u)為假,則u的每個分量必屬于dom(Φ),換言之,若u某一分量不屬于dom(Φ),則W(u)為真,

2.5.3域關系演算語言QBE

關系演算的另一種形式是域關系演算,域關系演算以元組變數的分量即域變數作為謂詞變元的基本物件,
QBE是Query By Example(即通過例子進行查詢)的簡稱,它是基于螢屏表格的查詢語言,用戶通過終端螢屏編輯程式以填寫表格的方式構造查詢要求,而查詢結果也是以表格形式顯示,QBE中用示例元素來表示查詢結果可能的情況,示例元素實質上就是域變數,
QBE操作框架
在這里插入圖片描述

  1. 檢索操作
    1)簡單查詢
    2)條件查詢
    3)聚集函式
    在這里插入圖片描述
    4)對查詢結果排序
    對查詢結果按某個屬性值的升序排序,只需在相應列中填入“AO.”,按降序排序則均“DO.”,如果按多列排序,用“AO(i).”或“DO(i).”表示,其中i為排序的優先級,i值越小,優先級越高,
  2. 更新操作
    1)修改操作
    修改運算子為“U.”,
    在QBE中,關系的主碼不允許修改,如果需要修改繆戈元組的主碼,只能先洗掉該元組,然后再插入新的主碼的元組,
    2)插入操作
    插入運算子為“I.:,新插入的元組必須具有碼值,其他屬性值可以為空,
    3)洗掉操作
    洗掉運算子為“D.”,

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

標籤:其他

上一篇:mysql-mysql學習詳記一&&什么是mysql資料庫?&&sql陳述句及庫表操作&&資料庫的CRUD

下一篇:理論+實驗:MySQL資料庫基本概念和介紹

標籤雲
其他(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