{"id":178804,"date":"2023-06-22T14:36:10","date_gmt":"2023-06-22T13:36:10","guid":{"rendered":"https:\/\/liora.io\/de\/?p=178804"},"modified":"2026-02-06T06:38:52","modified_gmt":"2026-02-06T05:38:52","slug":"verteilte-architektur-definition-ihre-beziehung-zu-big-data","status":"publish","type":"post","link":"https:\/\/liora.io\/de\/verteilte-architektur-definition-ihre-beziehung-zu-big-data","title":{"rendered":"Verteilte Architektur: Definition, ihre Beziehung zu Big Data"},"content":{"rendered":"<h3>Verteilte Architekturen sind Informationssysteme, die verf\u00fcgbare Ressourcen verteilen und nutzen, die sich nicht am gleichen Ort oder auf dem gleichen Rechner befinden. In diesem Artikel erkl\u00e4ren wir ausf\u00fchrlich, was diese Architekturen sind, welche Vorteile sie gegen\u00fcber anderen Architekturen haben und wie sie in der Praxis in der Data Science eingesetzt werden.<\/h3>\n<h3>Was ist eine verteilte Architektur?<\/h3>\nMit der <strong>exponentiellen Entwicklung der Technologie und der Erleichterung des Zugangs<\/strong> zu Informationen werden immer mehr Computersysteme wie Anwendungen oder deren Einsatz \u00fcber ein Netzwerk<a href=\"https:\/\/liora.io\/de\/data-management-oder-datenverwaltung-was-ist-das-denn\"> miteinander verbunden und kommunizieren Daten.<\/a> Um ein komplexes System zu realisieren, das die Ausf\u00fchrung mehrerer miteinander verbundener Dienste erfordert, sind monolithische Architekturen daher unbrauchbar und veraltet geworden.\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"2231\" height=\"1080\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/06\/image-1.png\" alt=\"\" loading=\"lazy\"><figcaption><\/figcaption><\/figure>\nIn einer solchen<a href=\"https:\/\/liora.io\/de\/solutions-architect\"> Architektur befinden sich alle verf\u00fcgbaren Ressourcen<\/a> am gleichen Ort und auf dem gleichen Rechner, und wenn du einen Teil davon \u00e4ndern willst, musst du alle Teile \u00e4ndern (damit sie zusammenh\u00e4ngend bleiben), was in einem System, in dem potenziell Tausende von Diensten miteinander kommunizieren, nicht m\u00f6glich ist.\n\nUm die Grenzen der monolithischen Architektur zu \u00fcberwinden, kann man eine verteilte Architektur verwenden, aber was genau ist das?\n\nEine verteilte Architektur ist eine Architektur, die sich genau entgegengesetzt zu einer monolithischen Architektur organisiert. W\u00e4hrend eine monolithische Architektur alle Ressourcen und Systeme an einem Ort und auf demselben Rechner zentralisiert, nutzt eine verteilte <strong>Architektur<\/strong> Ressourcen, die auf verschiedenen Rechnern an verschiedenen Orten verf\u00fcgbar sind. Eine solche Architektur kann sowohl ein Informationssystem als auch ein Netzwerk oder beides sein. Das Internet ist ein Beispiel f\u00fcr ein verteiltes Netzwerk, da es keinen zentralen Knotenpunkt hat und auf verschiedene Ressourcen zugreift, die auf mehrere Knotenpunkte verteilt sind (\u00fcber das Netzwerk verteilt), die \u00fcber Nachrichten \u00fcber das Netzwerk kommunizieren. Ein Merkmal verteilter Architekturen ist, dass jeder Knoten Client-Server-Funktionen bereitstellen kann, d. h. er kann sowohl als Anbieter als auch als Verbraucher von Diensten oder Ressourcen fungieren. Man hat also Zugriff auf eine <strong>vollst\u00e4ndige gemeinsame Nutzung von Ressourcen.<\/strong>\n\nVor etwa 50 Jahren erforderte es genaue Kenntnisse der Netzwerkprotokolle und manchmal sogar der Netzwerkhardware, um zwei Maschinen \u00fcber das Netzwerk miteinander kommunizieren zu lassen. Mit der Einf\u00fchrung der<a href=\"https:\/\/liora.io\/de\/objektorientierte-programmierung-oop-der-ultimative-leitfaden\"> objektorientierten Programmierung<\/a> wichen die monolithischen Architekturen den verteilten Architekturen, die nun dank neuer High-Level-Bibliotheken, die es verschiedenen Rechnern erm\u00f6glichen, mehrere Objekte, die auf verschiedenen Rechnern laufen, miteinander in Dialog zu bringen, praktikabel geworden sind.\n\nSo beruhen verteilte Architekturen auf der M\u00f6glichkeit, \u00fcber das Netzwerk verteilte Objekte zu verwenden. Die \u00fcber das Netzwerk verteilten Objekte (die sich nicht am selben Ort befinden) kommunizieren \u00fcber Nachrichten und st\u00fctzen sich dabei auf spezielle Technologien wie <a href=\"https:\/\/liora.io\/de\/corba-definition-und-vorteile-der-infrastruktur\">Common Object Request Broker Architecture oder CORBA<\/a>, die es verschiedenen Objekten, die in unterschiedlichen Sprachen wie <a href=\"https:\/\/liora.io\/de\/c-was-die-meisten-nicht-wissen\">C++<\/a> oder Java geschrieben sind, erm\u00f6glichen, miteinander zu kommunizieren. Ein weiteres bekanntes Werkzeug ist die <a href=\"https:\/\/liora.io\/de\/java-ee-entdecke-die-plattform-von-oracle\">Java EE-Software<\/a>, die es erm\u00f6glicht, mehrere Objekte in einer verteilten Architektur mithilfe ihres Katalogs an spezialisierten Bibliotheken miteinander kommunizieren zu lassen.\n\nHeutzutage r\u00fchrt einer der Nachteile dieser Art von Architektur paradoxerweise von ihrer urspr\u00fcnglichen St\u00e4rke her: der Isolation der verschiedenen Abteilungen und damit der Entwicklerteams, die unabh\u00e4ngig voneinander an ihnen arbeiten.\n\nAufgrund der potenziellen geografischen Entfernung, der Heterogenit\u00e4t der Aufgaben und der Isolation der technischen Verantwortlichkeiten ist die verteilte Architektur <a href=\"https:\/\/liora.io\/de\/praediktive-wartung-von-aufzuegen-herausforderungen-und-technologien-der-kuenstlichen-intelligenz\">anf\u00e4llig f\u00fcr schlechte Wartbarkeit<\/a>, was ernsthafte Auswirkungen auf die Kosten oder die Funktionalit\u00e4t der Dienste haben kann. Wenn du unkontrolliert und unabh\u00e4ngig voneinander &#8222;Bausteine&#8220; \u00fcbereinander stapelst, besteht die Gefahr exponentieller Fehlentwicklungen.\n\nDie Architektur w\u00fcrde dann sofort ihre F\u00e4higkeit verlieren, die verschiedenen entwickelten Dienste und ihre Verbindungen untereinander schnell zu verstehen.\n<h3>Beziehung zwischen Big Data und verteilter Architektur<\/h3>\nEs ist wichtig zu wissen, dass in einer <a href=\"https:\/\/liora.io\/de\/big-data-definition-technologien-anwendungen-weiterbildung\">Big-Data-Architektur<\/a> die Verteilung ein Schl\u00fcsselelement ist. Fr\u00fcher hatten wir ein System der vertikalen Skalierbarkeit, d. h. man f\u00fcgte <a href=\"https:\/\/liora.io\/de\/ram-was-ist-das-eigentlich\">RAM<\/a>, CPU usw. hinzu, um alle Probleme zu l\u00f6sen, die mit der Speicherung oder der Rechenleistung der Computer zusammenhingen. Das Problem war, dass dies sehr teuer war und dass man Hardware verwendete, die dazu bestimmt war, weggeworfen zu werden.\n\nSeit dem Aufkommen von <strong>Big Data<\/strong> sind wir zu einer Architektur der horizontalen Skalierbarkeit \u00fcbergegangen, um dieses Problem zu l\u00f6sen. Das bedeutet, dass man bevorzugt Computer in eine Architektur einbaut, um die <strong>Probleme von Big Data zu l\u00f6sen.<\/strong> Diese Architektur hat einige Vorteile. Zun\u00e4chst einmal werden alle Daten mit einem bestimmten Replikationsfaktor repliziert und auf den verschiedenen Rechnern partitioniert.\n\nDies f\u00fchrt zu einer <a href=\"https:\/\/liora.io\/de\/db-gpt-die-loesung-gegen-datenlecks\">erh\u00f6hten Sicherheit auf der Ebene der Daten.<\/a> Da wir verschiedene Maschinen verwenden, sind au\u00dferdem die Berechnungen in einer verteilten Architektur parallelisierbar, also gewinnen wir an Rechengeschwindigkeit und die Rechenleistung wird erh\u00f6ht. Schlie\u00dflich ist auch die Skalierung einfacher. Angenommen, wir haben keinen Speicherplatz mehr in unseren Maschinen, dann k\u00f6nnen wir, anstatt den Computer gegen einen leistungsst\u00e4rkeren auszutauschen (vertikale Skalierbarkeit), <a href=\"https:\/\/liora.io\/de\/horizontal-scaling-definition-besonderheiten-und-vorteile\">unsere Architektur um eine Maschine erweitern,<\/a> wodurch das Speicherproblem gel\u00f6st wird.\n\n<a href=\"https:\/\/liora.io\/de\/datalore-die-kollaborative-data-science-plattform\">Insbesondere in der Data Science,<\/a> um erfolgreich Berechnungen mit einer verteilten Architektur durchzuf\u00fchren und die Speicherung zwischen den verschiedenen Knoten dieser verteilten Architektur zu verwalten, wird haupts\u00e4chlich Hadoop verwendet.\n\nDieses <a href=\"https:\/\/liora.io\/de\/was-ist-ein-framework\">Framework<\/a> besteht aus drei Unterframeworks:\n<ol>\n \t<li><a href=\"https:\/\/liora.io\/de\/hdfs-hadoop-distributed-file-system-was-ist-das\">HDFS<\/a><\/li>\n \t<li><a href=\"https:\/\/liora.io\/de\/mapreduce\">MapReduce<\/a><\/li>\n \t<li><a href=\"\/\">YARN<\/a>.<\/li>\n<\/ol>\n<strong>HDFS<\/strong> ist der Speichermanager in <a href=\"https:\/\/liora.io\/de\/hadoop\">Hadoop<\/a>. Es erm\u00f6glicht die Speicherung der verschiedenen Partitionsbl\u00f6cke auf den verschiedenen Knoten der verteilten Architektur.\n\n<strong>MapReduce<\/strong> ist das Rechensystem in einer verteilten Architektur. Es f\u00fchrt parallele Berechnungen auf den verschiedenen Knoten der Architektur durch, um ein Endergebnis zu erhalten. Es funktioniert in Form von Schl\u00fcssel\/Werten mit verschiedenen Phasen. Die erste ist die Mapping-Phase, in der die Anfrage anhand eines Schl\u00fcssels \u00fcber alle Bl\u00f6cke unseres Dokuments aggregiert wird.\n\nDanach folgt die Shuffle-Phase, in der die Ergebnisse der verschiedenen Aggregationen nach diesem Schl\u00fcssel sortiert werden. Dann gibt es die Reduktionsphase, in der die Anfrage (z. B. eine Summe) auf unsere verschiedenen sortierten Schl\u00fcssel angewendet wird. Schlie\u00dflich gibt es noch die letzte Phase, in der unsere verschiedenen Reduktionen erneut in einem einzigen Knoten zusammengefasst werden.\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"2560\" height=\"1011\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/06\/image.png\" alt=\"\" loading=\"lazy\">\n\n<figcaption><\/figcaption><\/figure>\nDas dritte Subframework, <strong>YARN<\/strong>, ist der Orchestrierungsmanager von Hadoop. Er wei\u00df, wie die Daten repliziert werden, wie die verschiedenen Bl\u00f6cke an die verschiedenen Knoten gesendet werden und welche Partition f\u00fcr MapReduce verwendet werden soll.\n\nHadoop ist nat\u00fcrlich nur eines von vielen Werkzeugen, die es f\u00fcr den Aufbau verteilter Architekturen gibt. Ein weiteres, viel genutztes Werkzeug hei\u00dft Spark und ist in verschiedenen Programmiersprachen verf\u00fcgbar: <a href=\"https:\/\/liora.io\/de\/scala-was-ist-diese-programmiersprache-und-wieso-ist-python-besser\">Scala<\/a>, Python, Java und R.\n\nWenn du mehr \u00fcber<strong> verteilte Architekturen und ihre Verwendung<\/strong> erfahren m\u00f6chtest, kannst du gerne einen Termin mit unseren Experten vereinbaren, um mehr \u00fcber Data Science zu erfahren und um Informationen \u00fcber unseren <a href=\"https:\/\/liora.io\/de\/weiterbildung-data-engineer\">Data Engineer-Kurs zu erhalten<\/a>, dessen Brosch\u00fcre du hier findest!\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\"><div class=\"wp-block-button \"><a class=\"wp-block-button__link wp-element-button \" href=\"https:\/\/liora.io\/de\/weiterbildung-data-engineer\">Data Engineer Weiterbildung Informationen<\/a><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Verteilte Architekturen sind Informationssysteme, die verf\u00fcgbare Ressourcen verteilen und nutzen, die sich nicht am gleichen Ort oder auf dem gleichen Rechner befinden. In diesem Artikel erkl\u00e4ren wir ausf\u00fchrlich, was diese Architekturen sind, welche Vorteile sie gegen\u00fcber anderen Architekturen haben und wie sie in der Praxis in der Data Science eingesetzt werden. Was ist eine verteilte [&hellip;]<\/p>\n","protected":false},"author":76,"featured_media":178805,"comment_status":"open","ping_status":"open","sticky":false,"template":"elementor_theme","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2476],"class_list":["post-178804","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-dev"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/178804","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/users\/76"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/comments?post=178804"}],"version-history":[{"count":1,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/178804\/revisions"}],"predecessor-version":[{"id":217435,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/178804\/revisions\/217435"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media\/178805"}],"wp:attachment":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media?parent=178804"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/categories?post=178804"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}