Warum brau­chen wir eine Daten­ar­chi­tek­tur?
Eine daten­ge­steu­erte Orga­ni­sa­tion zu wer­den, ist nach wie vor eines der wich­tigs­ten stra­te­gi­schen Ziele vie­ler Unter­neh­men. Daten­ge­steu­ert bedeu­tet, Daten in den Mit­tel­punkt aller Ent­schei­dun­gen und Pro­zesse zu stel­len, die im Unter­neh­men getrof­fen werden.

Füh­rungs­kräfte wis­sen, dass eine daten­ge­steu­erte Orga­ni­sa­tion der ein­zige Weg ist, um das Kun­den­er­leb­nis durch Hyper­per­so­na­li­sie­rung und Neu­ge­stal­tung der Cus­to­mer Jour­ney zu ver­bes­sern, die Betriebs­kos­ten durch Auto­ma­ti­sie­rung und maschi­nel­les Ler­nen zu sen­ken und Geschäfts­trends zu ver­ste­hen, die für die Stra­te­gie und Markt­po­si­tio­nie­rung auf höchs­ter Ebene wich­tig sind. Eine Daten­platt­form schafft ein gedeih­li­ches Umfeld für das Gedei­hen von Daten.

Eine Datenplattform ist ein Aufbewahrungs- und Verarbeitungsort für alle Daten eines Unternehmens. Sie kümmert sich um die Sammlung, Bereinigung, Umwandlung und Anwendung von Daten, um geschäftliche Erkenntnisse zu gewinnen. Sie wird manchmal auch als "moderner Datenstapel" bezeichnet, da die Datenplattform oft aus mehreren integrierten Tools besteht, die von verschiedenen Anbietern unterstützt werden (u. a. Dbt, Snowflake, Kafka).

Eines der wich­tigs­ten Ele­mente Ihrer Daten­platt­form ist die Daten­ar­chi­tek­tur. Die Daten­ar­chi­tek­tur ist der Pro­zess der Ent­wick­lung, des Auf­baus und der Ver­wal­tung der Struk­tur der Daten­be­stände des Unter­neh­mens. Sie ist eine Art Rah­men für die Inte­gra­tion von Daten aus ver­schie­de­nen Quel­len und Anwendungen.

Das Haupt­ziel einer gut kon­zi­pier­ten Daten­ar­chi­tek­tur besteht darin, Daten­si­los zu redu­zie­ren, die Daten­dopp­lung zu mini­mie­ren und die Gesamtef­fi­zi­enz des Daten­ver­wal­tungs­pro­zes­ses zu verbessern.

Mit der Ent­wick­lung der Daten­land­schaft in den letz­ten Jahr­zehn­ten hat sich auch die Daten­ar­chi­tek­tur wei­ter­ent­wi­ckelt. Schauen wir uns diese Ent­wick­lung im Detail an.

Analytische Daten haben einen evolutionären Wandel durchlaufen, der durch neue Nutzungsmodelle vorangetrieben wird und von der traditionellen Analyse zur Unterstützung von Geschäftsentscheidungen bis hin zu intelligenten Produkten reicht, die durch ML erweitert werden.

Erste Gene­ra­tion: Data-Ware­house-Archi­tek­tur
Die Data-Ware­house-Archi­tek­tur wird durch die Daten­be­we­gung von ope­ra­ti­ven Sys­te­men (SAP, Sales­force) und 1st-Party-Daten­ban­ken (MySQL, SQL Ser­ver) zu Busi­ness-Intel­li­gence-Sys­te­men defi­niert. Das Data Ware­house ist der zen­trale Punkt, in dem ein Schema defi­niert wird (Schnee­flo­cken­schema, Stern­schema) und in dem Daten in Dimen­sio­nen und Fak­ten­ta­bel­len gespei­chert wer­den, die es Unter­neh­men ermög­li­chen, Ände­run­gen in ihren Abläu­fen und Kun­den­in­ter­ak­tio­nen zu verfolgen. 

