DAMA學習筆記(五)-數據存儲和操作

1.引言

??數據存儲與操作包括對存儲數據的設計、實施和支持,最大化實現數據資源的價值,貫穿于數據創建/獲取到處置的整個生命周期。 數據存儲與操作包含兩個子活動(圖6-1)。
在這里插入圖片描述

圖6-1 語境關系圖:數據存儲與操作
  • (1) 數據庫操作支持

    • 數據庫操作支持主要關注與數據生命周期相關的活動,即從數據庫環境的初始搭建,到數據的獲取、備份再到處置數據
    • 確保數據庫性能狀態良好。
  • (2) 數據庫技術支持

    • 數據庫技術支持包括定義滿足組織需要的數據庫技術要求,定義數據庫的技術架構,安裝和管理數據庫技術,以及解決與數據庫相關的技術問題

數據庫管理員(DBA)在數據存儲和操作上述兩個方面中都扮演著重要的角色。

1.1 業務驅動因素

??組織依賴它們的信息系統來運營業務。數據存儲與操作活動對于依賴數據的企業來說非常關鍵,這些活動的主要驅動因素是業務連續性。如果某個系統不可用,企業運營可能受到損害,甚至完全停止運營。為IT運營提供可靠的數據存儲基礎設施,可以最大幅度降低業務中斷的風險。

1.2 目標和原則

??數據存儲與操作的目標包括:

  • 1)在整個數據生命周期中管理數據的可用性。
  • 2)確保數據資產的完整性。
  • 3)管理數據交易事務的性能。

??數據存儲與操作的原則包括:

  • (1)識別自動化的機會并采取行動
  • (2)構建時就考慮重用的思想
  • (3)理解并適當使用最佳實踐
  • (4)支持數據庫的標準需求
  • (5)為項目中的DBA角色設置期望值

1.3 基本概念

1.3.1 數據庫術語
    1. 數據庫 數據庫是存儲數據的集合。大型數據庫也稱為“實例(Instance)”或“模式(Schema)
    1. 實例 通過數據庫軟件,執行對某一特定存儲區域的控制訪問。
    1. 模式 模式是數據庫或實例中的數據庫對象的一個子集(Subset)。模式的常見用法是將包含敏感數據的對象與普通用戶群隔離,或者是在關系數據庫中將只讀視圖與基礎表隔離。
    1. 節點 一臺單獨的計算機作為分布式數據庫處理數據或者存儲數據的一個部分。
    1. 數據庫抽象 通用應用接口(API)通常用來調用數據庫函數。優點: 可移植性強, 缺點: 針對特定數據庫的函數, 很難跨庫使用。
1.3.2 數據生命周期管理

??貫穿數據設計、實現到使用(任何系統存儲、處理和檢索數據)的整個數據生命周期,DBA都有責任維護和確保數據的準確性和一致性。當各需求方請求對數據庫進行變更時,由DBA來定義數據庫需要進行的變更內容,實施變更并控制變更的結果。數據生命周期管理包括為數據的獲取、遷移、保留、過期和處置進行的實施策略和過程。穩妥的做法是準備好檢查表,確保所有的任務都能高標準、高質量的完成。DBA應該有一個回退計劃,在變更出現異常的情況下可以撤銷變更。

1.3.3 管理員

??數據庫管理員(DBA)是數據專業中最常見、也是最廣泛被接納的角色。DBA在數據存儲與操作活動中承擔著主導角色,在數據安全活動及物理模型建模、數據庫設計活動中也是關鍵的角色。DBA為開發環境、測試環境、QA環境及其他特殊數據庫環境提供支持。從專業分工來劃分,DBA被分為生產DBA、應用程序DBA、過程和開發DBA以及專門的網絡存儲管理員(NSA)。

??在各個組織中,IT部門內的不同專業角色可能向不同組織匯報工作。生產DBA可能歸屬于生產基礎設施組或者應用維護支持組,應用程序DBA及過程和開發DBA有時被歸并應用開發組,NSA一般歸屬于基礎設施組。

  • 1) 生產DBA
    • 生產DBA主要負責數據操作管理,包括:
      • 1)通過性能調優、監控、錯誤報告等活動,確保數據庫的性能及可靠性。
      • 2)通過建立備份與恢復機制,確保在任何意外情況下數據能夠被恢復。
      • 3)通過建立集群和容錯機制,確保數據連續可用。
      • 4)執行其他數據庫維護活動,如建立數據歸檔機制。
    • 生產DBA創建以下可交付結果:
      • 1)生產數據庫環境,包括支持服務器上的數據庫管理系統(DBMS)實例;提供足夠的資源和容量,確保獲得很好的性能;配置適當的安全性、可靠性和可用性級別。數據庫系統管理員為DBMS的環境負責。
      • 2)在生產環境中,控制數據庫實施變更的機制和流程。
      • 3)針對各種可能導致數據丟失或數據損壞的情況,建立確保數據完整、可用和恢復的機制。
      • 4)建立任何可能發生在數據庫或數據服務器上的錯誤檢測和報告的機制。
      • 5)提供與服務水平協議(SLA)相匹配的數據庫服務,包括可用性、數據恢復及性能等。
      • 6)建立伴隨工作負載和數據量變化的數據庫性能監控的機制和過程。
  • 2) 應用程序DBA
    • 應用程序DBA通常負責所有環境(開發、測試、QA及生產)中的一套或多套數據庫,而不是指定負責管理某個環境的數據庫系統。應用程序DBA需要向提供數據庫支持的應用程序開發與維護的部門匯報。
    • 應用程序DBA被當作應用支持團隊不可或缺的成員。他們專注于某個指定的數據庫,可以為應用程序開發人員提供更好的支持服務。
  • 3) 過程和開發DBA
    • 過程DBA負責審查和管理數據庫的過程對象。過程DBA專門開發和支持關系數據庫控制和執行的過程邏輯:存儲過程、觸發器及用戶自定義的函數(UDFs)。過程DBA確保過程邏輯是按規劃進行的、可實施的、經過測試的、可共享的(可重用的)。
    • 開發DBA主要關注數據設計活動,包括創建和管理特殊用途的數據庫,如“數據沙盒”或者數據探索區。
  • 4) 網格存儲管理員
    • 網絡存儲管理員(Network Storage Administrators,NSA)主要關注支持數據存儲陣列的軟硬件。
1.3.4 數據架構類型

??數據庫可以分為集中式數據庫和分布式數據庫。集中式系統管理單一數據庫,而分布式系統管理多個系統上的多個數據庫。分布式系統組 件可以根據組件系統的自治性分為兩類:聯邦的(自治的)或非聯邦的(非自治的)。圖6-2展現了集中式和分布式數據庫的差異。
在這里插入圖片描述

1.集中式數據庫

??集中式數據庫將所有數據存放在一個地方的一套系統中,所有用戶連接到這套系統進行數據訪問。集中是數據庫如果不可用, 就沒有其他途徑訪問到數據。

2. 分布式數據庫

??分布式數據庫通過掃描大量節點來快速獲取數據。主流的分布式數據庫技術是基于普通的商業硬件服務器來實現的。它被設計成可橫向擴展,即從一臺到成千上萬臺服務器,而每臺服務器提供本地的計算和存儲能力。高效能力不靠單一硬件,而是依靠數據庫管理軟件在服務器間復制數據來實現,因而可以讓整個計算機集群提供高效的服務。數據位于各個計算節點上,通過集群提供高帶寬的聚合數據訪問能力。文件系統和應用程序在設計上都能自動處理節點失效的情況。

  • 聯邦數據庫

    • 數據聯邦提供的數據不需要對數據源進行額外復制或持久化。聯邦數據庫系統地將多個自治的數據庫系統映射成一個單一的聯邦數據庫(圖6-3)。

    • 組成聯邦的數據庫有時是分散在不同地理位置,通過計算機網絡關聯在一起。他們保留本地的自治操作,同時參與到一個聯邦中,允許部分和受控地共享他們的數據。

    • 數據聯邦提供了合并不同數據庫的一種替代方法。由于是數據聯邦,聯邦數據庫并沒有將真實的數據整合到一起,而是通過數據互操作性將數據聯邦視為一個大型對象來管理。

    • 聯邦數據庫對于類似企業信息集成、數據可視化、模式匹配和主數 據管理這樣異構和分布式的集成項目非常合適。

