[1. „Lake­house: A New Gene­ra­tion of Open Plat­forms that Unify Data Ware­housing and Advan­ced Ana­ly­tics“ Michael Arm­brust, Ali Ghodsi, Rey­nold Xin, Matei Zaha­ria, Dat­ab­ricks, UC Ber­ke­ley, Stan­ford Uni­ver­sity – 2021]

Das Data Lake­house ist eine Infor­ma­ti­ons­ar­chi­tek­tur, die in den letz­ten Jah­ren immer mehr an Popu­la­ri­tät gewon­nen hat. Der Kern­ge­danke die­ser Archi­tek­tur ist der Ver­such, die Ansätze des Data Ware­house und des Data Lake in einer Archi­tek­tur zu ver­ei­nen. In die­sem Arti­kel wird das Grund­kon­zept eines Data Lake­house, die Beweg­gründe sowie die Hür­den, die es dabei zu über­win­den gilt, erläu­tert. Es ist wich­tig zu beach­ten, dass es hier keine all­ge­mein akzep­tierte Defi­ni­tion eines Data Lake­house gibt. Die­ser Arti­kel bezieht sich daher vor­wie­gend auf die im White Paper [1] dar­ge­legte Unter­su­chung und Inter­pre­ta­tion. Zuerst wer­den die Vor­gän­ger erörtert. 

Data Ware­house 

Das Data Ware­house („Daten­la­ger“) stellt eine in Unter­neh­men weit ver­brei­tete, struk­tu­rierte Daten­ar­chi­tek­tur dar, die zur Daten­auf­be­rei­tung, Berichts­er­stel­lung und Visua­li­sie­rung für die Unter­neh­mens­da­ten ver­wen­det wird. Die Daten wer­den hier in rela­tio­na­len Daten­ban­ken gela­gert und mit­tels ETL in die vor­ge­ge­bene nor­ma­li­sierte Struk­tur trans­for­miert, bei­spiels­weise das Stern­schema. Diese Struk­tur unter­stützt die Per­for­manz, die von den rela­tio­na­len Daten­ban­ken für große Daten­men­gen bereit­ge­stellt wird.

Data Ware­house-Platt­for­men stel­len MPP-Archi­tek­tu­ren (Mas­si­vely Par­al­lel Pro­ces­sing) dar. In den 1980er Jah­ren fand diese Archi­tek­tur erst­mals Ein­zug in den Unter­neh­men. Die ange­sam­melte Erfah­rung spie­gelt sich unter ande­rem in den heu­ti­gen rela­tio­na­len Daten­ban­ken wie­der. Der Bedarf der Unter­neh­men an der Ver­ar­bei­tung hat im Ver­lauf mehr und mehr zuge­nom­men. Durch die Ein­füh­rung des Machine Lear­nings ist der Bedarf nun erneut ange­stie­gen. Viele Unter­neh­men ent­schei­den sich daher immer häu­fi­ger auch für einen Data Lake.

Data Lake 

Der Data Lake („Daten­see“) ist ein Repo­si­tory für Unter­neh­men zur Spei­che­rung einer gro­ßen Menge belie­bi­ger, unstruk­tu­rier­ter Daten unter­schied­li­cher Daten­her­kunft. In einem sol­chen Repo­si­tory wer­den Daten „as-is“ gespei­chert, was in die­sem Sinne bedeu­tet, dass im Data Lake auch semi-struk­tu­rierte Daten­ty­pen wie bei­spiels­weise XML oder JSON hier ver­ar­bei­tet wer­den kön­nen. Der Nut­zen die­ser Daten­ar­chi­tek­tur liegt ins­be­son­dere im Bereich der fort­ge­schrit­te­nen Daten­ana­lyse, unter ande­rem mit­tels Machine Learning.

Ein Pro­blem mit einem sol­chen dama­li­gen Data Lake sind mit­un­ter feh­lende Trans­ak­ti­ons­flüsse, Daten­qua­li­tät und Datenkonsistenz.