Daten sind:

  • aus vie­len ope­ra­ti­ven Daten­ban­ken und Quel­len extrahiert
  • in ein uni­ver­sel­les Schema umge­wan­delt, das in einem mul­ti­di­men­sio­na­len und zeit­va­ria­blen Tabel­len­for­mat dar­ge­stellt wird
  • über einen CDC-Pro­zess (Change Data Cap­ture) in die Ware­house-Tabel­len geladen
  • zug­frei­f­bar über SQL-ähn­li­che Abfragen
  • haupt­säch­lich für Daten­ana­lys­ten für Berichte und ana­ly­ti­sche Visualisierungszwecke

Bei die­sem Archi­tek­tur­stil kom­men auch Data Marts zum Ein­satz. Sie sind eine zusätz­li­che Schicht (bestehend aus einer oder meh­re­ren Tabel­len) über dem Data Ware­house, um spe­zi­fi­sche Geschäfts­pro­bleme der Abtei­lun­gen mit einem bestimm­ten Sche­ma­for­mat zu bedie­nen. Ohne Data Marts müss­ten diese Abtei­lun­gen meh­rere Abfra­gen im Data Ware­house durch­füh­ren und erstel­len, um die Daten mit dem von ihnen benö­tig­ten Inhalt und For­mat zu erhalten.

Die größ­ten Her­aus­for­de­run­gen bei die­sem Ansatz:

  • Im Laufe der Zeit wer­den Tau­sende von ETL-Auf­trä­gen, Tabel­len und Berich­ten erstellt, die nur eine spe­zia­li­sierte Gruppe ver­ste­hen und pfle­gen kann.
  • Moderne tech­ni­sche Ver­fah­ren wie CI/CD wer­den nicht angewandt.
  • Das Daten­mo­dell und das Schema-Design für Data Warehou­ses sind zu starr, um ein rie­si­ges Volu­men an struk­tu­rier­ten und unstruk­tu­rier­ten Daten aus ver­schie­de­nen Quel­len zu verarbeiten.

Dies führt uns zur nächs­ten Gene­ra­tion der Datenarchitektur.

Zweite Gene­ra­tion: Data Lake Archi­tek­tur
Die Data Lake-Archi­tek­tur wurde 2010 als Ant­wort auf die Her­aus­for­de­run­gen der Data-Ware­housing-Archi­tek­tur bei der Erfül­lung der neuen Ver­wen­dungs­zwe­cke von Daten ein­ge­führt: Zugriff auf Daten durch Daten­wis­sen­schaft­ler beim Trai­nings­pro­zess für maschi­nel­les Lernen.

Daten­wis­sen­schaft­ler benö­ti­gen Daten in ihrer ursprüng­li­chen Form für den Trai­nings­pro­zess von Model­len des maschi­nel­len Ler­nens (ML). ML-Modelle erfor­dern außer­dem große Daten­men­gen, die in einem Data Ware­house nur schwer zu spei­chern sind.

Bei den ers­ten Data Lakes wur­den die Daten im Hadoop Dis­tri­bu­ted File Sys­tem (HDFS) über eine Reihe von geclus­ter­ten Rechen­kno­ten gespei­chert. Die Daten wur­den mit­hilfe von Map­Re­duce, Spark und ande­ren Daten­ver­ar­bei­tungs-Frame­works extra­hiert und verarbeitet.

Die Data Lake-Archi­tek­tur arbei­tet nach dem ELT-Pro­zess und nicht nach dem ETL-Pro­zess. Die Daten wer­den aus den ope­ra­ti­ven Sys­te­men extra­hiert (E) und in ein zen­tra­les Spei­cher­re­po­si­tory gela­den (L). Im Gegen­satz zum Data Ware­housing setzt ein Data Lake jedoch nur eine sehr geringe oder gar keine Trans­for­ma­tion und Model­lie­rung der Daten im Vor­feld vor­aus. Das Ziel ist es, die Daten in ihrer ursprüng­li­chen Form zu erhal­ten. Sobald die Daten in den See gelan­gen, wird die Archi­tek­tur um Daten­um­wand­lungs­pipe­lines (T) erwei­tert, um die Roh­da­ten zu model­lie­ren und sie im Data Ware­house oder in Fea­ture Stores zu speichern.