在這里插入圖片描述

  • 根據組成聯邦的組件數據庫系統的級別和聯邦提供的擴展服務的不同,聯邦架構也會有所不同。聯邦數據庫管理系統可以分為松耦合和緊耦合兩類。
    在這里插入圖片描述

  • 區塊鏈數據庫

    • 區塊鏈數據庫屬于一種聯邦數據庫,用于安全管理金融交易
    • 區塊鏈數據庫有兩種結構類型:單條記錄和塊。每個交易包含一條記錄,每個區塊包含一組帶時間戳的交易,整個數據庫由多個區塊形成的鏈狀結構組成,每個區塊還包括鏈中前一個區塊的信息。
    • 存儲在區塊中的交易信息在生成時使用了哈希算法,新生成區塊位于整個鏈的末端。
3.可視化/云計算平臺

??虛擬化(或稱“云計算”)提供計算、軟件、數據訪問和存儲服務,不要求終端用戶了解提供服務系統的物理位置和相關配置。云上數據庫類型: 虛擬機鏡像、數據庫即服務(DaaS)、管理托管在云上的數據庫、

??DBA需要與網絡和系統管理員協調,建立系統的項目集成機制,包括標準化、整合、虛擬化、數據自動備份與恢復以及數據安全,即:

  • 1)標準化/整合。整合減少數據在組織里存儲位置的數量,包括在一個數據中心內數據存儲和處理的數量。基于數據治理策略,數據架構師和DBA可以制定包括識別關鍵戰略數據、數據保留的周期、數據加密過程及數據復制策略的標準流程。
  • 2)服務器虛擬化。虛擬化技術允許將多個數據中心的設備(如服務器)進行替換或整合。虛擬化減少了資金和運營成本,降低了能源消耗。虛擬化技術常用來創建虛擬桌面,托管在數據中心,以訂閱的方式出租給用戶。
  • 3)自動化。數據自動化包括準備、配置、修正、版本管理及合規等一系列自動化任務。
  • 4)安全。虛擬環境的數據安全,需要與物理設施的安全一起考慮 。
1.3.5 數據處理類型

??數據庫處理有兩種基本類型:ACID和BASE。ACID(英文中有“酸”的意思)和BASE(英文中有“堿”的意思)是pH酸堿度范圍對立的兩端,因此這個巧合的命名對于理解它們也有所幫助。CAP定理用于界定分布式系統與ACID(強調一致性C)還是與BASE(強調可用性A)更加接近。

  • (1)ACID

    • 原子性(Atomicity)。所有操作要么都完成,要么一個也不完成。
    • 一致性(Consistency)。事務必須時刻完全符合系統定義的規則,未完成的事務必須回退。
    • 隔離性(Isolation)。每個事務都是獨立的。
    • 持久性(Durability)。事務一旦完成,就不可撤銷。
  • (2)BASE

    • 基本可用(Basically Available)。即使節點發生故障,系統仍然能保證一定級別數據的可用性。數據可能過時,但系統仍然會給出響應。

    • 軟狀態(Soft State)。數據處于持續流動的狀態,當給出響應時,數據不保證是最新的。

    • 最終一致性(Eventual Consistency)。數據在所有節點、所有數據庫上最終狀態是一致的,但并非每時每刻在每個事務里都是一致的。

      通常在大數據環境里會使用BASE類型的系統,如大型互聯網公司和社交媒體公司。因為,它們的業務場景任何時候都不需要立即準確地拿到所有數據。下表總結了ACID和BASE的區別。

在這里插入圖片描述

  • (3)CAP

    • CAP定理(也稱為“布魯爾定理”)是集中式系統在朝著分布式的系統方向發展過程中提出的理論。

    • CAP定理指的是分布式系統不可能同時滿足ACID的所有要求。系統規模越大,滿足的要求點越少。分布式系統必須在各種屬性(要求)間進行權衡。

      • 1)一致性(Consistency)。系統必須總是按照設計和預期的方式運行。
      • 2)可用性(Availability)。請求發生時系統時刻都保持可用狀 態,并對請求作出響應。
      • 3)分區容錯(Partition Tolerance)。偶爾發生數據丟失或者部分系 統故障發生時,系統依然能夠繼續運行提供服務。
    • CAP定理指出,在任何共享數據的系統里,這3項要求最多只可能 同時滿足其中兩項。通常用“三選二”來說明,如圖6-5所示。Lambda架構是通過兩種路徑方式來使用數據:當可用性和分區容錯更重要時采 用Speed路徑(效率優先);當一致性和可用性更重要時采用Batch路徑。
      在這里插入圖片描述

1.3.6 數據存儲介質
  • 磁盤和存儲區域網絡(SAN)
    • 磁盤存儲是一種非常穩定的存儲永久數據的方法。
    • 可根據數據訪問頻率的不同,采用不同的存儲介質。
    • 磁盤陣列可以組成SAN(Storage Area Networks)。
  • 內存
    • 內存數據庫(In-Memory Database,IMDB)從永久存儲中將數據加載到內存中,所有的數據處理都在內存中完成。
    • 大部分內存數據庫也具有配置數據持久化的特性,以防意外宕機。
  • 列壓縮方案
    • 列式數據庫(Columnar-based Databases)是為處理那些數據值存在大量重復的數據集而設計的。
    • 列式存儲按列的方式存儲數據并使用壓縮技術,可以降低對I/O帶寬的占用。
  • 閃存
    • 閃存具有集內存的訪問速度和存儲持久性于一體的特點。
1.3.7 數據庫環境
  • (1)生產環境 生產環境是指處理所有生產業務流程發生的技術環境。
  • (2)非生產環境 系統的變更在真正部署到生產環境之前,需要在非生產環境下進行開發和測試。
    • 常見的非生產環境包括開發環境、測試環境、支持環境和特別用途環境。
    • 1)開發環境
      • 開發用的環境通常是生產環境的精簡配置版本,相對而言是更少量的磁盤空間、更少的CPU及內存。
      • 開發人員在這個環境下編寫代碼,并測試不同環境下對代碼進行的變更,然后在QA環境對這些代碼進行集成測試。
    • 2)測試環境
      • 測試環境通常用于執行質量保證和用戶驗收測試,有些情況下,也用于壓力測試或性能測試。
      • 理想的測試環境應該與生產環境使用完全一樣的軟硬件配置。
      • 測試環境用途: 質量保證測試(QA)、集成測試、用戶驗收測試(UAT)、性能測試。
    • 3)數據沙盒或實驗環境
      • 數據沙盒是允許以只讀的方式訪問和管理生產數據的另一個環境。
1.3.8 數據庫組織模型

??數據庫通常以3種形式進行組織:層次型、關系型和非關系型,這種歸類并非是完全互斥的(圖6-6)。
在這里插入圖片描述

1. 層次型數據庫

??在層次型數據庫中,數據被組織成具有強制的父子關系的樹型結構:每個父級可以有多個子級,但每個子級只有一個父級(也稱為一對多關系)。

2. 關系型數據庫