Data Ware­house Vorteile:

  • Daten lie­gen in Nor­mal­form für per­for­mante Daten­ver­ar­bei­tung in struk­tu­rier­ter Form vor – der Nut­zer erhält alle zusam­men­ge­führ­ten Daten in der Zieltabelle
  • Daten­qua­li­tät ist garantiert
  • bereit­ge­stellte State-of-the-Art Per­for­manz­op­ti­mie­rung (Caching, Indexing) 
  • ACID-kon­form

Data Lake Vorteile:

  • struk­tu­rierte, semi-struk­tu­rierte und unstruk­tu­rierte Daten kön­nen ohne wei­te­ren Auf­wand mit­tels Data Inges­tion gesam­melt werden.
  • Nut­zer haben direk­ten Zugriff auf die Rohdaten 
  • Daten kön­nen auf kos­ten­ef­fi­zi­en­ten und ska­lier­ba­ren Spei­cher­me­dien gela­gert werden. 
  • viele Open-Source-Dienste ste­hen zur Anbin­dung zur Verfügung.

Data Ware­house und Data Lake 

Die oben erwähn­ten Infor­ma­ti­ons­ar­chi­tek­tu­ren zei­gen gegen­sätz­li­che Vor­teile in ihrer Anwen­dungs­form. Wäh­rend das Data Ware­house mit Per­for­manz bei gro­ßen Daten­men­gen glän­zen kann, ist die Anwen­dungs­mög­lich­keit aus­schließ­lich auf struk­tu­rierte Daten beschränkt und schließt somit moderne Mög­lich­kei­ten der fort­ge­schrit­te­nen Daten­ana­lyse aus. Der Data Lake kann hier über­zeu­gen, was die­ses Ange­bot angeht. Aller­dings ist die Per­for­manz der Daten­lie­fe­rung auf Data Lake-Seite auf­grund der man­geln­den Struk­tur stark eingeschränkt.

Durch eine Kom­bi­na­tion bei­der Archi­tek­tu­ren konn­ten Unter­neh­men bereits beide Vor­teile genie­ßen. Die Kos­ten der dop­pel­ten Spei­cher­nut­zung sind dabei eine Tri­via­li­tät, aber den­noch ein Kos­ten­fak­tor. Dies addiert sich lei­der wei­ter auf durch wei­te­ren Pla­nungs­auf­wand, Syn­chro­ni­sa­ti­ons­be­darf via ETL, Schnitt­stel­len-Limi­ta­tio­nen und einige wei­tere Punkte könn­ten hier auf­ge­führt wer­den. Auf Basis immer wach­sen­der Daten und der rapi­den Wei­ter­ent­wick­lung moder­ner Ansätze der Daten­ana­lyse sowie der Machine Lear­ning-Algo­rith­men wird die Kom­ple­xi­tät wei­ter stei­gen und das Pro­blem erschweren.

Das Kon­zept des Data Lake­house ist im White Paper [1] vor­ge­stellt und ver­sucht, Vor­teile bei­der Archi­tek­tu­ren zu vereinen.

Kon­zept: Data Lakehouse

Eine Daten­ar­chi­tek­tur ist ein Ver­bund ver­füg­ba­rer Daten Services.

Sources -> Inges­tion -> Sto­rage -> Meta­data -> Pro­ces­sing -> Serving

Das Data Lake­house ver­knüpft daher die bereit­ge­stell­ten Dienste mit dem Data Lake als Daten­spei­cher. Die Data Lake­house-Archi­tek­tur ist aus den fol­gen­den 5 Ebe­nen zusammengesetzt.

  • Data Source-Layer – Jeg­li­che Form von Daten­quel­len (DB’s, IoT, Ser­vice Logs)
  • Data Inges­tion-Layer – Daten­auf­nahme und Ein­bet­tung in das System
  • Data Sto­rage-Layer – Ska­lier­bare, resis­tente und leicht ver­füg­bare Daten. Spei­cher für Data Lake und Data Ware­house – Berei­che ist im Data Lake­house geteilt, um unnö­tige Daten­du­pli­ka­tion zu vermeiden
  • Meta­data-Layer – Meta­da­ten wer­den bereit­ge­stellt für die Daten (struk­tu­riert und unstruk­tu­riert) für eine leichte Nutzerbereitstellung
  • Daten­ver­ar­bei­tung – Trans­for­ma­tion der Daten in zu ver­ar­bei­tende For­mate und wei­tere Daten­auf­be­rei­tung (Daten­säu­be­rung, ‑vali­die­rung, ‑nor­ma­li­sie­rung)
  • Daten­be­reit­stel­lung – Bereit­stel­lung der Daten auf Nut­zer­ebene mit­tels Daten­ka­ta­log

