據架構是一系列決定收集哪些數據,如何在數據庫系統中使用、處理和存儲數據的規則、策略以及模型。例如,數據集成是依賴于數據架構用于集成過程中的指令。如果沒有從編程范式轉換到數據架構范式,現代計算機將會變得更加笨拙遲鈍。
對于早期的計算機,創建過分簡單化的程序是為了處理特定類型的計算機問題,甚至沒有考慮過數據集成的概念,東亞服務器 臺灣服務器,每個程序之間都是單獨分開的。二十世紀四十年代至七十年代,程序處理是最主要的問題,有關建立數據架構的問題根本考慮得少之又少,甚至不在考慮的范圍之內。程序員致力于讓計算機通過執行特定的操作,以支持組織的短期目標。只有定義為“程序需要”的數據被使用,計算機才不會被用于長期的數據存儲,恢復數據需要能夠編寫、檢索特定信息的程序,而這相當耗費時間和金錢。
1970年,Edgar F. Codd公開發表題為“大型共享數據庫數據的關系模型”的論文,文中提到了組織起數據的相關步驟,Codd的理論基于運用于集合論里面的數學運算,結合了一列規則,以確保數據被存儲在最小冗余里。他的方法成功的創建了數據庫架構,簡化了計算機的效能。在Codd的理論之前,COBOL程序和大多數其他的程序都是按等級排列的,這樣的排列使得搜索有必要從總類別開始,然后再逐漸縮小搜索類別。而Codd提供的相關途徑則允許用戶更加有序、有效地利用二維表儲存數據。(Codd 稱之為“關系法”)
1976年,在麻省理工學院工作的Peter Chen發表題為“實體-關系模型對數據的統一視圖”的論文,文中介紹了實體/關系建模,也就是今天被廣泛熟知的“數據建模”。他以圖表的形式生動形象地呈現了數據架構,兩年后,Oracle宣布推出首款涉及業務的關系數據庫管理系統(RDBMS)。
以計算機為工具工作的人們開始意識到數據架構比程序架構更加靠譜。它的穩定性源自重新設計系統的中間部分,并將進程彼此隔離(類似于程序員將程序隔離的方式),重新設計的關鍵在于添加了數據緩沖區。
緩沖區最初是一個臨時記憶儲存系統,旨在從原始計算機的內存中快速移除數據,這樣計算機就不會陷入運阻,并能繼續解決問題。 然后,數據從緩沖區傳輸到打印機,“慢慢”打印出最新的計算結果。今天的數據緩沖區的版本是一個由設備共享的區域,或者一個程序的進程,它們以不同的速度運行,或者有不同的優先級。現代緩沖區允許每個進程(或設備)在沒有沖突的情況下運行,與緩存類似,緩沖區充當“中間存儲空間”,但也有助于協調不同的活動,而不是簡單地簡化內存訪問。
商業界很快就意識到Edgar F. Codd和Peter Chen的見解的優勢,新的數據架構設計顯而易見的比程序結構更快更靈活更穩定。此外,他們的見解促使計算機編程社區發生了文化上的轉變,數據結構現在被認為是遠比程序重要得多。
假設:數據在范式轉換中丟失
數據架構的進化需要消除三個基本的假設(假設的定義:一些被認為是理所當然的事情;一種缺乏有力證據的猜測,卻被當作事實來看待。)
假設1:每個程序必須和其他程序隔離開來。這種隔離論導致了程序代碼、數據定義和數據條目的重復。Codd的關系法解決了不必要的副本麻煩,他的模型將數據庫的模架或布局從物理信息存儲中分離出來(成為數據庫系統的標準)。他的關系模型指出,數據不需要存儲在單獨的、孤立的程序中,數據條目和程序編碼不需要不必要地復制。一個單獨的關系數據庫足以用于存儲所有的數據,所以,一致性可能(幾乎可以)得到保證,并且也更易于查找錯誤。
假設2:輸入和輸出是對等的,設計上應該讓他們相匹配。目前,輸出和輸入設備的數據處理速率有很大差異,這與預想著兩者以相同速度運行的期望是完全不同的。緩沖區的使用開啟了實現輸出、輸入的區別對待,Peter Chen的革新揭示了數據創造者和數據用戶之間的差異。數據用戶通常希望從潛藏在數據庫下的不同部分看到大量的信息以作比較,并從中提取最有用的信息。數據創造者,從另外一方面來說,則專注于處理數據,一次一個進程。數據創造者(輸入)和數據用戶(輸出)兩者的目的是截然不同的。
假設3:企業組織應該反應在他們的計算機程序里面。隨著緩沖區和關系數據庫的運用,“程序”這個概念應該會逐漸模仿公司的結構,更加靈活的數據庫取代了企業在提供有用結構方面的角色,同時收集和處理信息。現代數據模型既反映了企業的組織結構,也反映了用于實現目標的工具。
SQL和數據架構