??關系型數據庫(Relational Databases)基于集合理論和關系代數,其中數據元素或屬性(列)與元組(行)相關。關系型數據庫是面向行(Row)的。關系型數據庫管理系統被稱為RDBMS。當需要存儲的數據不斷變化時,關系型數據庫是主要選擇。關系型數據庫的變體包括多維數據庫和時態數據庫。

  • 多維數據庫 多維數據庫(Multidimensional Database)技術將數據存儲在一種數據結構中,它允許同時對多個數據元素過濾器進行搜索。這種類型的結構最常用于數據倉庫(DW)和商務智能(BI)。
  • 時態數據庫 時態數據庫(Temporal Database)是一種內置了支持處理涉及時間數據的關系型數據庫。面向時間的特性通常包括有效時間(現實世界中一個真實事件或實體對象發生的時間)和事務時間(存儲在數據庫中的事實被認為是真實的時間段)。
3. 非關系型數據庫

??非關系型數據庫(Non-relational Database)可以將數據存儲為簡單的字符串或者完整的文件。非關系型數據庫提供了一種存儲和檢索數據的機制,與傳統關系數據庫相比,它使用的一致性模型約束較少。非關系型數據庫通常被稱為NoSQL數據庫(代表“Not Only SQL”)。主要區別是存儲結構,數據結構不再綁定到表格關系中設計。它可能是樹、圖、網絡或鍵值對。

  • 1)列式數據庫。列式數據庫(Column-oriented Database)能壓縮冗余數據,通常用于商務智能(BI)的應用。
    • ① 當需要對很多行進行聚合計算時,面向列的存儲組織方式會更加高效。這只適用于處理少數列的情況,因為讀取少數列比讀取所有列的 數據更快。
    • ② 當一次向所有行更新某個列時,面向列的存儲組織更加高效,因為可以不必訪問行里的其他列就有效地寫入數據,替換舊的列數據。
    • ③ 當同時需要獲取一行中的許多列,并且行的體量相對較小,單次磁盤訪問就能將整行數據檢索時,面向行的存儲組織更加高效。
    • ④ 如果寫入一條新紀錄時同時要提供所有的行數據,那么面向行的組織效率更高;整個行的數據可以用單次磁盤操作寫入。
    • ⑤ 面向行的存儲布局非常適合于在線事務處理(OLTP)類的工作負載,此類負載的重點是交互式事務。面向列的存儲布局非常適合于在線分析處理(OLAP)類的工作負載。
  • 2)空間數據庫。空間數據庫(Spatial Database)被優化用于存儲和查詢表示幾何空間中定義的對象數據。空間數據庫支持基本類型(簡單的幾何圖形,如方框、矩形、立方體、圓柱體等)和由點、線和形狀組合成的幾何圖形。 空間數據庫可以執行以下一個或多個操作:
    • ① 空間評估(Spatial Measurements)。計算線條長度、多邊形面積、幾何圖形之間的距離等。
    • ② 空間功能(Spatial Functions)。修改現有特征以創建新特征。例如,在空間周圍提供緩沖區、相交特征等。
    • ③ 空間預測(Spatial Predicate)。允許對幾何圖形之間的空間關系進行真假查詢。例如,兩個多邊形重疊嗎?擬建垃圾填埋場附近1000米 范圍內是否有住宅?
    • ④ 幾何構造(Geometry Constructors)。通常通過描述所定義形狀的頂點(點或節點)來創建新的幾何圖形。
    • ⑤ 觀測功能(Observer Functions)。查詢并返回某個特征的特定信息。例如,圓心的位置。
  • 3)對象/多媒體數據庫。多媒體數據庫(Multi-media Database)包括一個分層存儲管理系統,用于高效管理磁介質和光存儲介質。
  • 4)平面文件數據庫。平面文件數據庫(Flat File Database)描述了將數據集編碼為單個文件的各種方法。平面文件可以是純文本文件或二進制文件。平面文件數據庫只包含數據以及長度和分隔符不同的記錄。
  • 5)鍵值對。鍵值對數據庫(Key-Value Pair Database)的數據項包含兩個部分:鍵的標識符和值。
    • ①文檔數據庫(Document Databases)。
    • ②圖數據庫(Graph Databases)。
  • 6)三元組存儲。由主語、謂語和賓語組成的數據實體稱為三元組存儲(Triplestore)。在資源描述框架(Resource Description Framework,RDF)術語中,三元組存儲由表示資源的主語、表示資源和對象之間關系的謂語以及對象本身組成。三元組存儲大致可以分為三類:原生三元組存儲、RDBMS支持的三元組存儲和NoSQL三元組存儲。
1.3.9 專用數據庫

??有些特殊情況需要特殊類型的專用數據庫,它們的管理方式不同于傳統關系型數據庫。例如:

  • 1)計算機輔助設計和制造(CAD / CAM)。
  • 2)地理信息系統(GIS)。
  • 3)購物車功能。
1.3.10 常見數據庫過程
1. 數據歸檔

??歸檔(Archiving)是將數據從可立即訪問的存儲介質遷移到查詢性能較低的存儲介質上的過程。歸檔后的數據可以恢復到原系統,供短期使用。從歸檔中恢復的過程簡單來說是將歸檔文件中的數據復制回原系統。歸檔過程必須與分區策略保持一致,以確保最佳的可用性和數據保留度。穩妥的方法包括:

  • 1)創建一個輔助存儲區域,優先建在輔助數據庫服務器上。
  • 2)將當前的數據庫表分區成可以歸檔的單元。
  • 3)將不經常使用的數據復制到單獨的數據庫。
  • 4)創建磁帶或磁盤備份。
  • 5)創建數據庫任務,定期清理不再使用的數據。

??對歸檔進行定期恢復測試是明智做法,以確保在緊急事件發生時避免無法恢復的意外狀況。 對生產系統的技術或架構進行改造時,同時需要進行歸檔評估,以確保歷史歸檔數據能被讀取到當前存儲中。當歸檔數據不同步或不一致時,有以下幾種處理方法:

  • 1)確定是否保留歷史歸檔或有多少歷史歸檔需要保留。不需要的歷史歸檔可以清除。

  • 2)對于重大技術調整,在調整前將歸檔恢復到原始系統、升級或遷移到新系統,并在新系統下重新歸檔數據。

    3)對于源數據庫結構發生更改的高價值歸檔數據,恢復歸檔,并對數據結構進行相應更改,用新結構重新歸檔。

    4)對于相對低價值的低頻訪問歸檔,在源系統的技術或結構發生 改變時,保持舊系統的小版本,供有限的數據訪問,并根據需要用舊系 統的數據格式從歸檔中抽取數據。

2. 容量和增長預測

??把數據庫想象成一個盒子,把數據想象成水果,把管理成本(索引等)想象成包裝材料。用隔板把盒子隔成小格子,將水果和包裝材料放進各個小格子:

  • 1)先確定盒子的大小。它要容納所有的水果和必需的包裝材料, 這就是容量(Capacity)。
  • 2)有多少水果要放進盒子,放的速度有多快?
  • 3)有多少水果要取出盒子,取的速度有多快?

??確定盒子的容量是隨著時間的推移保持不變,還是必須隨著時間的推移而擴大,以便確定存放更多的水果。對盒子要裝進來的水果和包裝 材料的多少和多快所作出的預測,就稱為增長預測(Growth Projection)。如果盒子不能擴大,那么水果必須盡可能從盒子里快進快出,增長預測即為零。

??水果在格子里應該放多久?如果放久了格子里的水果會蔫掉或者由于什么原因變得不那么有用了,那么這個水果應該放在一個單獨的盒子 里長期保存起來嗎(比如歸檔)?有沒有需求把蔫掉的水果放回原來的盒子里?將水果移動到另一個盒子里和將其移回第一個盒子里的能力,是歸檔的重要組成部分。這樣就不必頻繁地擴大盒子。