Das Data Lake­house führt die Mög­lich­kei­ten der zwei oben vor­ge­stell­ten Archi­tek­tu­ren in einer Platt­form zusam­men. Es kom­bi­niert die Ver­ar­bei­tung struk­tu­rier­ter Daten und die kos­ten­ef­fi­zi­ente Ver­ar­bei­tung unstruk­tu­rier­ter Daten. Die Kos­ten für die Daten­spei­che­rung kön­nen durch Ver­mei­dung von Daten­du­pli­ka­tion und die effi­zi­ente Abspei­che­rung redu­ziert wer­den. Zudem wer­den ETL-Pro­zesse somit über­flüs­sig. Diese Archi­tek­tur bie­tet Ent­wick­lern aus den unter­schied­li­chen Berei­chen der Daten­ana­lyse die Mög­lich­keit auf die­selbe Daten­ba­sis Zugriff zu erhal­ten. Die Hoff­nung ist, Ergeb­nisse mit über­lap­pen­den Zusam­men­hän­gen ver­schie­de­ner Berei­che bes­ser ver­ste­hen zu können.

Die Vor­teile der Data Lake­house-Archi­tek­tur sind im Fol­gen­den zusammengefasst.

Uni­for­mes Tool­kit: Data Ware­house & Data Lake grei­fen auf eine große Anzahl unter­schied­li­cher Dienste zur Bear­bei­tung der jewei­li­gen Daten­struk­tur zurück. Hier bie­tet das Data Lake­house bereits eine starke Reduk­tion der ver­wen­de­ten Dienste in eine uni­forme Gestalt über die kom­plette Infrastruktur. Somit wird der Auf­wand für Ent­wick­ler redu­ziert und der „Dienste-Zoo“ für Ent­wick­ler vermieden.

Reduk­tion des Spei­cher­be­darfs: Red­un­dante Daten kön­nen teil­weise bei der Betrei­bung der bei­den Platt­for­men Data Ware­house & Data Lake nicht ver­mie­den wer­den. Eine sol­che Daten­du­pli­ka­tion wird im Data Lake­house vermieden. 

Reduk­tion der Kom­ple­xi­tät des Daten­ma­nage­ments: Durch die Reduk­tion der Spei­cher­orte und Ver­mei­dung von Daten­red­un­danz kann die Kom­ple­xi­tät im Daten­ma­nage­ment­be­reich gering gehal­ten werden. 

ETL-Stre­cken: Es besteht ein gro­ßer Bedarf an Daten­aus­tausch in den bis­he­ri­gen Archi­tek­tu­ren und erfor­dert abge­stimmte ETL Pro­zesse. Die­ser Bedarf ent­fällt komplett. 

Hard­ware/­Be­triebs­sys­tem-Kos­ten: Es besteht ein hohes Poten­zial, Kos­ten ein­zu­spa­ren durch Spei­cher­re­duk­tion, redu­zier­ten Syn­chro­ni­sa­ti­ons­be­darf & redu­zier­ten Verwaltungsaufwand.

Resü­mee

Trotz aller Vor­teile gibt es hier auch Argu­mente gegen ein Data Lake­house. Neben einer “jun­gen” und “nai­ven” Imple­men­ta­tion eines sol­chen Kon­zepts kön­nen hier noch wei­tere Argu­mente gegen diese Archi­tek­tur genannt werden.

