{"id":95283,"date":"2020-09-27T19:42:23","date_gmt":"2020-09-27T17:42:23","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/primenenie-low-code-v-analiticheskih-platformah"},"modified":"2020-09-27T19:42:23","modified_gmt":"2020-09-27T17:42:23","slug":"primenenie-low-code-v-analiticheskih-platformah","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/primenenie-low-code-v-analiticheskih-platformah","title":{"rendered":"Einsatz von Low-Code in Analyseplattformen","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Sehr geehrte Leser, guten Tag!<\/p>\n<p>Die Aufgabe zum Aufbau von IT-Plattformen zur Speicherung und Analyse von Daten stellt sich fr\u00fcher oder sp\u00e4ter f\u00fcr jedes Unternehmen, dessen Gesch\u00e4ft auf einem intellektuell belasteten Modell der Dienstleistungserbringung oder der Schaffung technisch anspruchsvoller Produkte basiert. Der Aufbau von Analyseplattformen ist eine komplexe und arbeitsintensive Aufgabe. Allerdings kann jede Aufgabe vereinfacht werden. In diesem Artikel m\u00f6chte ich meine Erfahrungen mit Low-Code-Tools teilen, die bei der Erstellung von analytischen L\u00f6sungen helfen. Diese Erfahrungen wurden bei der Umsetzung mehrerer Projekte im Bereich Big Data Solutions der Firma \"Neoflex\" gesammelt. Das Big Data Solutions-Team der Firma \"Neoflex\" besch\u00e4ftigt sich seit 2005 mit Fragen des Aufbaus von Data Warehouses und Data Lakes, l\u00f6st Aufgaben zur Optimierung der Geschwindigkeit der Datenverarbeitung und arbeitet an Methoden zur Verwaltung der Datenqualit\u00e4t.<\/p>\n<p><img decoding=\"async\" alt=\"Einsatz von Low-Code in Analyseplattformen\" src=\"\/wp-content\/uploads\/2020\/09\/ca066793a937041577085dfb813f979e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEs wird niemandem gelingen, das bewusste Ansammeln von schwach und\/oder stark strukturierten Daten zu vermeiden. Vielleicht sogar nicht einmal im kleinen Unternehmensbereich. Denn beim Wachstum eines Unternehmens wird ein vielversprechender Unternehmer mit Fragen zur Entwicklung von Treueprogrammen konfrontiert, m\u00f6chte die Effektivit\u00e4t von Verkaufsstellen analysieren, denkt \u00fcber gezielte Werbung nach und fragt sich nach der Nachfrage nach Begleitprodukten. In der ersten Ann\u00e4herung kann die Aufgabe \"h\u00e4ndisch\" gel\u00f6st werden. Doch mit dem Wachstum des Unternehmens ist der \u00dcbergang zu einer Analyseplattform unvermeidlich.<\/p>\n<p>Aber wann k\u00f6nnen die Aufgaben der Datenanalyse in Aufgaben der Klasse \"Rocket Science\" \u00fcbergehen? Vielleicht genau dann, wenn es um wirklich gro\u00dfe Datenmengen geht.<br \/>\nUm die Aufgabe \"Rocket Science\" zu vereinfachen, kann man den Elefanten st\u00fcckweise essen. <\/p>\n<p><img decoding=\"async\" alt=\"Einsatz von Low-Code in Analyseplattformen\" src=\"\/wp-content\/uploads\/2020\/09\/f81e7704b91a5b95303e4240d6012730.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJe gr\u00f6\u00dfer die Diskretion und Autonomie Ihrer Anwendungen\/Dienste\/Mikrodienste sind, desto einfacher wird es f\u00fcr Sie, Ihre Kollegen und das gesamte Unternehmen sein, den Elefanten zu verdauen.<\/p>\n<p>Zu dieser Erkenntnis sind fast alle unsere Kunden gelangt, die die Landschaft auf der Grundlage der Ingenieurpraktiken von DevOps-Teams neu gestaltet haben.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nAber selbst bei einer \"getrennten, elefantenhaften\" Di\u00e4t haben wir gute Chancen auf eine \"\u00dcberversorgung\" der IT-Landschaft. In diesem Moment sollte man innehalten, durchatmen und in Richtung schauen <b>Low-Code-Engineering-Plattform<\/b>.<\/p>\n<p>Viele Entwickler haben Angst vor der Aussicht auf eine Sackgasse in ihrer Karriere, wenn sie vom direkten Programmieren zum \u201eZiehen\u201c von Pfeilen in den UI-Schnittstellen von Low-Code-Systemen wechseln. Aber die Einf\u00fchrung von Maschinen hat nicht zum Verschwinden von Ingenieuren gef\u00fchrt, sondern deren Arbeit auf ein neues Niveau gehoben!<\/p>\n<p>Lassen Sie uns herausfinden, warum.<\/p>\n<p>Die Datenanalyse im Bereich Logistik, Telekommunikationsindustrie, in der Medienforschung und im Finanzsektor ist immer mit den folgenden Fragen verbunden: <\/p>\n<ul>\n<li>Geschwindigkeit der automatisierten Analyse;<\/li>\n<li>Die M\u00f6glichkeit, Experimente durchzuf\u00fchren, ohne den Hauptdatenstrom zu beeinflussen;<\/li>\n<li>Zuverl\u00e4ssigkeit der vorbereiteten Daten;<\/li>\n<li>Nachverfolgung von \u00c4nderungen und Versionierung;<\/li>\n<li>Data Provenance, Data Lineage, CDC;<\/li>\n<li>Schnelligkeit der Bereitstellung neuer Funktionen in der Produktionsumgebung;<\/li>\n<li>Und das allseits bekannte: die Kosten f\u00fcr Entwicklung und Wartung.<\/li>\n<\/ul>\n<p>\nDas hei\u00dft, Ingenieure haben eine Vielzahl von hochrangigen Aufgaben, die mit ausreichender Effizienz nur bew\u00e4ltigt werden k\u00f6nnen, wenn sie ihren Geist von niedrigstufigen Entwicklungsaufgaben befreien.<\/p>\n<p>Die Voraussetzungen f\u00fcr den Wechsel der Entwickler auf eine neue Ebene waren die Evolution und Digitalisierung von Unternehmen. Auch der Wert des Entwicklers ver\u00e4ndert sich: Es gibt einen erheblichen Mangel an Entwicklern, die in der Lage sind, in die Essenz der zu automatisierenden Gesch\u00e4ftsmodelle einzutauchen.<\/p>\n<p>Lassen Sie uns eine Analogie zu niedrigstufigen und hochgestuften Programmiersprachen ziehen. Der \u00dcbergang von niedrigstufigen zu hochstufigen Sprachen ist der Wechsel von der Erstellung \u201edirekter Anweisungen in Maschinensprache\u201c hin zu \u201eAnweisungen in menschenverst\u00e4ndlicher Sprache\u201c. Das hei\u00dft, es wird eine gewisse Ebene der Abstraktion hinzugef\u00fcgt. In diesem Fall ist der \u00dcbergang zu Low-Code-Plattformen von hochstufigen Programmiersprachen der \u00dcbergang von \u201eAnweisungen in menschenverst\u00e4ndlicher Sprache\u201c hin zu \u201eAnweisungen in Gesch\u00e4ftssprache\u201c. Sollten es Entwickler geben, die sich dar\u00fcber traurig f\u00fchlen, dann sind sie vielleicht schon seit der Einf\u00fchrung von JavaScript traurig, in dem Sortierfunktionen f\u00fcr Arrays verwendet werden. Und diese Funktionen verf\u00fcgen nat\u00fcrlich \u00fcber eine programmatische Implementierung durch andere Mittel der selben hochstufigen Programmierung.<\/p>\n<p><b>Daher ist Low-Code lediglich das Entstehen einer weiteren Abstraktionsebene. <\/b><\/p>\n<h2>Praktische Erfahrungen mit der Verwendung von Low-Code<\/h2>\n<p>\nDas Thema Low-Code ist ziemlich umfangreich, aber jetzt m\u00f6chte ich \u00fcber die praktische Anwendung von \"Low-Code-Konzepten\" anhand eines unserer Projekte berichten.<\/p>\n<p>Die Abteilung Big Data Solutions des Unternehmens \"Neoflex\" spezialisiert sich haupts\u00e4chlich auf den Finanzsektor und baut Datenlager und Data Lakes, w\u00e4hrend sie verschiedene Berichterstattung automatisiert. In diesem Bereich ist die Anwendung von Low-Code seit langem zum Standard geworden. Unter anderen Low-Code-Tools k\u00f6nnen L\u00f6sungen zur Organisation von ETL-Prozessen erw\u00e4hnt werden: Informatica Power Center, IBM Datastage, Pentaho Data Integration. Oder Oracle Apex, das als Umgebung f\u00fcr die schnelle Entwicklung von Zugangs- und Bearbeitungsschnittstellen dient. Die Anwendung von Low-Code-Entwicklungsmitteln ist jedoch nicht immer mit dem Bau von spezialisierten Anwendungen auf kommerziellen Technologiestacks verbunden, die eine klare Abh\u00e4ngigkeit vom Anbieter aufweisen.<\/p>\n<p>Mit Low-Code-Plattformen k\u00f6nnen auch Datenfluss-Orchestrierung, Data-Science-Plattformen oder beispielsweise Module zur Qualit\u00e4tssicherung von Daten erstellt werden. <\/p>\n<p>Ein praktisches Beispiel f\u00fcr die Erfahrung mit der Nutzung von Low-Code-Entwicklungsmitteln ist die Zusammenarbeit von \"Neoflex\" mit dem Unternehmen Mediascope, einem der Marktf\u00fchrer in der russischen Medienforschung. Eine der Herausforderungen f\u00fcr das Gesch\u00e4ft dieses Unternehmens besteht darin, Daten zu produzieren, auf deren Basis Werbetreibende, Internetplattformen, Fernsehsender, Radiostationen, Werbeagenturen und Marken Entscheidungen \u00fcber den Kauf von Werbung treffen und ihre Marketingkommunikation planen. <\/p>\n<p><img decoding=\"async\" alt=\"Einsatz von Low-Code in Analyseplattformen\" src=\"\/wp-content\/uploads\/2020\/09\/d6410c1fe93231281bdd536798fe7c66.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMedienforschung ist ein technologieintensiver Bereich der Wirtschaft. Die Erkennung von Videoinhalten, die Datensammlung von Ger\u00e4ten, die das Sehen analysieren, die Messung der Aktivit\u00e4t auf Webressourcen \u2013 all dies erfordert von einem Unternehmen eine gro\u00dfe IT-Abteilung und enormous Erfahrung im Aufbau analytischer L\u00f6sungen. Doch das exponentielle Wachstum der Menge an Informationen, der Anzahl und Vielfalt ihrer Quellen zwingt die IT-Datenindustrie, st\u00e4ndig Fortschritte zu machen. Die einfachste L\u00f6sung zur Skalierung der bereits funktionierenden Analyseplattform Mediascope k\u00f6nnte die Aufstockung des IT-Personals sein. Doch eine weitaus effektivere L\u00f6sung ist die Beschleunigung des Entwicklungsprozesses. Ein Schritt in diese Richtung k\u00f6nnte die Verwendung von Low-Code-Plattformen sein.<\/p>\n<p>Zum Zeitpunkt des Projektstarts verf\u00fcgte das Unternehmen bereits \u00fcber eine funktionierende Produktl\u00f6sung. Die Implementierung der L\u00f6sung auf MSSQL konnte jedoch nicht vollst\u00e4ndig den Erwartungen an die Skalierung der Funktionalit\u00e4ten bei gleichzeitiger Beibehaltung akzeptabler Kosten f\u00fcr Anpassungen entsprechen.<\/p>\n<p>Die vor uns stehende Aufgabe war wahrhaftig ambitioniert \u2013 Neoflex und Mediascope sollten innerhalb von weniger als einem Jahr eine industrietaugliche L\u00f6sung erstellen, wobei die Ver\u00f6ffentlichung eines MVP bereits im ersten Quartal nach Beginn der Arbeiten erfolgen sollte.<\/p>\n<p>Als Grundlage f\u00fcr den Aufbau der neuen Datenplattform, die auf Low-Code-Berechnungen basiert, wurde der Technologie-Stack Hadoop ausgew\u00e4hlt. Der Standard f\u00fcr die Datenspeicherung wurde HDFS unter Verwendung von Parquet-Dateiformaten. F\u00fcr den Zugriff auf die in der Plattform befindlichen Daten wurde Hive verwendet, in dem alle verf\u00fcgbaren Datenlager als externe Tabellen dargestellt sind. Der Datenimport in das Speicher wurde mit Hilfe von Kafka und Apache NiFi realisiert.<\/p>\n<p>Das Low-Code-Tool in diesem Konzept wurde eingesetzt, um die arbeitsaufwendigsten Aufgaben beim Aufbau der Analyseplattform \u2013 die Berechnung von Daten \u2013 zu optimieren.<\/p>\n<p><img decoding=\"async\" alt=\"Einsatz von Low-Code in Analyseplattformen\" src=\"\/wp-content\/uploads\/2020\/09\/fe62234ab0ae611a0c4a536ca68af898.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAls Hauptmechanismus f\u00fcr das Mapping von Daten wurde das Low-Code-Tool Datagram ausgew\u00e4hlt. <b>Neoflex Datagram<\/b> ist ein Werkzeug zur Entwicklung von Transformationen und Datenstr\u00f6men. <br \/>\nMit diesem Werkzeug kann auf das manuelle Schreiben von Scala-Code verzichtet werden. Der Scala-Code wird automatisch unter Verwendung des Model-Driven-Architecture-Ansatzes generiert.<\/p>\n<p>Ein offensichtlicher Vorteil dieses Ansatzes ist die Beschleunigung des Entwicklungsprozesses. Aber neben der Geschwindigkeit gibt es noch weitere Vorteile: <\/p>\n<ul>\n<li>Anzeige des Inhalts und der Struktur von Quellen\/Zielsystemen;<\/li>\n<li>Verfolgung des Ursprungs von Objekten im Datenstrom bis hin zu einzelnen Feldern (Lineage);<\/li>\n<li>Teilergebnisse von Transformationen mit Zwischenresultaten anzeigen;<\/li>\n<li>Quellcode einsehen und vor der Ausf\u00fchrung anpassen;<\/li>\n<li>Automatische Validierung der Transformationen;<\/li>\n<li>Automatische Daten\u00fcbertragung 1 zu 1.<\/li>\n<\/ul>\n<p>\nDie Einstiegsh\u00fcrde in Low-Code-L\u00f6sungen zur Generierung von Transformationen ist relativ niedrig: Ein Entwickler muss SQL kennen und Erfahrung mit ETL-Tools haben. Dabei ist zu erw\u00e4hnen, dass code-driven Transformationserzeuger keine ETL-Tools im weitesten Sinne des Wortes sind. Low-Code-Tools k\u00f6nnen m\u00f6glicherweise keine eigene Umgebung zur Ausf\u00fchrung des Codes haben. Das bedeutet, dass der generierte Code in der Umgebung ausgef\u00fchrt wird, die im Cluster vor der Installation der Low-Code-L\u00f6sung vorhanden war. Das ist, denk ich, ein weiterer Pluspunkt f\u00fcr Low-Code. Denn parallel zur Low-Code-Team kann ein \u201eklassisches\u201c Team arbeiten, das die Funktionalit\u00e4t beispielsweise in reinem Scala-Code umsetzt. Die Integration von Erg\u00e4nzungen beider Teams in die Produktion wird einfach und \u201enahtlos\u201c sein.<\/p>\n<p>Es ist auch wichtig zu erw\u00e4hnen, dass es neben Low-Code auch No-Code-L\u00f6sungen gibt. Im Kern sind das unterschiedliche Dinge. Low-Code erm\u00f6glicht es dem Entwickler in gr\u00f6\u00dferem Ma\u00dfe, in den generierten Code einzugreifen. Im Falle von Datagram ist eine Einsichtnahme und Bearbeitung des generierten Scala-Codes m\u00f6glich, w\u00e4hrend No-Code diese M\u00f6glichkeit m\u00f6glicherweise nicht bietet. Dieser Unterschied ist nicht nur hinsichtlich der Flexibilit\u00e4t der L\u00f6sung, sondern auch im Hinblick auf den Komfort und die Motivation der Dateningenieure erheblich. <\/p>\n<h2>Architektur der L\u00f6sung<\/h2>\n<p>\nLass uns versuchen zu verstehen, wie genau ein Low-Code-Werkzeug dabei hilft, die Aufgabe der Optimierung der Geschwindigkeit bei der Entwicklung von Datenberechnungsfunktionen zu l\u00f6sen. Zun\u00e4chst betrachten wir die funktionale Architektur des Systems. In diesem Fall ist ein Beispiel das Modell der Datenproduktion f\u00fcr Medienforschungen.<\/p>\n<p><img decoding=\"async\" alt=\"Einsatz von Low-Code in Analyseplattformen\" src=\"\/wp-content\/uploads\/2020\/09\/365f1b1cf69bf2a71854eb05c5bba809.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Die Datenquellen in unserem Fall sind sehr heterogen und vielf\u00e4ltig:<\/b><\/p>\n<ul>\n<li>Peoplemeter (TV-Meter) sind programmiertechnische Ger\u00e4te, die das Benutzerverhalten von Befragten in einem Fernsehpaneel aufzeichnen \u2013 wer, wann und welchen Fernsehsender im Haushalt gesehen hat, der an der Untersuchung teilnimmt. Die bereitgestellten Informationen sind ein Stream von Sehintervallen im \u00c4ther, verkn\u00fcpft mit dem Medienpaket und dem Medienprodukt. Die Daten k\u00f6nnen in der Phase der \u00dcbertragung in den Data Lake mit demografischen Attributen, Verbindungen zu Geo-Standorten, Zeitzonen und anderen Informationen angereichert werden, die f\u00fcr die Analyse des Fernsehkonsums eines bestimmten Medienprodukts erforderlich sind. Die durchgef\u00fchrten Messungen k\u00f6nnen zur Analyse oder Planung von Werbekampagnen, zur Bewertung der Aktivit\u00e4t und Vorlieben der Zielgruppe sowie zur Erstellung des Sendplans verwendet werden;<\/li>\n<li>Die Daten k\u00f6nnen aus Systemen zur \u00dcberwachung von Streaming-TV-\u00dcbertragungen und zur Messung des Konsums von Inhalten auf Videoressourcen im Internet stammen;<\/li>\n<li>Messinstrumente im Web, darunter sowohl site-zentrierte als auch nutzerzentrierte Z\u00e4hler. Der Datenlieferant f\u00fcr den Data Lake kann eine Browsererweiterung namens research bar sowie eine mobile Anwendung mit integriertem <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/de\/vpn\/\"   title=\"VPN\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"133\">VPN<\/a>.<\/li>\n<li>Die Daten k\u00f6nnen auch von Plattformen stammen, die die Ergebnisse der Ausf\u00fcllung von Online-Umfragen und die Ergebnisse von Telefoninterviews in den Meinungsforschungsstudien des Unternehmens konsolidieren;<\/li>\n<li>Zus\u00e4tzliche Anreicherung des Datenpools kann durch den Upload von Informationen aus den Logs von Partnerunternehmen erfolgen.<\/li>\n<\/ul>\n<p>\nDie Implementierung des as is-Uploads aus den Quellsystemen in das prim\u00e4re Staging der Rohdaten kann auf verschiedene Weise organisiert werden. Bei Verwendung von Low-Code zu diesem Zweck ist die automatische Generierung von Upload-Szenarien auf der Grundlage von Metadaten m\u00f6glich. Dabei ist es nicht erforderlich, auf die Ebene der Entwicklung von Source-to-Target-Mappings zu gehen. Um den automatischen Upload zu realisieren, m\u00fcssen wir eine Verbindung zur Quelle herstellen und anschlie\u00dfend im Upload-Interface eine Liste der zu ladenden Entit\u00e4ten definieren. Die Erstellung der Verzeichnisstruktur im HDFS erfolgt automatisch und entspricht der Datenstruktur im Quellsystem.<\/p>\n<p>Im Kontext dieses Projekts haben wir uns jedoch entschieden, diese M\u00f6glichkeit der Low-Code-Plattform nicht zu nutzen, da das Unternehmen Mediascope bereits eigenst\u00e4ndig an der Entwicklung eines \u00e4hnlichen Dienstes mit Nifi + Kafka arbeitet.<\/p>\n<p>Es ist wichtig zu betonen, dass diese Tools sich nicht gegenseitig ersetzen, sondern sich vielmehr erg\u00e4nzen. Nifi und Kafka k\u00f6nnen sowohl in direkter (Nifi -&gt; Kafka) als auch in umgekehrter (Kafka -&gt; Nifi) Verbindung arbeiten. F\u00fcr die Plattform der Medienforschung wurde die erste Variante verwendet.<\/p>\n<p><img decoding=\"async\" alt=\"Einsatz von Low-Code in Analyseplattformen\" src=\"\/wp-content\/uploads\/2020\/09\/8284ef5bd6d3b947998ffd42bfb66dbd.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIn unserem Fall musste Nifi verschiedene Datentypen aus den Quellsystemen verarbeiten und an den Kafka-Broker weiterleiten. Dabei wurde die Nachrichtenrichtung in ein bestimmtes Kafka-Topic durch den Einsatz von Nifi-Prozessoren PublishKafka realisiert. Die Orchestrierung und Verwaltung dieser Pipelines erfolgt \u00fcber eine visuelle Benutzeroberfl\u00e4che. Das Tool Nifi und die Verwendung der Kombination Nifi + Kafka k\u00f6nnen ebenfalls als Low-Code-Ansatz zur Entwicklung bezeichnet werden, der einen niedrigen Einstieg in die Big Data-Technologien erm\u00f6glicht und den Entwicklungsprozess von Anwendungen beschleunigt. <\/p>\n<p>Der n\u00e4chste Schritt bei der Umsetzung des Projekts bestand darin, ein einheitliches semantisches Format f\u00fcr die detaillierten Daten zu schaffen. Bei Vorhandensein historischer Attribute der Entit\u00e4t wird die Berechnung im Kontext der betrachteten Partition durchgef\u00fchrt. Ist die Entit\u00e4t jedoch nicht historisch, so ist optional entweder eine Neuberechnung des gesamten Objekts m\u00f6glich oder es kann auf eine Neuberechnung dieses Objekts verzichtet werden (aufgrund fehlender \u00c4nderungen). In diesem Schritt findet die Generierung von Schl\u00fcsseln f\u00fcr alle Entit\u00e4ten statt. Die Schl\u00fcsseldaten werden in die entsprechenden Master-Objekte von Hbase gespeichert, die die Zuordnung zwischen Schl\u00fcsseln in der Analyseplattform und Schl\u00fcsseln aus den Quellsystemen enthalten. Die Konsolidierung atomarer Entit\u00e4ten wird von der Bereicherung mit Ergebnissen der vorl\u00e4ufigen Berechnung analytischer Daten begleitet. Das Framework f\u00fcr die Datenberechnung war Spark. Die beschriebene Funktionalit\u00e4t zur Angleichung der Daten an eine einheitliche Semantik wurde ebenfalls auf Basis von Low-Code-Mappings des Tools Datagram realisiert.<\/p>\n<p>In der Zielarchitektur war es erforderlich, SQL-Zugriff auf die Daten f\u00fcr die Business-Nutzer bereitzustellen. F\u00fcr diese Option wurde Hive verwendet. Die Registrierung von Objekten in Hive erfolgt automatisch, wenn die Option \u201eHive-Tabelle registrieren\u201c im Low-Code-Tool aktiviert wird.<\/p>\n<p><img decoding=\"async\" alt=\"Einsatz von Low-Code in Analyseplattformen\" src=\"\/wp-content\/uploads\/2020\/09\/a13f7260d067d3d21b7090bd8fa10aff.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Steuerung des Berechnungsflusses<\/h2>\n<p>\nDas Datagram hat eine Schnittstelle zur Gestaltung von Workflow-Designs. Das Starten von Mappings kann mit dem Oozie-Planer erfolgen. In der Entwickleroberfl\u00e4che f\u00fcr Workflows ist es m\u00f6glich, Schemata f\u00fcr parallele, serielle oder bedingte Ausf\u00fchrungen von Datenver\u00e4nderungen zu erstellen. Es gibt Unterst\u00fctzung f\u00fcr Shell-Skripte und Java-Programme. Auch die Nutzung von <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/de\/server\/dts-los-angeles\/\"   title=\"Server\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3662\">Server<\/a> Apache Livy. Apache Livy wird verwendet, um Anwendungen direkt aus der Entwicklungsumgebung zu starten. <\/p>\n<p>Wenn das Unternehmen bereits einen eigenen Prozessorchestrator hat, kann die REST-API verwendet werden, um Mappings in den bereits vorhandenen Workflow einzubetten. Zum Beispiel hatten wir bereits recht erfolgreiche Erfahrungen mit der Integration von Mappings in Scala in Orchestratoren, die in PLSQL und Kotlin geschrieben wurden. Die REST-API des Low-Code-Tools erm\u00f6glicht Operationen wie die Generierung von ausf\u00fchrbarem Jahr basierend auf dem Mapping-Design, den Aufruf von Mappings, den Aufruf von Mapping-Sequenzen und selbstverst\u00e4ndlich die \u00dcbertragung von URL-Parametern zur Ausf\u00fchrung von Mappings.<\/p>\n<p>Neben Oozie kann auch der Airflow-Workflow zur Berechnung organisiert werden. Ich m\u00f6chte nicht lange auf den Vergleich zwischen Oozie und Airflow eingehen, sondern sagen, dass wir in diesem Kontext f\u00fcr das Projekt zur Medienforschung die Wahl auf Airflow gefallen ist. Die Hauptargumente in diesem Fall waren die aktivere Community, die das Produkt weiterentwickelt, und die fortschrittlichere Benutzeroberfl\u00e4che + API.<\/p>\n<p>Airflow ist auch deshalb gut, weil es zur Beschreibung von Berechnungsprozessen das von vielen gesch\u00e4tzte Python verwendet. Au\u00dferdem gibt es nicht viele Open-Source-Workflow-Management-Plattformen. Das Starten und \u00dcberwachen von Prozessen (einschlie\u00dflich mit Gantt-Diagramm) bringt nur weitere Pluspunkte f\u00fcr Airflow. <\/p>\n<p>Das Format der Konfigurationsdatei zum Starten der Low-Code-L\u00f6sungen wurde von spark-submit \u00fcbernommen. Dies geschah aus zwei Gr\u00fcnden. Erstens erm\u00f6glicht spark-submit das direkte Starten einer Jar-Datei aus der Konsole. Zweitens kann es alle notwendigen Informationen zur Konfiguration des Workflows enthalten (was das Schreiben von Skripten zur Erstellung des DAG erleichtert).<br \/>\nDas am h\u00e4ufigsten vorkommende Element im Airflow-Workflow in unserem Fall war der SparkSubmitOperator.<\/p>\n<p>Der SparkSubmitOperator erm\u00f6glicht das Starten von Jar-Dateien \u2013 gepackten Mappings von Datagram mit vorher festgelegten Eingabeparametern.<\/p>\n<p>Es sollte erw\u00e4hnt werden, dass jede Aufgabe von Airflow in einem separaten Thread ausgef\u00fchrt wird und nichts \u00fcber andere Aufgaben wei\u00df. Daher erfolgt die Interaktion zwischen den Aufgaben mithilfe von Steuerungselementen wie DummyOperator oder BranchPythonOperator.<\/p>\n<p>Die Kombination der Nutzung der Low-Code-L\u00f6sung Datagram in Verbindung mit der Universalisierung von Konfigurationsdateien (die Dag bilden) hat zu einer erheblichen Beschleunigung und Vereinfachung des Prozesses der Entwicklung von Datenladefl\u00fcssen gef\u00fchrt.<\/p>\n<h2>Berechnung von Data Warehouses<\/h2>\n<p>\nDer wohl am st\u00e4rksten intellektuell belastete Schritt in der Erstellung analytischer Daten ist der Schritt der Konstruktion von Data Warehouses. Im Kontext eines der Datenberechnungsfl\u00fcsse eines Forschungsunternehmens erfolgt an diesem Punkt die Anpassung an die Referenz\u00fcbersetzung unter Ber\u00fccksichtigung der Verschiebung in den Zeitzonen und in Verbindung mit dem Sendeschema. Auch eine Anpassung an das lokale Sendeschema (lokale Nachrichten und Werbung) ist m\u00f6glich. Unter anderem erfolgt an diesem Schritt die Unterteilung der kontinuierlichen Sehintervalle von Medienprodukten basierend auf der Analyse der Sehintervalle. Hierbei erfolgt auch das \u201eW\u00e4gen\u201c der Zuschauerzahlen auf der Grundlage von Informationen \u00fcber deren Bedeutung (Berechnung eines Anpassungsfaktors).<\/p>\n<p><img decoding=\"async\" alt=\"Einsatz von Low-Code in Analyseplattformen\" src=\"\/wp-content\/uploads\/2020\/09\/b5f90f7d1d95c97c9819218aab9079c4.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEin separater Schritt der Vorbereitung von Data Warehouses ist die Validierung der Daten. Der Validierungsalgorithmus ist mit der Anwendung einer Reihe von mathematischen Wissenschaftsmodellen verbunden. Die Verwendung einer Low-Code-Plattform erm\u00f6glicht es jedoch, den komplexen Algorithmus in eine Reihe von einzelnen visuell lesbaren Zuordnungen zu zerlegen. Jede dieser Zuordnungen f\u00fchrt eine spezifische Aufgabe aus. Infolgedessen ist eine Zwischen-Debugging, Protokollierung und Visualisierung der Schritte zur Datenvorbereitung m\u00f6glich. <\/p>\n<p>Der Validierungsalgorithmus wurde entschieden, auzuf\u00e4chern auf folgende Unterstufen:<\/p>\n<ul>\n<li>Konstruktion von Regressionsabh\u00e4ngigkeiten des Zuschauerverhaltens der Fernsehsender in der Region im Vergleich zum Zuschauerverhalten aller Sender in der Region \u00fcber 60 Tage. <\/li>\n<li>Berechnung der studentisierten Residuen (Abweichungen der tats\u00e4chlichen Werte von den durch das Regressionsmodell vorhergesagten) f\u00fcr alle Punktregressionen und f\u00fcr den Berechnungstag.<\/li>\n<li>Auswahl von anomalen Paaren Region-Fernsehnetz, bei denen das studentisierte Residuum des Berechnungstags die Norm (festgelegt durch die Einstellungsoperation) \u00fcberschreitet.<\/li>\n<li>Die Nachberechnung des angepassten standardisierten Restbetrags f\u00fcr anomale Regionen-Netzwerke f\u00fcr jeden Befragten, der das Netzwerk in der Region angesehen hat, unter Ber\u00fccksichtigung des Beitrags dieses Befragten (\u00c4nderungsgr\u00f6\u00dfe des standardisierten Restbetrags) bei Ausschluss des Betrachtens dieses Befragten aus der Stichprobe.<\/li>\n<li>Die Suche nach Kandidaten, deren Ausschluss den standardisierten Restbetrag des Berechnungstags in die Norm f\u00fchrt. <\/li>\n<\/ul>\n<p>\nDas oben angef\u00fchrte Beispiel best\u00e4tigt die Hypothese, dass ein Dateningenieur bereits zu viele Informationen im Kopf haben muss\u2026 Wenn es sich wirklich um einen \"Ingenieur\" und nicht um einen \"Coder\" handelt, sollte die Angst vor beruflichem Verfall durch die Nutzung von Low-Code-Tools endg\u00fcltig schwinden.<\/p>\n<h2>Was kann Low-Code noch?<\/h2>\n<p>\nDer Anwendungsbereich von Low-Code-Tools f\u00fcr die Batch- und Stream-Datenverarbeitung endet nicht mit der Notwendigkeit, Code in Scala manuell zu schreiben.<\/p>\n<p>Die Anwendung von Low-Code in der Entwicklung von Datalakes ist f\u00fcr uns bereits zu einem Standard geworden. Man kann wahrscheinlich sagen, dass L\u00f6sungen auf dem Hadoop-Stack den Entwicklungsweg klassischer DWH, die auf RDBMS basieren, wiederholen. Low-Code-Tools auf dem Hadoop-Stack k\u00f6nnen sowohl Aufgaben der Datenverarbeitung als auch Aufgaben des Aufbaus von End-BI-Schnittstellen l\u00f6sen. Dabei sollte bemerkt werden, dass unter BI nicht nur die Darstellung von Daten, sondern auch deren Bearbeitung durch Business-Nutzer verstanden werden kann. Diese Funktionalit\u00e4t wird von uns h\u00e4ufig beim Aufbau analytischer Plattformen f\u00fcr den Finanzsektor genutzt. <\/p>\n<p><img decoding=\"async\" alt=\"Einsatz von Low-Code in Analyseplattformen\" src=\"\/wp-content\/uploads\/2020\/09\/cde5ce9dac9fcc9356b2b0ed291e299c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUnter anderem erm\u00f6glicht es low-code, und insbesondere Datagram, die Aufgabe der Nachverfolgung des Herkunfts von Objekten im Datenfluss mit einer Granularit\u00e4t bis hin zu einzelnen Feldern (Lineage) zu l\u00f6sen. Dazu wurde in dem low-code-Tool eine Anbindung an Apache Atlas und Cloudera Navigator implementiert. Im Grunde muss der Entwickler eine Reihe von Objekten in den Atlas-Dictionaries registrieren und auf die registrierten Objekte beim Erstellen von Mappings verweisen. Der Mechanismus zur Nachverfolgung von Datenherk\u00fcnften oder zur Analyse von Objektabh\u00e4ngigkeiten spart viel Zeit, wenn Modifikationen in den Berechnungsalgorithmen vorgenommen werden m\u00fcssen. Zum Beispiel erm\u00f6glicht diese Funktion beim Erstellen von Finanzberichten, den Zeitraum von Gesetzes\u00e4nderungen komfortabler zu bew\u00e4ltigen. Denn je besser wir die interformale Abh\u00e4ngigkeit im Bereich der Objekte der Detailebene erkennen, desto weniger \u201epl\u00f6tzliche\u201c Fehler werden wir begegnen und desto mehr werden wir die Anzahl der Reworks reduzieren. <\/p>\n<p><img decoding=\"async\" alt=\"Einsatz von Low-Code in Analyseplattformen\" src=\"\/wp-content\/uploads\/2020\/09\/0b351b116564090bd03f6adf3fc52616.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Datenqualit\u00e4t &amp; Low-Code<\/h2>\n<p>\nEine weitere Aufgabe, die mit dem low-code-Tool im Projekt des Unternehmens Mediascope realisiert wurde, ist die Aufgabenklasse Datenqualit\u00e4t. Eine Besonderheit der Implementierung der Datenpr\u00fcfungs-Pipeline f\u00fcr das Projekt des Forschungsunternehmens war, dass sie keinen Einfluss auf die Funktionalit\u00e4t und Geschwindigkeit des Hauptdatenberechnungsflusses hatte. F\u00fcr das Orchestrieren von autonomen Datenpr\u00fcfungsstr\u00f6men wurde bereits bekanntes Apache Airflow verwendet. Mit der Fertigstellung jedes Schrittes der Datenproduktion wurde parallel ein separater Teil der DQ-Pipeline gestartet. <\/p>\n<p>Es gilt als gute Praxis, die Datenqualit\u00e4t vom Moment ihrer Entstehung in der Analyseplattform zu \u00fcberwachen. Mit Informationen \u00fcber Metadaten k\u00f6nnen wir bereits ab dem Zeitpunkt, an dem die Informationen in die erste Schicht gelangen, die Einhaltung grundlegender Bedingungen \u00fcberpr\u00fcfen \u2014 not null, constraints, foreign keys. Diese Funktionalit\u00e4t wurde auf Basis automatisch generierter Mappings der Familie Datenqualit\u00e4t in Datagram implementiert. Im Projekt des Unternehmens Mediascope fand die Anbindung an die Metadaten des Produkts Enterprise Architect statt. <\/p>\n<p>Dank der Anbindung des low-code-Tools an Enterprise Architect wurden automatisch die folgenden Pr\u00fcfungen generiert:<\/p>\n<ul>\n<li>Pr\u00fcfung des Vorhandenseins von null-Werten in Feldern mit dem Modifikator \u201enot null\u201c; <\/li>\n<li>Pr\u00fcfung des Vorhandenseins von Duplikaten des Prim\u00e4rschl\u00fcssels;<\/li>\n<li>\u00dcberpr\u00fcfung des Fremdschl\u00fcssels der Entit\u00e4t;<\/li>\n<li>\u00dcberpr\u00fcfung der Eindeutigkeit einer Zeile anhand eines Satzes von Feldern.<\/li>\n<\/ul>\n<p>\nF\u00fcr komplexere Pr\u00fcfungen der Verf\u00fcgbarkeit und Korrektheit von Daten wurde ein Mapping mit Scala Expression erstellt, das einen externen Spark SQL-Pr\u00fcfcode entgegennimmt, der von Analysten in Zeppelin vorbereitet wurde.<\/p>\n<p><img decoding=\"async\" alt=\"Einsatz von Low-Code in Analyseplattformen\" src=\"\/wp-content\/uploads\/2020\/09\/f6dcc5719077a3186d23d7bdcb412c45.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSelbstverst\u00e4ndlich muss die automatische Generierung von Pr\u00fcfungen schrittweise erfolgen. Im Rahmen des beschriebenen Projekts gingen folgende Schritte voraus:<\/p>\n<ul>\n<li>DQ, die in Zeppelin-Notizb\u00fcchern implementiert sind;<\/li>\n<li>DQ, die in das Mapping integriert sind;<\/li>\n<li>DQ in Form separater massiver Mappings, die eine gesamte Reihe von Pr\u00fcfungen f\u00fcr eine einzelne Entit\u00e4t enthalten;<\/li>\n<li>Universelle parametrisierte DQ-Mappings, die Informationen \u00fcber Metadaten und Gesch\u00e4ftspr\u00fcfungen entgegennehmen.<\/li>\n<\/ul>\n<p>\nDas Hauptvorteil der Erstellung eines Dienstes f\u00fcr parametrische Pr\u00fcfungen besteht darin, die Zeit bis zur Bereitstellung der Funktionalit\u00e4t in der Produktionsumgebung zu verk\u00fcrzen. Neue Qualit\u00e4tspr\u00fcfungen k\u00f6nnen das klassische Muster der Codebereitstellung \u00fcber Entwicklungs- und Testumgebungen umgehen:<\/p>\n<ul>\n<li>Alle Metadatenpr\u00fcfungen werden automatisch bei \u00c4nderungen des Modells in EA generiert;<\/li>\n<li>Pr\u00fcfungen der Datenverf\u00fcgbarkeit (Bestimmung des Vorhandenseins von Daten zu einem bestimmten Zeitpunkt) k\u00f6nnen auf der Grundlage eines Verzeichnisses generiert werden, das den erwarteten Zeitrahmen f\u00fcr das Erscheinen einer neuen Datencharge in Bezug auf Objekte speichert;<\/li>\n<li>Gesch\u00e4ftliche Pr\u00fcfungen der Datenkorrektheit werden von den Analysten in Zeppelin-Notizb\u00fcchern erstellt. Von dort gehen sie direkt in die Konfigurationstabellen des DQ-Moduls in der Produktionsumgebung. <\/li>\n<\/ul>\n<p>\nDie Risiken der direkten \u00dcbergabe von Skripten in die Produktion existieren nicht wirklich. Selbst bei syntaktischen Fehlern besteht maximal die Gefahr, dass eine Pr\u00fcfung nicht ausgef\u00fchrt wird, da der Datenberechnungsstrom und der Qualit\u00e4tspr\u00fcfungsstrom voneinander getrennt sind.<\/p>\n<p>Im Grunde genommen ist der DQ-Dienst permanent in der Produktionsumgebung aktiviert und bereit, seine Arbeit zu beginnen, sobald die n\u00e4chste Datencharge verf\u00fcgbar ist. <\/p>\n<h2>Zum Abschluss<\/h2>\n<p>\nDie Vorteile der Anwendung von Low-Code sind offensichtlich. Entwickler m\u00fcssen die Anwendung nicht \"von Grund auf neu\" entwickeln. Ein von zus\u00e4tzlichen Aufgaben befreiter Programmierer liefert schneller Ergebnisse. Geschwindigkeit wiederum schafft zus\u00e4tzliche zeitliche Ressourcen f\u00fcr die L\u00f6sung von Optimierungsfragen. Folglich kann man in diesem Fall mit qualitativ hochwertigeren und schnelleren L\u00f6sungen rechnen.<\/p>\n<p><b>Nat\u00fcrlich ist Low-Code kein Allheilmittel, und das Wunder wird sich nicht von selbst einstellen:<\/b><\/p>\n<ul>\n<li>Die Low-Code-Industrie durchl\u00e4uft eine Phase der \"St\u00e4rkung\", und es gibt bisher keine einheitlichen industriellen Standards;<\/li>\n<li>Viele Low-Code-L\u00f6sungen sind nicht kostenlos, und ihr Erwerb sollte ein bewusster Schritt sein, den man nur bei voller \u00dcberzeugung von den finanziellen Vorteilen ihrer Nutzung gehen sollte;<\/li>\n<li>Viele Low-Code-L\u00f6sungen funktionieren nicht immer gut mit GIT \/ SVN. Oder sie sind unpraktisch zu verwenden, wenn der generierte Code verborgen ist;<\/li>\n<li>Bei der Erweiterung der Architektur kann eine Anpassung der Low-Code-L\u00f6sung erforderlich sein \u2013 was wiederum den Effekt der \"Bindung und Abh\u00e4ngigkeit\" vom Anbieter der Low-Code-L\u00f6sung provoziert.<\/li>\n<li>Ein angemessenes Sicherheitsniveau ist m\u00f6glich, aber ziemlich aufwendig und komplex in der Umsetzung von Low-Code-Systemen. Low-Code-Plattformen sollten nicht nur nach dem Prinzip der Suche nach Nutzen aus ihrer Nutzung ausgew\u00e4hlt werden. Bei der Auswahl sollten Fragen zur Verf\u00fcgbarkeit von Funktionen zur Verwaltung des Zugriffs und zur Delegation\/Eskalation von Identifikationsdaten auf die Ebene der gesamten IT-Landschaft der Organisation gestellt werden.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Einsatz von Low-Code in Analyseplattformen\" src=\"\/wp-content\/uploads\/2020\/09\/8ad44d2f71f519b70f5ae1e1fe722066.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWenn Ihnen jedoch alle Nachteile des gew\u00e4hlten Systems bekannt sind und die Vorteile seiner Nutzung dennoch in der Mehrzahl \u00fcberwiegen, k\u00f6nnen Sie ohne Angst zu Low-Code wechseln. Umso mehr, als der Wechsel unvermeidlich ist \u2013 wie jede Evolution unvermeidlich ist.<\/p>\n<p>Wenn ein Entwickler auf einer Low-Code-Plattform seine Arbeit schneller erledigt als zwei Entwickler ohne Low-Code, verschafft das dem Unternehmen in vielerlei Hinsicht einen Vorteil. Die Einstiegsh\u00fcrde f\u00fcr Low-Code-L\u00f6sungen ist niedriger als bei \u201etraditionellen\u201c Technologien, was sich positiv auf das Thema Fachkr\u00e4ftemangel auswirkt. Mit Low-Code-Tools kann die Interaktion zwischen funktionalen Teams beschleunigt und die Entscheidungsfindung zur Richtigkeit des gew\u00e4hlten data-science-Forschungsansatzes schneller getroffen werden. Low-Code-Plattformen k\u00f6nnen Ausl\u00f6ser f\u00fcr die digitale Transformation einer Organisation sein, da die entwickelten L\u00f6sungen auch f\u00fcr nicht-technische Fachleute (insbesondere f\u00fcr Gesch\u00e4ftsanwender) verst\u00e4ndlich sein k\u00f6nnen. <\/p>\n<p>Wenn Sie enge Fristen, komplexe Gesch\u00e4ftslogik und einen Mangel an technologischer Expertise haben und Ihre Markteinf\u00fchrungszeit verk\u00fcrzen m\u00fcssen, dann ist Low-Code eine M\u00f6glichkeit, Ihren Bedarf zu decken.<\/p>\n<p>Es ist nicht zu leugnen, dass traditionelle Entwicklungstools wichtig sind, aber in vielen F\u00e4llen ist der Einsatz von Low-Code-L\u00f6sungen der beste Weg, die Effizienz bei der Bearbeitung von Aufgaben zu steigern.<br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/neoflex\/blog\/520554\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0423\u0432\u0430\u0436\u0430\u0435\u043c\u044b\u0435 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0438, \u0434\u043e\u0431\u0440\u043e\u0433\u043e \u0434\u043d\u044f! \u0417\u0430\u0434\u0430\u0447\u0430 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0418\u0422-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u0434\u043b\u044f \u043d\u0430\u043a\u043e\u043f\u043b\u0435\u043d\u0438\u044f \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0440\u0430\u043d\u043e \u0438\u043b\u0438 \u043f\u043e\u0437\u0434\u043d\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0443 \u043b\u044e\u0431\u043e\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u0432 \u043e\u0441\u043d\u043e\u0432\u0435 \u0431\u0438\u0437\u043d\u0435\u0441\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043b\u0435\u0436\u0430\u0442 \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u043e\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0443\u0441\u043b\u0443\u0433 \u0438\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432. \u041f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u2014 \u0441\u043b\u043e\u0436\u043d\u0430\u044f \u0438 \u0442\u0440\u0443\u0434\u043e\u0437\u0430\u0442\u0440\u0430\u0442\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430. \u041e\u0434\u043d\u0430\u043a\u043e \u043b\u044e\u0431\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 \u043c\u043e\u0436\u043d\u043e \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043e\u043f\u044b\u0442\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":95284,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-95283","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0423\u0432\u0430\u0436\u0430\u0435\u043c\u044b\u0435 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0438, \u0434\u043e\u0431\u0440\u043e\u0433\u043e \u0434\u043d\u044f! \u0417\u0430\u0434\u0430\u0447\u0430 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0418\u0422-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u0434\u043b\u044f \u043d\u0430\u043a\u043e\u043f\u043b\u0435\u043d\u0438\u044f \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0440\u0430\u043d\u043e \u0438\u043b\u0438 \u043f\u043e\u0437\u0434\u043d\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0443 \u043b\u044e\u0431\u043e\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u0432 \u043e\u0441\u043d\u043e\u0432\u0435 \u0431\u0438\u0437\u043d\u0435\u0441\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043b\u0435\u0436\u0430\u0442 \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/primenenie-low-code-v-analiticheskih-platformah\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 low-code \u0432 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u0445 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0423\u0432\u0430\u0436\u0430\u0435\u043c\u044b\u0435 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0438, \u0434\u043e\u0431\u0440\u043e\u0433\u043e \u0434\u043d\u044f! \u0417\u0430\u0434\u0430\u0447\u0430 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0418\u0422-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u0434\u043b\u044f \u043d\u0430\u043a\u043e\u043f\u043b\u0435\u043d\u0438\u044f \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0440\u0430\u043d\u043e \u0438\u043b\u0438 \u043f\u043e\u0437\u0434\u043d\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0443 \u043b\u044e\u0431\u043e\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u0432 \u043e\u0441\u043d\u043e\u0432\u0435 \u0431\u0438\u0437\u043d\u0435\u0441\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043b\u0435\u0436\u0430\u0442 \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/primenenie-low-code-v-analiticheskih-platformah\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-09-27T17:42:23+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-09-27T17:42:23+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Einsatz von Low-Code in Analyseplattformen | ProHoster","description":"Liebe Leser, guten Tag! Die Aufgabe, IT-Plattformen zum Sammeln und Analysieren von Daten aufzubauen, stellt sich fr\u00fcher oder sp\u00e4ter jeder Firma, deren Gesch\u00e4ftsmodell auf einer intellektuell belasteten Struktur basiert.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/primenenie-low-code-v-analiticheskih-platformah","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 low-code \u0432 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u0445 | ProHoster","og:description":"\u0423\u0432\u0430\u0436\u0430\u0435\u043c\u044b\u0435 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0438, \u0434\u043e\u0431\u0440\u043e\u0433\u043e \u0434\u043d\u044f! \u0417\u0430\u0434\u0430\u0447\u0430 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0418\u0422-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u0434\u043b\u044f \u043d\u0430\u043a\u043e\u043f\u043b\u0435\u043d\u0438\u044f \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0440\u0430\u043d\u043e \u0438\u043b\u0438 \u043f\u043e\u0437\u0434\u043d\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0443 \u043b\u044e\u0431\u043e\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u0432 \u043e\u0441\u043d\u043e\u0432\u0435 \u0431\u0438\u0437\u043d\u0435\u0441\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043b\u0435\u0436\u0430\u0442 \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c.","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/primenenie-low-code-v-analiticheskih-platformah","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-09-27T17:42:23+00:00","article:modified_time":"2020-09-27T17:42:23+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"95283","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 11:08:24","updated":"2026-02-22 15:29:41","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/95283","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=95283"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/95283\/revisions"}],"predecessor-version":[{"id":162190,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/95283\/revisions\/162190"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/95284"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=95283"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=95283"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=95283"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}