??如果水果變質不能食用了,就要把它扔掉(即清除數據)。

3. 變動數據捕獲

??變動數據捕獲(Change Data Capture,CDC)是指檢測到數據的變動并確保與變動相關的信息被適當記錄的過程。CDC通常指的是基于日志的復制,是一種非侵入性方法,將數據更改復制到目標端而不影響源端。有兩種不同的檢測和收集更改方法:數據版本控制-評估標識已改動過行的列(例如,有上次更新時間戳的列、有版本號的列、有狀態標識的列),或通過讀取日志(Logs)。

4. 數據清除

??清除(Purging)是指從存儲介質中徹底刪除數據并讓它無法恢復的過程。數據管理的主要目標是維護數據的成本不應超過其對組織的價值。清除數據可以降低成本和風險。

5. 數據復制

??數據復制(Replication)意味著多個存儲設備上存放著相同的數據。在某些情況下,擁有重復的數據庫很有用。eg: 服務器宕機的場景下。復制有主動復制和被動復制兩種模式:

  • 1)主動復制(Active Replication)。不存在主副本,可以在每個副本上主動創建和存儲來自其他副本的相同數據。
  • 2)被動復制(Passive Replication)。首先在主副本上創建和存儲數據,然后把更改的狀態傳送到其他副本上。

??數據復制有兩個維度的擴展方式:

  • 1)水平數據擴展。擁有更多的數據副本。
  • 2)垂直數據擴展。將數據副本放到距離更遠的不同地理位置上。

??數據復制有兩種主要的復制方式:鏡像和日志傳送(圖6-7)。復制方法的選擇取決于數據有多重要,以及立即進行故障切換到輔助服務器的重要性。

  • 1)鏡像(Mirroring)。作為兩階段提交過程的一個部分,在主庫的更新會立即(相對而言)同步給輔助數據庫。

  • 2)日志傳送(Log Shipping)。輔助數據庫定時接收并應用從主數 據庫傳來的事務日志副本。
    在這里插入圖片描述

6. 韌性與恢復

??數據庫韌性(Resiliency)是衡量系統對錯誤條件容忍度的指標。如果一個系統能夠容忍高級別的處理錯誤,并且仍能像預期的那樣工作,那么它就具有很強的韌性。如果應用程序一碰到意外條件就崩潰,那么系統就沒有韌性。數據恢復類型: 立即恢復(Immediate Recovery)、關鍵恢復(Critical Recovery)、非關鍵恢復(Non-critical Recovery)。

??數據處理錯誤包括數據加載失敗、查詢返回失敗以及阻礙ETL或其他過程正常完成的錯誤。提高數據處理系統恢復能力的常見方法是:捕獲并重新輸入導致錯誤的數據,檢測并忽略導致錯誤的數據。在處理過程中對這些數據做出標記,以免重啟一個處理進程時又要再次處理這些數據,或者在重新啟動流程時重復已完成的步驟。

7.數據保留

??數據保留(Retention)是指數據保持可用的時間。數據保留規劃應該是物理數據庫設計的一部分。數據保留需求也會影響容量規劃。

8. 數據分片

??分片(Sharding)是一個把數據庫中的一部分獨立出來的過程。因為分片的復制只是一個很小的文件,所以分片可以獨立于其他分片進行更新。

2.活動

??數據存儲和操作包括數據庫技術支持和數據庫操作支持兩個主要活動。數據庫技術支持側重選擇和維護用于存儲和管理數據的軟件,而數據庫操作支持側重軟件所管理的數據和進程。

2.1 管理數據庫技術

??管理數據庫的技術應同任何其他管理技術遵循相同的原則和標準。技術管理的主要參考模型是信息技術基礎設施庫(ITIL)。

2.1.1 理解數據庫的技術特征
  • 理解技術是如何工作的,以及它在特定業務環境中如何提供價值是非常重要的。
  • DBA與其他數據服務團隊一起,同業務用戶及其主管密切合作,以便了解業務的數據和信息需求。
  • DBA和數據庫架構師將他們對工具的了解與業務需求結合起來,提出最佳技術應用方案。
  • 數據專業人員必須先理解候選數據庫技術的特點,然后才能確定將哪種技術推薦為解決方案。
2.1.2 評估數據庫技術

選擇DBMS軟件時,應考慮下列一些因素:

  • 1)產品架構和復雜性。
  • 2)容量和速度限制,包括數據流傳送速率。
  • 3)應用類別,如事務處理、商務智能、個人資料。
  • 4)特殊功能,如時間計算支持。
  • 5)硬件平臺及操作系統支持。
  • 6)軟件支持工具的可用性。
  • 7)性能評測,包括實時統計信息。
  • 8)可擴展性。
  • 9)軟件、內存和存儲需求。
  • 10)韌性,包括錯誤處理和錯誤報告。

還有一些因素與技術本身沒有直接關系,而是與采購組織和供應商 有直接關系。例如:

  • 1)組織對技術風險的偏好。
  • 2)提供訓練有素的技術專業人員。
  • 3)擁有成本,如軟件許可費、維護費和計算資源成本。
  • 4)供應商聲譽。
  • 5)供應商支持策略和版本計劃。
  • 6)其他客戶案例。
2.1.3 管理和監控數據庫技術
  • 要想有效理解和使用某種技術,關鍵在于培訓。
  • 培訓計劃應包括適當級別的交叉培訓,以更好地支持應用程序開發,尤其是敏捷開發。
  • DBA要確保定期給數據庫做備份,同時還要做恢復測試。
  • DBA要與業務用戶和應用程序開發人員合作,確保最有效地使用該技術,解決出現的任何問題。

2.2 管理數據庫操作

??DBA和網絡存儲管理員提供的數據庫支持是數據管理的核心。數據庫部署在托管存儲區域中。DBA通過分配存儲結構、維護物理數據庫以及在服務器上建立數據庫環境來管理各種數據存儲應用程序。

2.2.1 理解需求
  • (1)定義存儲需求
    • DBA為數據庫管理系統(DBMS)應用程序建立存儲系統,為NoSQL建立文件存儲系統。
    • 所有項目都應該作第一年運營的初始容量估算,以及未來幾年內的空間增長預測。
    • 數據存儲需求必須考慮與數據保留相關的法規。
  • (2)識別使用模式
    • 1)基于事務型。
    • 2)基于大數據集的讀或寫型。
    • 3)基于時間型(月末壓力大、周末壓力輕等)。
    • 4)基于位置型(人口集中的地區有更多交易等)。
    • 5)基于優先級型(某些部門或者某些批處理相對有更大權限的優先級)。
  • (3)定義訪問需求
    • 數據訪問包括與存儲、獲取或者處理存儲在其他數據庫和資料庫中的數據等相關的活動。
    • 數據訪問就是授權訪問不同數據文件的過程。
2.2.2 規劃業務連續性

??組織需要為災難事件、影響系統或影響使用數據的不利事件進行業務連續性規劃(Plan for Business Continuity)。DBA必須確保所有數據 庫和數據庫服務器都有恢復計劃,包括可能導致數據丟失或數據損壞的場景:

  • 1)物理數據庫服務器失效。
  • 2)一塊或多塊磁盤存儲設備失效。
  • 3)數據庫失效,包括主要的數據庫、臨時的存儲數據庫和事務日 志等。
  • 4)數據庫索引或數據頁損壞。
  • 5)數據庫和日志段的文件系統失效。
  • 6)數據庫或事務日志的備份文件失效。