Anpas­sung an bestehende Infra­struk­tu­ren: Die Ein­füh­rung eines Data Lake­hou­ses kann für Unter­neh­men, die bereits bestehende Data Ware­house- und Data Lake-Infra­struk­tu­ren haben, eine Her­aus­for­de­rung sein. Der Umstieg erfor­dert eine Anpas­sung der Sys­teme, was zeit- und res­sour­cen­in­ten­siv sein kann.

Man­gelnde Stan­dar­di­sie­rung: Da das Data Lake­house-Kon­zept noch rela­tiv neu ist, gibt es bis­her keine weit ver­brei­tete Stan­dar­di­sie­rung. Dies kann zu Inter­ope­ra­bi­li­täts­pro­ble­men füh­ren und die Zusam­men­ar­beit zwi­schen ver­schie­de­nen Sys­te­men und Tools erschweren. 

Unreife der Tech­no­lo­gie: Die Tech­no­lo­gie hin­ter dem Data Lake­house ist noch in der Ent­wick­lung, und es gibt mög­li­cher­weise noch keine aus­ge­reif­ten Lösun­gen für einige Anwen­dungs­fälle. Unter­neh­men, die auf bewährte und eta­blierte Tech­no­lo­gien set­zen möch­ten, könn­ten zögern, sich für ein Data Lake­house zu entscheiden. 

Not­wen­dige Exper­tise: Das Data Lake­house-Kon­zept ver­bin­det ver­schie­dene Berei­che der Daten­ana­lyse und ‑ver­ar­bei­tung. Um ein sol­ches Sys­tem erfolg­reich zu imple­men­tie­ren und betrei­ben, ist es not­wen­dig, Experten mit umfas­sen­dem Wis­sen und Erfah­rung in die­sen Berei­chen zu haben. 

Sicher­heits­be­den­ken: Die Kon­so­li­die­rung von Daten in einem zen­tra­len Sys­tem kann Sicher­heits­be­den­ken auf­wer­fen, da es poten­zi­ell ein­fa­cher für Angrei­fer ist, auf eine Viel­zahl von Infor­ma­tio­nen zuzu­grei­fen. Unter­neh­men müs­sen sicher­stel­len, dass sie ange­mes­sene Sicher­heits­maß­nah­men ergrei­fen, um ihre Daten zu schützen. 

Trotz die­ser Her­aus­for­de­run­gen bie­tet das Data Lake­house-Kon­zept eine viel­ver­spre­chende Mög­lich­keit, die Vor­teile von Data Warehou­ses und Data Lakes zu kom­bi­nie­ren und Unter­neh­men dabei zu hel­fen, effek­ti­ver und effi­zi­en­ter mit ihren Daten umzu­ge­hen. Es ist wich­tig, dass Unter­neh­men die poten­zi­el­len Vor- und Nach­teile sorg­fäl­tig abwä­gen und die am bes­ten geeig­nete Lösung für ihre spe­zi­fi­schen Bedürf­nisse und Anfor­de­run­gen wählen. 

Die Lake­house Archi­tek­tur wird zur­zeit von meh­re­ren Tech­no­lo­gien unter­stützt und aktiv vor­an­ge­trie­ben. Bei­spiele hier­für sind die Anbie­ter AWS, Google, Azure aber auch Dat­ab­ricks mit ihrer auf haupt­säch­lich Open-Source-basier­ten Lösung und bie­tet mit der Dat­ab­ricks Data Lake­house Plat­form ein Pro­dukt die­ser Archi­tek­tur an. Damit ermög­licht es Ent­wick­lern fle­xi­bel mit dem Daten­haus­halt zu arbeiten.

saracus con­sul­ting hat meh­rere Kun­den bei ihren Migra­ti­ons­vor­ha­ben auf eine Lake­house Archi­tek­tur unter­stützt und diese Vor­ha­ben erfolg­reich umge­setzt. Soll­ten Sie hier Unter­stüt­zungs­be­darf haben oder an einem Aus­tausch inter­es­siert sein, kom­men Sie gerne auf uns zu.