search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

原創譯文| 數據架構簡史:轉換中的範式

據架構是一系列決定收集哪些數據,如何在資料庫系統中使用、處理和存儲數據的規則、策略以及模型。例如,數據集成是依賴於數據架構用於集成過程中的指令。如果沒有從編程範式轉換到數據架構範式,現代計算機將會變得更加笨拙遲鈍。

對於早期的計算機,創建過分簡單化的程序是為了處理特定類型的計算機問題,甚至沒有考慮過數據集成的概念,每個程序之間都是單獨分開的。二十世紀四十年代至七十年代,程序處理是最主要的問題,有關建立數據架構的問題根本考慮得少之又少,甚至不在考慮的範圍之內。程序員致力於讓計算機通過執行特定的操作,以支持組織的短期目標。只有定義為「程序需要」的數據被使用,計算機才不會被用於長期的數據存儲,恢複數據需要能夠編寫、檢索特定信息的程序,而這相當耗費時間和金錢。

編程範式轉換為資料庫架構範式

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和數據架構

Codd的關係法導致結構化的查詢語言(SQL),在上世紀八十年代成為了標準的查詢語言。關係資料庫變得非常受歡迎,促進了資料庫市場的發展,這反過來又導致了等級資料庫模型的沒落。

二十世紀九十年代早期,許多主要的計算機公司仍然專註於程序,試圖銷售昂貴而複雜的資料庫產品。回以他們的則是新的、更具競爭力的企業開始發布工具和軟體(如:Oracle開發人員、PowerBuilder)用來增強系統數據架構。二十世紀九十年代中期,互聯網的使用推進了資料庫行業的顯著增長以及計算機的總體銷售情況。

資料庫架構性的設計,引領了數據管理的蓬勃發展。企業已經發現了信息本身對公司的價值,二十世紀九十年代以後,諸如「數據管理員」、「資料庫管理員」的標題開始出現。數據管理員的職責在於保證數據使用中的高質量和完整性。

關係資料庫管理系統使創建一個呈現概念模式(某種類型的映射)的資料庫成為可能,然後提供資料庫的不同透視圖,這是為數據創建者和數據使用者設計的。另外,每個資料庫管理系統都可以將其物理存儲參數與列結構和表分開。

NoSQL和數據架構

NoSQL不是一個程序,它是一個資料庫管理系統,使用的是相當簡單的架構。在處理大數據和不需要關係模型時,它是很有用的。NoSQL資料庫系統在管理和存儲數據的方法和過程中是非常多樣化的。SQL系統在功能方面通常比NoSQL系統具有更大的靈活性,但是缺乏NoSQL系統的可伸縮性。但是,現在有許多商業軟體包可以結合「兩個世界的最佳方式」,而且更多的軟體包將會一直進入市場。

最近,一些機構組織在DATAVERSITY的文章和訪談中(還有許多其他的可能性)提供了一種數據架構解決方案,利用關係資料庫中常見的工具來處理大數據。Kyvos Insights公司銷售與Hadoop存儲系統兼容的軟體,它們的「Hadoop/OLAP 」組合在不同程度上促進了非結構化和結構化數據的處理,使得人們可以相對輕鬆地對大數據進行分析。

Hackolade公司也銷售一款軟體包,採用一種用戶友好數據模型提供了「高功能」的工具來處理NoSQL。該軟體將NoSQL融合了可視化圖形的簡明性,結合Hackolade其他工具一起使用,既減少開發時間,又提高了應用程序的質量。他們的軟體目前和Couchbase、DynamoDB、MongoDB 模式兼容(他們計劃未來能囊括更多NoSQL資料庫)。

RedisLabs將他們的雲計算與他們的軟體包Redis Pack結合在一起,提供另一個架構解決方案。Redis Pack和它的雲計算提供了三種優勢:速度、持久性(保存您的信息),以及他們提供的數據類型的多樣性。從本質上來說,Redis是一個「非常快」的NoSQL、鍵值數據存儲,同時可以充當資料庫、緩存和消息代理。

Reltio提供服務。他們已經創建了一個雲管理平台,並提供完成處理大數據所需的工具和服務。他們提供研究人員,將來自多個來源的大數據與主數據管理(MDM)合併在一起,並開發統一的目標。Reltio的系統支持多種行業領域,包括零售、生命科學、娛樂、醫療保健和政府。

數據架構從早期就完全改變了,並且很可能是由於一些新的趨勢,例如物聯網、雲計算、微服務、高級分析、機器學習和人工智慧,以及像Blockchain這樣的新興技術,將會繼續改變未來的發展方向。

[作者簡介]Keith D. Foote,自由撰稿人、作家;是一名遊歷甚廣的退伍軍人。他有著豐富的物理學知識背景,涉獵於數據科學的商業應用領域。

註:原文來源Dateversity,作者:Keith D. Foote,翻譯:數據觀/黃玉葉,校對:余超蓉,編輯:Fynlch(王培),:cbdioreview) ,欲了解更多大數據行業相關資訊,可搜索數據觀(大數據產業觀察網www.cbdio.com)進入查看。



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