應該評估每個數據庫的重要性,以此確認恢復的優先順序。如果備份不可用或不可讀,則無法從災難中恢復任何系統。定期備份對于任何恢復工作都是必不可少的。

  • (1)備份數據
    • 如果對數據庫做備份,條件允許的話,還要對數據庫事務日志做備份。
    • 除了增量備份之外,應定期對每個數據庫進行全庫備份。
    • 對于OLTP類型的數據庫,事務日志的備份頻率取決于數據更新的頻率和涉及的數據量。
  • (2)恢復數據
    • 文件型數據庫中的數據比關系型數據庫管理系統中的數據更容易恢復。
    • 定期進行數據庫的恢復測試可以減少災難或者緊急情況下發生的意外。
2.2.3 創建數據庫實例
  • 1)安裝和更新DBMS軟件。
  • 2)維護多種環境的安裝,包括不同的DBMS版本。
  • 3)安裝和管理相關的數據技術。
      1. 物理存儲環境管理
      • 物理存儲環境管理需要遵循傳統的軟件配置管理(SCM)過程或信息技術基礎設施庫(ITIL)的方法,以記錄對數據庫配置、結構、約束、權限、閾值等的修改。
      • 確保一個完善的SCM過程需要4個步驟:配置識別、配置變更控制、配置狀態報告和配置審計。
      1. 管理數據訪問控制
      • DBA為保護數據資產和數據完整性對以下功能進行監督:受控環境、物理安全、監控、控制。
      1. 創建存儲容器
      • 所有的數據存儲在一個物理設備上并被進行組織,以便加載、查詢或檢索。
      • 關系型數據庫具有包含表的模式,而非關系型數據庫具有包含文件的文件系統。
      1. 應用物理數據模型
      • 物理數據模型包括存儲對象、索引對象以及執行數據質量規則、連接數據庫對象以及實現數據庫性能所需的任何封裝代碼對象。
      • 根據組織的不同,數據建模師可能會提供數據模型,而DBA則在存儲中進行數據模型的物理布局。
      1. 加載數據
      • 根據待加載的數據來源的不同選擇不同的采集方法。
      1. 管理數據復制
      • 1)主動或被動復制。
      • 2)基于分布式數據系統的分布式并發控制。
      • 3)在數據更改控制過程中,通過時間戳或版本號來識別數據更新的適當方法。
2.2.4 管理數據庫性能

??數據庫的性能取決于兩個相互依賴的因素:可用性和響應速度。性能包括確保空間的可用性、查詢優化以及其他能使數據庫以有效的方式返回數據的因素。DBA和網絡存儲管理員通過以下步驟管理數據庫的性能:

  • 1)設置和優化操作系統及應用程序參數。
  • 2)管理數據庫連接。
  • 3)與系統開發人員和網絡管理員合作,優化操作系統、網絡和事務處理中間件,以方便數據庫更好地運行。
  • 4)提供合適的存儲,讓數據庫與存儲設備和存儲管理軟件有效配合。
  • 5)提供容量增長預測,支持存儲獲取和一般數據生命周期管理活動,包括保留、調優、存檔、備份、清理和災難恢復。
  • 6)與系統管理員一起,提供操作工作負載和基準,以支持SLA管理、收費計算、服務器容量以及規劃的生命周期輪換。
1.設置數據庫性能服務水平

??通常是通過IT數據管理服務組織和數據所有者之間的服務水平協議(SLA)來應對出現的問題。通常,SLA將確定在哪些時間框架中可以使用數據庫。

在這里插入圖片描述

2.管理數據庫可用性

??可用性是指系統或數據庫可以用于生產工作的時間百分比。影響系統可用性的因素: 可管理性(Manageability)、可恢復性(Recoverability)、可靠性(Reliability)、可維護性(Serviceability)。影響數據庫可用性的因素: 1)計劃性停機、2)非計劃停機(故障)、3)應用問題、4)數據問題、5)人為錯誤。

3.管理數據庫運行

??DBA部署數據庫監控,監視數據庫的運行、數據變更日志的使用和復制環境的同步等情況。日志大小和位置需要空間。

4.維護數據庫性能服務水平

??DBA通過性能監控、快速有效響應問題的方式,對數據庫性能進行主動和被動的優化。數據管理員應該定期對數據庫管理系統和服務器制作活動和性能報告與之前的報告進行比較, 便于分析問題。

  • 1)事務性能與批處理性能
    • 數據移動和轉換活動是通過批處理程序執行的, 批處理作業必須在操作時間表的指定窗口中完成。
    • DBA和數據集成專家監控批處理數據的工作性能,確定異常并確認錯誤的原因并解決該問題。
    1. 問題修復
    • 數據庫性能低下的常見原因包括:內存分配和爭用、鎖與阻塞、不準確的數據庫統計信息、不良代碼、低效而復雜的表連接、不當的索引、應用程序活動、過載的服務器、數據庫的易變性、失控的查詢語句。
    • 在查明問題的原因之后,DBA應當采取必要的措施來解決這些問題,包括與開發人員合作改進和優化數據庫代碼,以及歸檔或刪除應用 程序不再需要的數據。
5.維護備用環境

??DBA可以將數據庫結構和數據的全部或子集復制到其他環境中,以支持更改的開發和測試。有幾種類型的替代環境:1)開發環境、2)測試環境、3)數據沙箱、4)備用的生產環境。

2.2.5 管理測試數據集

??測試數據是專門用于測試系統的。測試可以驗證給定的輸入集產生的預期輸出,或者檢測編程對異常、極端或意外輸入的響應能力。測試數據可以集中產生,也可以用系統的方式(通常是功能測試的情況下)使用統計或過濾器來生成,或者使用其他不太集中的方法(通常是在高容量隨機自動化測試的情況下)。DBA應監管項目的測試數據,定期清除舊的測試數據以保留數據庫容量。

2.2.6 管理數據遷移

??數據遷移是在盡可能不改變數據的情況下,在不同存儲類型、格式或計算機系統之間傳送數據的過程。數據遷移通常基于規則采用事先編好的程序自動執行。映射的粒度決定了元數據的更新速度,決定了遷移過程中需要多少額外的磁盤容量,決定了先前位置被標記為空閑的速度。數據遷移的相關工作:

  • 1)將過度使用的存儲設備上的數據轉移到一個單獨的環境中。
  • 2)根據需要將數據移動到速度更快的存儲設備上。
  • 3)實施數據生命周期管理策略。
  • 4)將數據從舊的存儲設備(無論是報廢還是停止租賃)遷移到線下或云存儲上。

??在數據遷移過程中,通常會執行自動和手動的數據修復,以提高數據的質量、消除冗余或過時的信息,并適應新系統的需求。

3.工具

3.1 數據建模工具

  • 數據建模工具可以幫助數據建模人員自動化執行許多任務。
  • 數據建模工具(部分)允許生成數據庫數據定義語言腳本(DDL)。
  • 數據建模工具(大多數)支持從數據庫到數據模型進行逆向工程。

3.2 數據庫監控工具

??數據庫監控工具自動監控關鍵指標(如容量、可用性、緩存性能、用戶統計等), 并向DBA和網絡存儲管理員發出當前數據庫問題報警。

3.3 數據庫管理工具

??數據庫系統通常自帶管理工具。第三方的軟件包括配置功能、安裝補丁和升級、備份和恢復、數據庫克隆、測試管理和數據清理任務, 可協助DBA管理多種數據庫。

3.4 開發支持工具

??開發支持工具包含一個可視化界面,用于連接和執行數據庫上的命令。

4.方法

4.1 在低階環境中測試

??對于操作系統、數據庫軟件、數據庫變更以及代碼更改的升級和補丁,測試流程:

    1. 在最低階配置的環境中安裝和測試——通常是開發環境
    1. 在下一階的環境繼續驗證-- 測試環境
    1. 安裝部署到生產環境中

4.2 物理命名標準

??數據架構師、數據庫開發人員和DBA可以使用命名標準來定義元數據或創建不同組織之間交換文件的規則。利用ISO/IEC 11179-元數據注冊表(Metadata Registries,MDR)處理數據的語義、數據的表示和數據描述的注冊。

