數(shù)據(jù)分析解決方案如今不斷涌現(xiàn)。數(shù)據(jù)團隊處于風(fēng)暴的中心,因為他們必須平衡對訪問、數(shù)據(jù)完整性、安全性和適當治理的所有需求,這需要遵守相關(guān)政策和法規(guī)。他們所服務(wù)的企業(yè)需要盡快獲得信息,并且需要應(yīng)對不平衡的行為,數(shù)據(jù)團隊必須快速而明智地采取行動。
他們還必須進行分析和預(yù)測,因為他們不僅需要為現(xiàn)在構(gòu)建系統(tǒng),還需要為未來構(gòu)建平臺。數(shù)據(jù)團隊首先必須考慮的一個關(guān)鍵問題是:開放或封閉的數(shù)據(jù)架構(gòu)。
開放與封閉的數(shù)據(jù)架構(gòu)
先從術(shù)語“數(shù)據(jù)架構(gòu)”開始。如果要展示多年來任何一個企業(yè)的架構(gòu)圖,很可能他們的數(shù)據(jù)標簽實際上是代表數(shù)據(jù)庫的標簽——并不是數(shù)據(jù)本身,而是對數(shù)據(jù)起作用的引擎。人們可能對這些名稱很熟悉,例如Oracle、DB2、SQL Server、Teradata、Exadata、Snowflake等。這些都是為了加載數(shù)據(jù)集用于操作或分析目的的數(shù)據(jù)庫,它們是“數(shù)據(jù)架構(gòu)”的基礎(chǔ)。
根據(jù)定義,這些數(shù)據(jù)庫就是所說的“封閉數(shù)據(jù)架構(gòu)”。這意味著數(shù)據(jù)本身與其他應(yīng)用程序隔離,必須通過數(shù)據(jù)庫引擎訪問。即使使用ETL作業(yè)移動數(shù)據(jù)也是如此,因為在某些時候,要進行導(dǎo)出或?qū)耄枰闅v數(shù)據(jù)庫,無論這是否是實現(xiàn)企業(yè)想要做的事情的最佳方式。在這個重要的意義上,數(shù)據(jù)與架構(gòu)的其余部分是“封閉”的。
總之,封閉的數(shù)據(jù)架構(gòu)將數(shù)據(jù)帶到數(shù)據(jù)庫引擎,而開放的數(shù)據(jù)架構(gòu)將數(shù)據(jù)庫引擎帶到數(shù)據(jù)。
測試企業(yè)是否正在處理開放式架構(gòu)的一種簡單方法是考慮未來采用新引擎的難度。能否將新引擎與現(xiàn)有引擎(在相同數(shù)據(jù)上)并行運行,還是需要進行大規(guī)模(并且可能不切實際)的遷移?
需要注意的是,在這一點上,已經(jīng)觸及了與開源無關(guān)的“開放”的一個關(guān)鍵方面。第一步是決定希望其數(shù)據(jù)開放并可供任何希望利用它的服務(wù),這將在云計算世界中開放。
開放的、面向服務(wù)的數(shù)據(jù)架構(gòu)
當應(yīng)用程序從客戶端-服務(wù)器遷移到Web時,基本架構(gòu)發(fā)生了變化。從在一個進程中運行的單一應(yīng)用程序轉(zhuǎn)變?yōu)槊嫦蚍?wù)的應(yīng)用程序,這些應(yīng)用程序被分解為更小、更專業(yè)的軟件服務(wù)。這些最終被稱為“微服務(wù)”,并且它們?nèi)匀皇荳eb和移動應(yīng)用程序的主導(dǎo)設(shè)計。由于云計算基礎(chǔ)設(shè)施的性質(zhì),微服務(wù)方法具有許多優(yōu)勢。在具有按需資源模型和眾多團隊致力于功能塊的橫向擴展系統(tǒng)中,應(yīng)用程序只不過是數(shù)十或數(shù)百個微服務(wù)的外觀。
很多人都認為這種方法在構(gòu)建模塊化和可擴展的應(yīng)用程序方面具有許多優(yōu)勢。出于某種原因,應(yīng)該相信這種范式對數(shù)據(jù)并沒有那么有效。專家指出,以與應(yīng)用程序相同的開放、面向服務(wù)的方式查看數(shù)據(jù)的邏輯是顯而易見并且可取的。在實踐和戰(zhàn)略層面,開放的、面向服務(wù)的數(shù)據(jù)架構(gòu)才有意義。
這就是為什么說開源軟件的問題是次要的原因。最重要的 “開放”是決定開放數(shù)據(jù)架構(gòu)比封閉數(shù)據(jù)架構(gòu)更可取的第一步。一旦發(fā)生這種情況,就會出現(xiàn)一個分水嶺。開放文件和表格格式(Apache Parquet、Apache Iceberg等)非常重要,因為它們允許全行業(yè)創(chuàng)新。其創(chuàng)新以服務(wù)于獨立開發(fā)者的形式交付。雜亂、昂貴、脆弱和破壞合規(guī)性的數(shù)據(jù)被顯著減少甚至消除。數(shù)據(jù)團隊可以從同類最佳的服務(wù)中進行選擇來處理該數(shù)據(jù),并將它們放入架構(gòu)中,就像人們十多年來對應(yīng)用程序服務(wù)所做的一樣。是時候讓數(shù)據(jù)架構(gòu)迎頭趕上了。
那些對開放數(shù)據(jù)架構(gòu)的價值提出異議的人表示它們太復(fù)雜了。任何重大的技術(shù)轉(zhuǎn)變都會帶來復(fù)雜性。中型機最初比已建立的大型機更難以管理。然后,基于Intel架構(gòu)的服務(wù)器最初比已建立的中端系統(tǒng)更難以管理。管理個人電腦最初比管理已建立的啞終端更復(fù)雜。而每次發(fā)生技術(shù)轉(zhuǎn)變時,它都會通過正常的采用曲線進入應(yīng)用主流。從管理的角度來看,早期總是更加復(fù)雜,但隨著時間的推移,新的工具和方法會降低這種復(fù)雜性,從而產(chǎn)生遠遠超過初始復(fù)雜性成本的收益。這就是為什么進行技術(shù)創(chuàng)新的原因。
Dremio是一款DaaS平臺,其創(chuàng)建是為了使開放的、面向服務(wù)的數(shù)據(jù)架構(gòu)變得更加容易和強大。使用Dremio,由于可以將所有部分放在一起,因此對Lakehouse運行SQL很容易。在這一過程中,創(chuàng)建了改變行業(yè)的開源項目,例如Nessie、ApacheArrow和ArrowFlight。這些是開源項目,因為開源技術(shù)鼓勵采用和互操作性,這對于企業(yè)數(shù)據(jù)架構(gòu)中的服務(wù)集成層至關(guān)重要。客戶之所以受益,是因為他們可以采用創(chuàng)新的關(guān)鍵技術(shù),以更好地為他們服務(wù)。開源愛好者之所以受益,是因為他們可以訪問代碼以更好地理解它,甚至改進它。行業(yè)廠商之所以受益,是因為可以使用這些創(chuàng)新來快速輕松地在Lakehouses上創(chuàng)建SQL。
對這個討論提出一個很好的觀點,現(xiàn)實上,無論供應(yīng)商聲稱多么“開放”,無論他們?nèi)绾握務(wù)撝С珠_放格式和開放標準,即使該供應(yīng)商的核心是開源的,如果數(shù)據(jù)架構(gòu)是封閉的,那么它就是封閉的。
Snowflake公司在最近發(fā)表的一篇文章中提出的關(guān)鍵一點是,需要在數(shù)據(jù)格式和存儲所有權(quán)等方面進行封閉以滿足業(yè)務(wù)需求。雖然這在多年前可能需要這么做,但云存儲和事務(wù)表格式等最近的進步現(xiàn)在使開放式架構(gòu)能夠滿足這些要求。如果企業(yè)可以通過開放式架構(gòu)和隨之而來的所有好處來滿足其要求,那么為什么要選擇封閉式架構(gòu)呢?
數(shù)據(jù)成為一等公民
行業(yè)專家倡導(dǎo)數(shù)據(jù)本身成為架構(gòu)中一等公民的世界。對于想要從開放架構(gòu)中愛益的企業(yè),行業(yè)廠商正在使這一點變得越來越容易實現(xiàn),例如:(1)靈活地使用最適合不同工作的同類最佳引擎;(2)避免被鎖定通過專有引擎來訪問他們的數(shù)據(jù);(3)做好準備以利用未來的創(chuàng)新;(4)消除無休止地將數(shù)據(jù)復(fù)制和移出數(shù)據(jù)倉庫所造成的復(fù)雜性。
行業(yè)廠商不僅致力于開放標準和開源,盡管它們可能很重要,但首先致力于開放數(shù)據(jù)架構(gòu)。因為隨著它們變得越來越容易實現(xiàn)和使用,與封閉的數(shù)據(jù)架構(gòu)相比,其優(yōu)勢是壓倒性的。
版權(quán)聲明:本文為企業(yè)網(wǎng)D1Net編譯,轉(zhuǎn)載需注明出處為:企業(yè)網(wǎng)D1Net,如果不注明出處,企業(yè)網(wǎng)D1Net將保留追究其法律責(zé)任的權(quán)利。