Data-Engi­nee­ring-Teams schaf­fen ver­schie­dene „Zonen“, um den See bes­ser zu orga­ni­sie­ren. Ziel ist es, die Daten je nach Berei­ni­gungs- und Trans­for­ma­ti­ons­grad zu spei­chern, von den rohes­ten Daten über Daten­an­rei­che­rungs­schritte bis hin zu den sau­bers­ten und am bes­ten zugäng­li­chen Daten.

Diese Daten­ar­chi­tek­tur zielt dar­auf ab, die Inef­fek­ti­vi­tät und die Rei­bungs­ver­luste der umfang­rei­chen Up-Front-Model­lie­rung, die das Data Ware­housing erfor­dert, zu ver­bes­sern. Die Up-Front-Trans­for­ma­tion ist ein Hemm­schuh und führt zu lang­sa­me­ren Ite­ra­tio­nen für den Daten­zu­griff und das Modelltraining.

Die größ­ten Her­aus­for­de­run­gen bei die­sem Ansatz:

  • Die Data-Lake-Archi­tek­tur lei­det unter der Kom­ple­xi­tät und Ver­schlech­te­rung der Daten­qua­li­tät und ‑zuver­läs­sig­keit.
  • Kom­plexe Pipe­lines aus Batch- oder Strea­ming-Auf­trä­gen, die von einem zen­tra­len Team aus hoch­spe­zia­li­sier­ten Daten­in­ge­nieu­ren betrie­ben werden.
  • Es wer­den nicht ver­wal­tete Daten­sätze erstellt, die oft nicht ver­trau­ens­wür­dig und unzu­gäng­lich sind und wenig Wert bieten.
  • Die Daten­her­kunft und die Abhän­gig­kei­ten sind schwer zu verfolgen
  • Das Feh­len einer umfas­sen­den Daten­mo­del­lie­rung im Vor­feld führt zu Schwie­rig­kei­ten bei der Erstel­lung einer seman­ti­schen Zuord­nung zwi­schen ver­schie­de­nen Daten­quel­len und damit zur Ent­ste­hung von Datensümpfen.

Dritte Gene­ra­tion: Cloud-Data-Lake-Archi­tek­tur
Die größ­ten Ver­än­de­run­gen von der Daten­ar­chi­tek­tur der zwei­ten Gene­ra­tion zur drit­ten Gene­ra­tion waren der Wech­sel zur Cloud, die Ver­füg­bar­keit von Daten in Echt­zeit und die Kon­ver­genz zwi­schen Data Ware­house und Data Lake. Mehr im Detail:

  • Unter­stüt­zung von Strea­ming für Daten­ver­füg­bar­keit nahezu in Echt­zeit mit Archi­tek­tu­ren wie Kappa.
  • Ver­ein­heit­li­chung der Batch- und Stream-Ver­ar­bei­tung für die Daten­trans­for­ma­tion mit Frame­works wie Apa­che Beam.
  • Voll­stän­dige Nut­zung von Cloud-basier­ten ver­wal­te­ten Diens­ten und Ver­wen­dung moder­ner Cloud-nati­ver Imple­men­tie­run­gen mit iso­lier­ter Daten­ver­ar­bei­tung und Spei­che­rung. Die Spei­che­rung von Daten wird viel billiger.
  • Kon­ver­genz von Data Ware­house und Data Lake in einer Tech­no­lo­gie, ent­we­der durch Erwei­te­rung des Data Ware­house um ein­ge­bet­te­tes ML-Trai­ning oder durch die Inte­gra­tion von Data-Ware­house-Inte­gri­tät, Trans­ak­ti­ons­fä­hig­keit und Abfra­ge­sys­te­men in Data-Lake-Lösun­gen. Dat­ab­ricks Lake­house ist ein Bei­spiel für eine her­kömm­li­che Lake-Sto­rage-Lösung mit warehouse­ähn­li­chen Trans­ak­tio­nen und Abfrageunterstützung.