4.3 所有變更腳本化

??由于請求的“一次性”以及缺乏適當的工具,直接更改數據庫中的數據是非常危險的。

5.實施指南

??就緒評估/風險評估主要圍繞兩個中心思想:數據丟失的風險和與技術準備有關的風險。

5.1 就緒評估/風險評估

1. 數據丟失
  • 由于技術或程序錯誤,或者出于惡意的目的,數據可能會丟失, 組織需要制定規定減少此類風險。
  • 服務水平協議(SLA)通常規定了數據保護的一般要求,它需要得到良好的文檔化程序支持。
  • 隨著網絡威脅的不斷演變,建議進行SLA審計和數據審計來評估和規劃風險緩解措施。
2. 技術準備

??對于新技術,如非關系型數據庫(NoSQL)、大數據、三元組存儲(Triple Stores)和任務空間功能描述(FDMS)等需要IT技能和經驗準備。

5.2 組織和文化變化

??DBA和其他數據管理人員可以幫助克服這些組織和文化障礙。DBA通過遵循指導原則來識別和采取行動,在考慮重用的情況下進行構建,應用最佳實踐,將數據庫標準與支持聯系起來, 并設定DBA在項目中的目標。DBA還應該: 1)主動溝通、2)站在對方的立場上與之溝通、3)保持專注于業務、4)對他人要有幫助、5)不斷學習。

6.數據存儲和操作治理

6.1 度量指標

  • 數據存儲的度量指標,包括:
    • 1)數據庫類型的數量。
    • 2)匯總交易統計。
    • 3)容量指標。
    • 4)已使用存儲的數量。
    • 5)存儲容器的數量。
    • 6)數據對象中已提交和未提交塊或頁的數量。
    • 7)數據隊列。
    • 8)存儲服務使用情況。
    • 9)對存儲服務提出的請求數量。
    • 10)對使用服務的應用程序性能的改進。
  • 性能度量評估指標,包括:
    • 1)事務頻率和數量。
    • 2)查詢性能。
    • 3)API服務性能。
  • 操作度量指標,包括:
    • 1)有關數據檢索時間的匯總統計。
    • 2)備份的大小。
    • 3)數據質量評估。
    • 4)可用性。
  • 服務度量指標,包括:
    • 1)按類型的問題提交、解決和升級數量。
    • 2)問題解決時間。

6.2 信息資產跟蹤

??數據存儲治理中的一部分是確保數據庫遵守所有許可協議和監管要求。因此,應該對軟件使用許可、年度支持費用以及服務器租賃協議和其他固定費用,進行仔細跟蹤和年度審計。審計數據可以幫助確定每種技術和產品的總擁有成本(TCO)。

6.3 數據審計與數據有效性

??數據審計是根據定義的標準對數據集進行評估的過程,通常是對數據集的特定關注點進行審計。審計的目的是為了確定數據的存儲是否符合合同和方法要求。數據審計方法可能包括一個項目特定和全面的檢查表、所需的可交付成果和質量控制標準。數據驗證是根據既定的驗收標準評估存儲數據的過程,以確定其質量和可用性。數據驗證程序依賴于數據質量團隊(如果該團隊存在)或其他數據使用者的需求所建立的標準。DBA在其中的工作:

  • 1)幫助制定和審查方法。
  • 2)進行初步的數據篩選和審查。
  • 3)開發數據監控方法。
  • 4)應用統計信息、地理統計信息、生物統計信息等技術來優化數據分析。
  • 5)支持采樣及分析。
  • 6)審核數據。
  • 7)提供數據發現的支持。
  • 8)擔任與數據庫管理相關問題的主題專家。

7.總結

  • 定義:管理數據存儲的設計、實現和支持活動,以實現其最大化價值。
  • 數據存儲與操作的目標:1 貫穿整個數據生命周期,管理數據的可用性。2 確保數據資產的完整性。3 管理數據交易的性能。
  • 活動
      1. 管理數據庫技術(理解數據技術。評估數據庫技術。管理和監控數據庫技術)。
      1. 管理數據庫操作(理解需求。規劃業務連續性。創建數據庫實例。管理數據庫性能。管理測試數據集。管理數據遷移)。
  • 輸入: 數據架構。數據需求。數據模型。服務級別協議。
  • 交付成果: 數據庫技術評估標準。數據庫環境。遷移/復制/多版本數據。業務連續規劃。數據庫性能操作級別協議 OLA。
  • 度量指標:數據存儲/性能/操作/服務四個度量指標。
  • 業務驅動因素: 保障業務連續性。
  • DBA 遵循的指導原則:1) 識別自動化的機會并采取行動。2) 構建時就考慮重用的思想。3) 理解并適當使用最佳實踐。4) 支持數據庫的標準需求。5) 為項目中的 DBA 角色設置期望值。
  • DBA 為開發環境、測試環境、QA 環境和其他特殊數據庫環境提供支持。不是獨立完成數據存儲和操作活動的唯一角色 。可分為生產 DBA、應用程序 DBA、過程和開發 DBA、網絡存儲管理員 NSA。
  • 生產DBA 主要負責數據操作管理,包括:1)通過性能調優、監控、錯誤報告等活動,確保數據庫的性能及可靠性。2)通過建立備份與恢復機制,確保在任何意外情況下數據能夠被恢復。 3)通過建立集群和容錯機制,確保數據連續可用。4)執行其他數據庫維護活動,如建立數據歸檔機制。
  • 生產 DBA 交付的成果:1)生產數據庫環境,確保性能,配置適當的安全性、可靠性和可用性級別。數據庫系統管理員為 DBMS 的環境負責。2)控制數據庫實施變更的機制和流程。3)建 立確保數據完整、可用和恢復的機制。4)建立錯誤檢測和報告的機制。5)提供與服務水平協議(SLA)相匹配的數據庫服務。6)建立性能監控的機制和過程。
  • 應用程序 DBA:負責所有環境(開發、測試、QA 及生產)中的一套或多套數據庫,而不是指定負責管理某個環境的數據庫系統。
  • 過程和開發 DBA:負責審查和管理數據庫的過程對象。
    網絡存儲管理員 NSA:關注支持數據存儲陣列的軟硬件。
  • 數據架構類型: 集中式數據庫、分布式數據庫:聯邦的(自治的)、非聯邦的(非自治的)。
  • 聯邦數據庫對于類似企業信息集成、數據可視化、模式匹配和主數據管理這樣異構和分布式的集成項目非常合適。分松耦合、緊耦合區塊鏈數據庫是一種聯邦數據庫,它有單條記錄和塊兩種結構類型。
  • 在云上實施數據庫的方法:虛擬機鏡像。數據庫即服務 DaaS。管理托管云上的數據庫。
  • DBA 需要建立系統的項目集成機制:標準化/整合。服務器虛擬化。自動化。安全。
  • ACID: 1)原子性(Atomicity)。2)一致性(Consistency)。3)隔離性(Isolation)。4)持久性(Durability)。
  • BASE: 1)基本可用(Basically Available)。2)軟狀態(Soft State)。3)最終一致性(Eventual Consistency)。
  • CAP:1)一致性(Consistency)。2)可用性(Availability)。3)分區容錯(Partition Tolerance)。 3 選 2。Lambda 架構使用,當可用性和分區容錯更重要時采用 Speed 路徑,當一致性和可用性更重要時采用 Batch 路徑。
  • 數據存儲介質: 磁盤和存儲區域網絡 SAN。內存。列壓縮方案。閃存。
  • 數據庫環境:生產環境。非生產環境(開發環境。測試環境。數據沙盒或實驗環境。)
  • 數據庫組織模型:1 層次型數據庫。2 關系型(多維數據庫。時態數據庫。)。3 非關系型(列式。空間。對象/多媒體。平面文件。鍵值對。三元組存儲。)
  • 常見數據庫過程1 數據歸檔。 2 容量和增長預測。 3 變動數據捕獲。 4 數據清除。 5 數據復制 【主動復制。被動復制】【水平數據擴展。垂直數據能容納】【兩種復制方式:鏡像。日志傳送】。6 韌性與恢復【立即恢復。關鍵恢復。非關鍵恢復】。7 數據保留。 8 數據分片。
  • 【活動 1-1】管理數據庫技術-理解數據庫的技術特征。理解技術是如何工作的,以及它在特定業務環境中如何提供價值是非常重要的。
  • 【活動 1-2】管理數據庫技術-評估數據庫技術。 應考慮:1)產品架構和復雜性。2)容量和速度限制,包括數據流傳送速率。3)應用類別,如事務處理、商務智能、個人資料。4)特殊 功能,如時間計算支持。5)硬件平臺及操作系統支持。6)軟件支持工具的可用性。7)性能評 測,包括實時統計信息。8)可擴展性。9)軟件、內存和存儲需求。10)韌性,包括錯誤處理 和錯誤報告。與采購組織和供應商關系不的因素:1)組織對技術風險的偏好。2)提供訓練有 素的技術專業人員。3)擁有成本,如軟件許可費、維護費和計算資源成本。4)供應商聲譽。5) 供應商支持策略和版本計劃。6)其他客戶案例。
  • 【活動 1-3】管理數據庫技術-管理和監控數據庫技術。 關鍵在培訓。要定期備份,同時做恢復測試。
  • 【活動 2-1】管理數據庫操作-理解需求。(1)定義存儲需求。永久性還是臨時性;初始容量; 空間增長預測;數據保留合規性;(2)識別使用模式。(3)定義訪問需求。
  • 幾種基本的數據庫使用模式:1)基于事務型。2)基于大數據集的讀或寫型。3)基于時間型。4)基于位置型。5)基于優先級型。
  • 【活動 2-2】管理數據庫操作-規劃業務連續性。 組織要為災難事件、影響系統或影響使用數據的不利事件進行業務連續性規劃。管理層和組織的業務連續性字處理團隊應審查 和批準數據恢復計劃。DBA 團隊應定期審查計劃的準確性和全面性。(1)備份數據。(2)恢復數據。
  • 【活動 2-3】管理數據庫操作-創建數據庫實例。 1)安裝和更新 DBMS 軟件。2)維護多種環境的安裝。3)安裝和管理相關的數據技術。
  • 安裝和管理相關的數據技術:(1)物理存儲環境管理。(2)管理數據訪問控制【受控環境。物理安全。監控。控制。】(3)創建存儲容器。(4)應用物理數據模型。(5)加載數據。(6)管理數據復制。【主動或被動復制。基于分布數據系統的分布式并發控制。在數據更改控制過程中,通過時間戳或版本號來識別數據更新的適當方法。】
  • 軟件配置管理SCM的四個步驟: 配置識別、配置變更控制、配置狀態報告、配置審計(物理配置審計。功能配置審計)。
  • **管理數據訪問控制:**受控環境。物理安全。監控。控制。
  • 【活動 2-4】管理數據庫操作-管理數據庫性能。步驟: 1)設置和優化操作系統及應用程序參數。2)管理數據庫連接。3)與系統開發人員和網絡管理員合并,優化操作系統、網絡和事務處理中間件。4)提供合適的存儲。5)提供容量增長預測。6)與系統管理員一起,提供操作工作負載和基準,以支持 SLA 管理、收費計劃、服務器容量及規劃的生命周期輪換。
  • 管理數據庫性能的內容:(1)設置數據庫性能服務水平。(2)管理數據庫可用性。【可管理性。可恢復性。可靠性。可維護性】(3)管理數據庫運行。(4)維護數據庫性能服務水平。(5)維護備用環境。
  • 影響數據可用性的因素:計劃性停機。非計劃停機。應用問題。數據問題。人為錯誤。
  • 確保可用性的工具:備份工具。重組工具。統計信息搜索工具。數據完整性檢查 工具。自動執行上述工具。利用表空間聚類 和分類。跨庫進行數據復制保證高可用性。
  • 數據庫性能低下的常見原因:內存分配和爭用。鎖與阻塞。不準確的數據庫統計信息。不良代碼。低效而復雜的表連接。不當的索引。應用程序活動。過載的服務器。數據庫的易變性。失控的查詢語句。
  • 替代環境類型:開發環境。測試環境。數據沙箱。備用的生產環境。
  • 工具: 數據建模工具。數據庫監控工具。數據庫管理工具。開發支持工具。
  • 方法: 在低階環境中測試。物理命名標準。所有變更操作腳本化。
  • 就緒評估/風險評估:(1)數據丟失。使用 SLA 審計和數據審計來評估和規劃風險緩解措施。(2)技術準備。
  • 組織和文化變化。 DBA 往往不能有效提升自身工作對組織的價值。在應用發發時,常把數據管理視為應用程序開發的障礙。DBA 應要(1)主動溝通。(2)站在對方的立場上與之溝通。(3)保持專注于業務。(4)對他人要有幫助。(5)不斷學習。
  • 數據存儲和操作治理。
    • 度量指標:(1)數據存儲的度量指標。(2)性能度量評估指標。(3)操作度量指標。(4)服務度量指標。
    • 數據存儲的度量指標: 1)數據庫類型的數量。2)匯總交易統計。3)容量指標。4)已使用存儲的數量。5)存儲容器的數量。6)數據對象中已提交和未提交塊或頁的數量。7)數據隊列。8)存儲服務使用情況。9)對存儲服務提出的請求數量。10)對使用服務的應用程序性能的改進。
    • 性能度量評估指標: 1)事務頻率和數量。2)查詢性能。3)API 服務性能。
    • 操作度量指標: 1)有關數據檢索時間的匯總統計。2)備份的大小。3)數據質量評估。4) 可用性。
    • 服務度量指標: 1)按類型的問題提交、解決和升級數量。2)問題解決時間。
  • 數據存儲治理的一部分是確保數據庫遵守所有許可協議和監管要求。審計數據可以幫助確定每種技術和產品的總扔有成本(TCO)。
  • 數據審計與數據有效性。
    • 數據審計是根據定義的標準對數據集進行評估的過程,通常是對數據集的特定關注點進行審計。
    • 審計的目的是為了確定數據的存儲是否符合合同和方法要求。
    • 數據審計方法可能包括一個項目特定和全面的檢查表、所需的可交付成果和質量控制標準。
    • 數據驗證是根據既定的驗收標準評估存儲數據的過程,以確定其質量和可用性。
    • 數據驗證程序依賴于數據質量團隊(如果該團隊存在)或其他數據使用者的需求所建立的標準。
  • DBA 對數據審計和驗證提供部分支持工作,包括:1)幫助制定和審查方法。2)進行初步的數據篩選和審查。3)開發數據監控方法。4)應用統計信息、地理統計信息、生物統計信息等 技術來優化數據分析。5)支持采樣及分析。6)審核數據。7)提供數據發現的支持。8)擔任與數據庫管理相關問題的主題專家。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/44543.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/44543.shtml
英文地址,請注明出處:http://en.pswp.cn/web/44543.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

記錄vite項目中Cornerstone的兼容問題(持續更新)

🔎 在vite項目中打包提示錯誤 ESM integration proposal for Wasm" is not supported currently. ?? 問題描述 Error: Could not load /home/xxx/xxx/node_modules/icr/polyseg-wasm/dist/ICRPolySeg.wasm (imported by node_modules/icr/polyseg-wasm/di…