Der Cloud Data Lake schließt einige der Lücken, die die vor­he­ri­gen Gene­ra­tio­nen hin­ter­las­sen haben. Den­noch blei­ben einige Her­aus­for­de­run­gen bestehen:

  • Die Ver­wal­tung der Data Lake-Archi­tek­tur ist nach wie vor sehr kom­plex und beein­träch­tigt die Daten­qua­li­tät und ‑zuver­läs­sig­keit.
  • Das Archi­tek­tur­de­sign bleibt zen­tra­li­siert und erfor­dert ein Team von hoch­spe­zia­li­sier­ten Dateningenieuren.
  • Lange Zeit für Erkennt­nisse. Daten­kon­su­men­ten müs­sen nach wie vor meh­rere Monate war­ten, bis sie einen Daten­satz für Ana­ly­sen oder maschi­nelle Lern­ver­fah­ren erhalten.
  • Data Warehou­ses sind keine Nach­bil­dung der rea­len Welt durch Daten mehr, was sich auf die Erfah­rung der Daten­kon­su­men­ten bei der Erkun­dung von Daten auswirkt.

All diese Her­aus­for­de­run­gen haben uns zur Daten­ar­chi­tek­tur der vier­ten Gene­ra­tion geführt, die sich zum Zeit­punkt der Ver­öf­fent­li­chung die­ses Arti­kels noch in der Anfangs­phase befindet.

Vierte Gene­ra­tion: Data Mesh-Archi­tek­tur
Die Data-Mesh-Archi­tek­tur ist ein rela­tiv neuer Ansatz für die Daten­ar­chi­tek­tur, der ver­sucht, einige der Her­aus­for­de­run­gen zu bewäl­ti­gen, die bei frü­he­ren zen­tra­li­sier­ten Archi­tek­tu­ren fest­ge­stellt wurden.

Die Data Mesh-Archi­tek­tur bringt für die Daten­ar­chi­tek­tur das, was Micro­ser­vices für mono­li­thi­sche Anwen­dun­gen gebracht haben.

In einem Daten­ge­flecht sind die Daten dezen­tra­li­siert und das Eigen­tum an den Daten ist auf ver­schie­dene Domä­nen ver­teilt. Jede Domäne ist für die Daten in ihrem Bereich ver­ant­wort­lich, ein­schließ­lich Daten­mo­del­lie­rung, ‑spei­che­rung und ‑ver­wal­tung, und die Archi­tek­tur muss eine Reihe von Prak­ti­ken bereit­stel­len, die es jeder Domäne ermög­li­chen, ihre Daten unab­hän­gig zu verwalten.

Hier sind die wich­tigs­ten Kom­po­nen­ten einer Data-Mesh-Architektur:

  • Domä­nen – Eine Domäne ist eine in sich geschlos­sene Geschäfts­ein­heit, die ihre eige­nen Daten besitzt und ver­wal­tet. Jede Domäne hat einen kla­ren Geschäfts­zweck und ist für die Defi­ni­tion von Daten­mo­del­lie­rung, Enti­tä­ten, Schema und Richt­li­nien für die Daten­ver­wal­tung ver­ant­wort­lich. Die­ses Kon­zept unter­schei­det sich von den Data Marts in der Data Ware­house-Archi­tek­tur, die für ver­schie­dene Teams wie Mar­ke­ting oder Ver­trieb kon­zi­piert sind. In einer Data-Mesh-Archi­tek­tur kann der Ver­trieb meh­rere Domä­nen haben, je nach den ver­schie­de­nen Schwerpunkten/Bereichen, die das Team haben könnte.
  • Daten­pro­dukte – Ein Daten­pro­dukt ist das End­ergeb­nis des­sen, was von einer Domäne pro­du­ziert und ande­ren Domä­nen oder Anwen­dun­gen zur Ver­fü­gung gestellt wird. Jedes Daten­pro­dukt hat einen kla­ren Geschäfts­zweck. Eine Domäne kann mit meh­re­ren Daten­pro­duk­ten arbei­ten. Nicht alle Daten­be­stände wer­den als Daten­pro­dukt betrach­tet oder soll­ten als Daten­pro­dukt behan­delt wer­den (obwohl dies in einer per­fek­ten Welt der Fall wäre). Daten­pro­dukte sind Daten­be­stände, die in der Orga­ni­sa­tion eine Schlüs­sel­rolle spielen.
  • Daten­in­fra­struk­tur – Die Daten­in­fra­struk­tur umfasst die Tools und Tech­no­lo­gien, die zur Ver­wal­tung von Daten inner­halb einer Domäne benö­tigt wer­den, ähn­lich wie ein con­tai­ne­ri­sier­ter Micro­ser­vice für eine Soft­ware­an­wen­dung. Dazu gehö­ren Tools für die Spei­che­rung, Ver­ar­bei­tung und Ana­lyse von Daten.
  • Data Gover­nance – Data Gover­nance wird von jeder Domäne ver­wal­tet. Dies bezieht sich auf eine Reihe von Ver­fah­ren zur Rege­lung der Daten­qua­li­tät, des Daten­schut­zes und der Sicherheit.
  • Mesh-API - So wie ein Micro­ser­vice alles über HTTP-REST-APIs offen­legt, würde eine Data-Mesh-Domäne alles über eine klar defi­nierte Schnitt­stelle offen­le­gen, die von ande­ren Domä­nen und Daten­pro­duk­ten genutzt wer­den kann.