js ES6 part3

Number 是內置構造函數&#xff0c;用來創建數值 const price 12.345console.log(price.toFixed(2))//保留兩位小數 12.35 綜合案例購物車 <body><div class"list"><!-- <div class"item"><img src"https://yanxuan-item…

【代碼隨想錄】【算法訓練營】【第66天】 [卡碼95]城市間貨物運輸II [卡碼96]城市間貨物運輸III

前言 思路及算法思維&#xff0c;指路 代碼隨想錄。 題目來自 卡碼網。 day 66&#xff0c;周五&#xff0c;ding ding~ [卡碼95] 城市間貨物運輸II 題目描述 卡碼95 城市間貨物運輸II 解題思路 前提&#xff1a; 思路&#xff1a; 重點&#xff1a; 代碼實現 C語言 …

數據結構(Java):隊列Queue集合力扣面試OJ題

1、隊列 1.1 隊列的概念 隊列是一個特殊的線性表&#xff0c;只允許在一端&#xff08;隊尾&#xff09;進行插入數據操作&#xff0c;在另一端&#xff08;對頭&#xff09;進行刪除數據。隊列具有先進先出FIFO(First In First Out)的特性。 入隊&#xff1a;數據只能從隊尾…

有獎競猜!斗牛士軍團與法蘭西騎士的終極之戰,誰將笑傲歐洲之巔?

痛快看球&#xff0c;暢玩游戲&#xff0c;AGON愛攻帶你進入酣暢淋漓的足球世界&#xff01; 7月15日&#xff0c;綠茵賽場硝煙再起&#xff0c;兩支身披榮光的王者之師&#xff0c;一路過關斬將&#xff0c;最終會師決賽。一場萬眾矚目的巔峰對決即將拉開帷幕&#xff0c;究竟…

linux UDP通訊:接口函數示例

一、主要用的接口&#xff1a; //服務器端 1. socket() 創建套接字 2. bind() 綁定套接字 與TCP區別開來&#xff0c;沒有listen()、accept()建立連接的過程 3. 通信 recvfrom() sendto() 4. close //客戶端 1. socket() 創建套接字 與TCP區別開來&#xff0c;沒有connect()建立…

數據結構——排序算法(冒泡、快速、選擇、插入)

文章目錄 1. 概念 2. 十大排序算法 3. 冒泡排序 4. 冒泡代碼實現 5. 快速排序 6. 快速代碼實現 7. 選擇排序 8. 選擇代碼實現 9. 插入排序 10. 插入代碼實現 1. 概念 排序&#xff08;Sort&#xff09;是將無序的記錄序列&#xff08;或稱文件&#xff09;調整成有序…

LabVIEW前面板占滿整個屏幕(轉)

希望在運行一個LabVIEW程序時&#xff0c;它的前面板能夠占據整個屏幕&#xff0c;且不顯示Windows的任務欄或其他任何的LabVIEW菜單選項。怎樣才能實現這一功能&#xff1f; 您可以通過手動配置或編程的方式實現該功能。 手動配置VI屬性 您可以通過以下操作&#xff0c;將…

導入項目,JAVA文件是咖啡杯圖標

問題 從圖中可以看到&#xff0c;JAVA文件是咖啡杯圖標 原因 項目沒有識別為MAVEN項目 解決辦法 進入pom.xml文件&#xff0c;右鍵點擊Add as Maven Project即可

在Ubuntu 16.04上安裝和保護MongoDB的方法

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到網站。 簡介 MongoDB 是一個免費且開源的面向文檔的數據庫。它被歸類為 NoSQL 數據庫&#xff0c;因為它不依賴于傳統的基于表的關系型數據庫結…

Spring MVC入門3

看完這篇博客你能學到什么 理解JSON的使用理解注解PathVariable理解解注解RequestPart理解cookie和Session的基本概念理解cookie和Session的區別 如果想真正掌握&#xff0c;還需要自己勤加練習。 正文 JSON JSON概念 JSON&#xff1a;JavaScript Object Notation 【JavaS…

【YOLOv8】 用YOLOv8實現數字式工業儀表智能讀數(一)

上一篇圓形表盤指針式儀表的項目受到很多人的關注&#xff0c;咱們一鼓作氣&#xff0c;把數字式工業儀表的智能讀數也研究一下。本篇主要講如何用YOLOV8實現數字式工業儀表的自動讀數&#xff0c;并將讀數結果進行輸出&#xff0c;若需要完整數據集和源代碼可以私信。 目錄 &…

gin源碼分析

一、高性能 使用sync.pool解決頻繁創建的context對象&#xff0c;在百萬并發的場景下能大大提供訪問性能和減少GC // ServeHTTP conforms to the http.Handler interface. // 每次的http請求都會從sync.pool中獲取context&#xff0c;用完之后歸還到pool中 func (engine *Engin…

在C++中怎樣使用C庫

在C中使用C庫是一個相對直接的過程&#xff0c;因為C是從C發展而來的&#xff0c;并且與C高度兼容。這意味著你可以直接在C代碼中使用C庫函數、頭文件和變量&#xff0c;而無需進行特殊轉換。以下是一些基本的步驟和注意事項&#xff0c;用于在C中使用C庫&#xff1a; 1. 包含…

c語言位操作符相關題目之交換兩個數的值

文章目錄 一、題目二、方法11&#xff0c;思路2&#xff0c;代碼實現 三、方法21&#xff0c;思路2&#xff0c;代碼實現 四、方法31&#xff0c;思路2&#xff0c;代碼實現 總結 提示&#xff1a;以下是本篇文章正文內容&#xff0c;下面案例可供參考 一、題目 實現兩個變量的…

淺談PostCSS

1. 背景 css的預處理器語言&#xff08;比如 sass&#xff0c; less&#xff0c; stylus&#xff09;的擴展性不好&#xff0c;你可以使用它們已有的功能&#xff0c;但如果想做擴展就沒那么容易。 sass是很常用的css預處理器語言&#xff0c;在webpack中要使用它&#xff0c;…

設計模式使用場景實現示例及優缺點(結構型模式——組合模式)

結構型模式 組合模式&#xff08;Composite Pattern&#xff09; 組合模式使得用戶對單個對象和組合對象的使用具有一致性。 有時候又叫做部分-整體模式&#xff0c;它使我們樹型結構的問題中&#xff0c;模糊了簡單元素和復雜元素的概念&#xff0c;客戶程序可以像處理簡單元…

小米起訴“小米”商標侵權,索賠500萬!

近日浙江麗水有家叫小米的公司&#xff0c;因為商標侵權被小米科技起訴索賠500萬&#xff0c;需要變更企業名稱&#xff0c;官網也不能用“小米智能大家居”等&#xff0c;還有其它的賠償&#xff0c;普推知產商標老楊分析&#xff0c;“小米智能大家居”“小米”&#xff0c;后…

【Flask從入門到精通:第九課:數據庫基本操作、數據表操作以及數據操作】

數據庫操作 數據庫驅動&#xff08;drivers&#xff09;模塊&#xff1a;pymysql、MySQLDB 數據庫基本操作 在SQLAlchemy中&#xff0c;添加、修改、刪除操作&#xff0c;均由數據庫會話(sessionSM)管理。 會話用 db.session 表示。在準備把數據寫入數據庫前&#xff0c;要先…

交易平臺Zero Hash現已支持SUI交易

Zero Hash是一家領先的加密貨幣和穩定幣基礎設施平臺&#xff0c;為包括Stripe、Shift4和Franklin Templeton在內的公司提供支持&#xff0c;現在也支持對SUI的訪問。此舉使Zero Hash的客戶及其終端用戶能夠使用SUI。 提供API和SDK以及專注于無縫連接法幣、加密貨幣和穩定幣的…