Data Mesh ist ein Para­dig­men­wech­sel in der Art und Weise, wie Daten­ar­chi­tek­tu­ren ent­wor­fen wer­den und wie Daten­teams heut­zu­tage orga­ni­siert sind:

  • Daten­teams wer­den zu funk­ti­ons­über­grei­fen­den Teams, die auf einen oder meh­rere Geschäfts­be­rei­che (nicht auf Tech­no­lo­gie) spe­zia­li­siert sind, so wie Soft­ware­pro­dukt­teams sehr ser­vice­ori­en­tiert sind.
  • Jede Geschäfts­do­mäne, die aus einem oder meh­re­ren Micro­ser­vices besteht, ver­fügt über eine eigene OLAP-Daten­bank und ein ver­teil­tes Datei­spei­cher­sys­tem, so wie jedes Teil eines Micro­ser­vices in einem Con­tai­ner unter­ge­bracht ist, um unab­hän­gig zu arbeiten.
  • Daten­pro­dukt A wird von Daten­pro­dukt B kon­su­miert, und beide kom­mu­ni­zie­ren mit ande­ren Daten­pro­duk­ten über Strea­ming oder REST-API, genau wie Anwen­dungs-Micro­ser­vices mit­ein­an­der kommunizieren.
  • Die Daten­pro­dukt-APIs wer­den von der tra­di­tio­nel­len REST-API-Doku­men­ta­tion beglei­tet, und die Daten­pro­dukte kön­nen über den Mesh-Daten­ka­ta­log gefun­den werden.

Was ändert sich bei Data Mesh außer der Archi­tek­tur noch?
Die ein­schnei­dendste Ver­än­de­rung durch Data Mesh ist die Archi­tek­tur. Aber der Über­gang von einem zen­tra­li­sier­ten Data Lake zu einem dezen­tra­li­sier­ten Data Mesh ist ein sozio­tech­ni­sches Phä­no­men, das meh­rere zusätz­li­che Ände­run­gen mit sich bringt.

Wenn Sie sich erin­nern, hat der Über­gang von mono­li­thi­schen Anwen­dun­gen zu Micro­ser­vice-Anwen­dun­gen dazu geführt, dass Soft­ware-Engi­nee­ring-Teams ihren Ent­wick­lungs­le­bens­zy­klus, ihre Orga­ni­sa­ti­ons­struk­tur, ihre Moti­va­tio­nen, ihre Fähig­kei­ten und ihre Gover­nance ändern muss­ten. Damals ent­stand die Rolle des Pro­dukt­ma­na­gers, um sicher­zu­stel­len, dass die Anwen­dun­gen echte Benut­zer­pro­bleme lösen.

Das Glei­che muss bei der Anwen­dung einer Daten­git­ter­ar­chi­tek­tur geschehen.

Quelle: medium

Erfah­ren Sie hier mehr über Lösun­gen im Bereich Data Archi­tec­ture oder besu­chen Sie eines unse­rer kos­ten­lo­sen Web­i­nare.