Herausforderungen von Data-Warehouse

Vor langer Zeit wurde klar, dass Datenspeicherung eine nützliche Sache ist, und oft nur eine notwendige Sache. Verbesserung der Effizienz von Entscheidungen, Steuerung und Optimierung von Geschäftsprozessen, Erstellung eines ganzheitlichen Geschäftsbildes, qualitativ hochwertige Prognosen und vieles mehr. All diese Thesen wurden bereits hunderte Male bei der Beschreibung von Data Warehouses geäußert. Daten sind das neue Gold, und das Data Warehouse ist der Safe dafür.

Nur hinter der Schaffung einer solchen sicheren und vor allem Unterstützung liegen schreckliche Monster, die zuerst das Geschäft und erst dann die IT-Abteilung erschrecken.

In diesem Artikel betrachten wir die häufigsten Probleme im Zusammenhang mit Data Warehouses, mit denen das Management des Unternehmens konfrontiert ist, sowie Möglichkeiten, diese zu lösen. Daher wird es keine technischen Aitysh-Features, Kimballs, Lambda-Architekturen und andere geben.

Hauptprobleme

Bevor wir mit dem beschreibenden Teil fortfahren, ist es notwendig, einige wichtige Punkte für das Verständnis hervorzuheben:

  • Erstens ist Geld die Hauptsache (der Kapitalismus hat gewonnen). Wenn das Problem jetzt oder in Zukunft nicht zu einem Verlust von Geld oder entgangenen Gewinnen führt, ist es kein Problem.
  • Zweitens sind die Hauptkosten, die mit dem Data Warehouse verbunden sind, meistens die Gehaltsabrechnung. Das Teuerste sind Menschen (buchstäblich und im übertragenen Sinne). Hard- oder Software kann ebenfalls ein beeindruckender Ausgabenposten sein, aber die Kosten für Personal oder Outsourcing-Dienstleistungen sind fast immer (viel) teurer.

Erstellen eines Data Warehouse

Was sind die größten Herausforderungen bei der Erstellung eines Data Warehouse von Grund auf?

Schwierigkeit:

  • Der Prozess ist langwierig, zeitaufwendig und, wie Sie vielleicht schon vermutet haben, teuer.
  • Dem Unternehmen fehlen eigene Ressourcen (Leute mit Fachwissen)

Mögliche Lösungen:

  • Bewerten und keinen Speicher erstellen

Ja, die effektivste und riskanteste Lösung ist, nicht die Huntington-Krankheit zu machen. Zwingen Sie Ihre Mitarbeiter, weiterhin Berichte für Sie mit ihren Händen zu erstellen, die für die Analyse notwendigen Daten manuell zu sammeln und in Excel zu manipulieren.

Manchmal ist es wirklich effektiver und rationaler als eine vollwertige CD, besonders wenn ein oder zwei Mitarbeiter für die Analyse und Berichterstattung verantwortlich sind und die Erstellung eines CB von Grund auf bis zu 500+ ihrer Gehälter kostet, und Sie kümmern sich nicht um die Geschwindigkeit der Berichterstattung.

  • Machen Sie einen „Tyap-Blooper“

Lachen Sie nicht, aber dies ist in einigen Fällen auch ein sehr effektives Werkzeug. Vor allem, wenn das Top-Management nicht versteht, warum prinzipiell ein Repository benötigt wird, und/oder die ersten Ergebnisse „gestern“ erhalten möchte. In diesem Fall ist eine Knielösung für ein paar Wochen oder einen Monat geeignet, die dem Management deutlich zeigt, wie wichtig die Lagerung ist, noch einige Zeit weiterleben und sich sogar entwickeln kann.

Natürlich sollten Sie in diesem Fall bedenken, dass Sie es dann auf jeden Fall wiederholen müssen. Und besser früher als später, sonst wird es „eng“ und extrem schmerzhaft. Und vor allem – teurer!

  • Beratungsleistungen nutzen

In einigen Fällen ist es nur ein Lebensretter. Beauftragen Sie eine Firma, bezahlen Sie sie, oft sogar billiger, als wenn Sie Ihre eigenen IT-Spezialisten bezahlen würden, und erhalten Sie das Ergebnis in einer akzeptablen Zeit. Schönheit und Charme. Es scheint, dass die Lösung gefunden wurde, wir sind anderer Meinung, aber sie war nicht hier.

Die wichtigste Horrorgeschichte ist die „Beratungsnadel“. Die Situation, in der das IT-Produkt Ihnen gehört, aber es Ihnen nicht zuhört und Ihnen nicht gehorcht. Wenn das Repository verfeinert werden muss, was sehr häufig vorkommt, können Sie es nicht selbst abschließen, da kein Fachwissen vorhanden ist. Auch banale Wartung: stabiles Laden von Daten und Aktualisierung von Berichten, Korrektur von Fehlern usw. – jetzt unterliegen Sie keiner Kontrolle mehr. Und jedes Mal sollten Sie sich an ein Beratungsunternehmen wenden. Und das ist eine Sucht, die in Zukunft zu noch größeren Problemen führen kann.

Auch bei der Arbeit mit der Beratung ist eine gut geschriebene und detaillierte TK erforderlich. Die Beratung, die die Verantwortung für die Erstellung dieses Dokuments übernimmt, ist in der Regel bereits um eine Größenordnung teurer.

  • Spezialisten rekrutieren

Die korrekteste Version der vorgestellten. Nur, zur gleichen Zeit, die schwierigsten, langen und teuersten.

Data Warehouse Entwicklung und Support

Weitere Probleme bei der Entwicklung und Wartung des „schwimmenden“ Speichers.

Schwierigkeit:

  • Die IT kann mit den geschäftlichen Anforderungen nicht Schritt halten

Wahrscheinlich liegt eines der Hauptprobleme für Unternehmen in Bezug auf Analysen und Data Warehouses.

Geschäftseinheiten „kämpfen“ um einen Platz im vierteljährlichen Auftragsbestand des CD-Entwicklungsteams und beweisen, dass es ihre Daten sind, die auf die CD hochgeladen werden sollten, und es ist ihr Bericht, der umgesetzt werden sollte. Dutzende von langen Meetings werden abgehalten, um Aufgaben zu priorisieren. Und manche Aufgaben hängen monate- oder sogar quartalslang.

Auch wenn jeder Geschäftsbereich eigene Entwickler hat oder externe Ressourcen für solche Aufgaben nutzt, sind die Fristen für die Erstellung eines Berichts oder die Bildung eines Datensatzes oft lang und befriedigen das Unternehmen nicht, das oft „hier und jetzt“ benötigt.

In einfachen Worten, vom Auftreten des Bedarfs an Analysen im Unternehmen bis zum Ergebnis kann es lange dauern, die Entscheidung auf der Grundlage der Daten wird nicht getroffen und Geld geht verloren.

  • Teure Administration

Das Data Warehouse muss gepflegt werden: Backup, Überwachung der Ausführung von Datenflüssen, Differenzierung der Zugriffsrechte, Kontrolle der Server- und Datenverfügbarkeit, Verfolgung problematischer SQL-Abfragen und vieles mehr.

Warum teuer? All diese Handlungen werden von Menschen ausgeführt, die teuer sind.

Es gibt Lösungen und sie sind alle effektiv:

  1. Cloud-Services – administrative Aufgaben an den Anbieter übertragen
  2. Spezielle Software – installiert in der Infrastruktur des Kunden und automatisiert Verwaltungsprozesse
  3. Entwickeln Sie Ihre eigene Software – automatisieren Sie Verwaltungsprozesse im eigenen Haus
  • Teure Softwarelizenzen oder die Notwendigkeit eines „Umzugs“

Ich sagte, dass fast immer der teuerste Posten die Gehaltsabrechnung ist. Denken Sie daran, vergessen Sie nicht die Lizenzgebühren für Software, die auch sehr greifbar sein können.

Ein zusätzliches Problem in den letzten Jahren war der Weggang ausländischer Anbieter, der Unternehmen, die ihre Lösungen nutzen, dazu veranlasste, über die Migration ihrer Data Warehouses nachzudenken.

Im vorherigen Satz habe ich bereits das Wort verwendet, das die Lösung für dieses Problem ist – Migration. Es hilft sowohl bei einfach teurer Software (Migration auf Open Source) als auch beim Weggang des Herstellers.

Aber Migration ist eine „Wahnsinnsaufgabe“. Und seine Komplexität wächst direkt proportional zur Anzahl der Objekte im Speicher. Daher ist das Timing jeder Migration sehr umfangreich, so dass es … (mein Lieblingswort in diesem Artikel)… Mein Liebling.

Zusammenfassend lässt sich sagen, dass die meisten Probleme mit dem Speicherentwicklungsprozess zusammenhängen, den Menschen durchführen. Liebe Leute. Leider nicht nur das Herz, sondern auch der Geldbeutel lieb.

Mit der Verwaltung ist das Problem gelöst, aber was ist mit dem Rest der „Albträume“, die mit der Erstellung und Entwicklung des Repositorys verbunden sind?

Data Warehouse-Entwicklungsprozess

Schauen wir uns zunächst den Entwicklungsprozess selbst an und bestimmen die Stellen, die wir automatisieren könnten. Nur um eine Reservierung zu machen, dass in diesem Artikel der Prozess extrem vereinfacht ist und im wirklichen Leben viel komplizierter aussehen kann.

1. Würdigung

Der Auftraggeber überträgt die Anforderungen an den Auftragnehmer – IT.

IT-Team:

  • studiert sie sorgfältig und klärt sie
  • untersucht das Quellsystem, aus dem die für den Kunden erforderlichen Daten gezogen werden müssen
  • Definiert, wie Daten strukturiert werden, die aus der Quelle abgerufen werden
  • bestimmt, wie der angeforderte Abschlussbericht oder Datensatz aussehen wird

Dieser Schritt ist sehr wichtig, denn diese Analyse soll dazu beitragen, die Risiken nachträglicher Nachbesserungen, die Auswirkungen auf zuvor geladene Daten und, Gott bewahre, die Weitergabe eines falschen Ergebnisses an den Kunden zu vermeiden.

1. Datenrohdaten herunterladen

Sobald festgelegt ist, von welchen Stellen des Quellsystems und welche spezifischen Daten herausgezogen werden sollen, wird der Prozess des Ladens der Daten entwickelt. Es ist der Prozess, weil er nicht einmal, sondern auf regulatorischer Basis durchgeführt werden muss.

Im Rahmen dieses Prozesses können minimale Verarbeitungsvorgänge an den Daten durchgeführt werden. In den meisten Fällen werden die Daten jedoch einfach aus der Quelle kopiert und in das Data Warehouse eingefügt.

2. Datenverarbeitung

Durch die Übertragung von Daten an das Warehouse ist es notwendig, diese zu strukturieren, zu bereinigen, zu ergänzen und viele andere Verarbeitungsvorgänge, damit diese Daten im Reporting weiter verwendet oder analysiert werden können.

Im Rahmen dieses Schritts erstellen Sie auch einen Prozess zum Verarbeiten von Daten, der mit einer bestimmten Häufigkeit ausgeführt wird.

3. Erstellen eines Berichts

Erstellen Sie mit dem Upgradeprozess einen Bericht oder eine Berichtsspeicherfront. Testen Sie zusätzlich die Ergebnisse des Berichts auf Richtigkeit.

Nicht immer ein notwendiger Schritt, da Sie oft nur eine strukturierte Datenschicht (Schritt 3) erstellen und Analysen darauf durchführen müssen.

4. Umsetzung

Migrieren Sie von einer Testumgebung zu einer Produktivumgebung.

Betrachtet man diese Schritte, so ergeben sich folgende Schlussfolgerungen:

  • Das Laden und Konvertieren von Daten ist einer der teuersten Schritte in diesem Prozess.

Im Diagramm wird natürlich die Höhe der Arbeitskosten bedingt dargestellt, da verschiedene Aufgaben unterschiedliche Phasendauern haben können. Aber meistens ist in der Praxis die Verteilung der Arbeitskosten genau das.

  • Der größte Teil des Prozesses, nämlich alle Phasen außer der Analyse, kann teilweise oder vollständig automatisiert werden.

Das Laden und größtenteils Konvertieren von Daten in die erforderliche Struktur erfordert oft eine Reihe von typisierten Aktionen, die leicht automatisiert werden können.

Prozessautomatisierung

Es ist erwähnenswert, dass die Idee nicht neu ist. Es gibt viele Lösungen, um den Prozess der Entwicklung von Data Warehouses zu automatisieren.

Alle ähnlichen Programme haben jedoch einen Nachteil gemeinsam: Sie sind komplex und wiederholen tatsächlich die Logik von ETL-Tools (Tools zur Entwicklung von Datenladeprozessen), die sich nur im Design und in den zusätzlichen Funktionen unterscheiden. Diese Funktionen erleichtern die Entwicklung von Datenladeprozessen an einigen Stellen, jedoch nur geringfügig.

Mit anderen Worten, sie automatisieren den Entwicklungsprozess nicht, sondern vereinfachen ihn nur an einigen Stellen.

Ein weiterer Nachteil ist, dass ein Entwickler, der SQL und die wichtigsten beliebten ETL-Tools (SSIS, OGG, AirFlow) kennt, sein Fachwissen in anderen Tools erweitern muss und seine kostbare Zeit damit verschwendet.

Einige Unternehmen entwickeln ihre eigenen Lösungen, um das Leben ihrer Entwickler zu vereinfachen. Das können sich aber große Firmen leisten, die über ausreichende IT-Ressourcen und Budget verfügen, was man von mittelständischen Unternehmen, die noch in Excel leben, aber wirklich etwas mehr wollen, nicht sagen kann. Hinzu kommt, dass solche Tools aufgrund ihrer Komplexität oft nicht konventionellen Analysten unterliegen.

Basierend auf allem, was oben geschrieben wurde, sollte das Automatisierungstool die folgenden Unterscheidungsmerkmale aufweisen:

  • Generiert automatisch das Laden und die Verarbeitung von Daten, was nur minimale Maßnahmen des Analysten/Entwicklers erfordert
  • Einfach und verständlich für einen gewöhnlichen Analysten, der nicht über die Fähigkeiten eines Entwicklers verfügt
  • Ermöglicht es Ihnen, die Logik der Datenverarbeitung mit SQL zu verfeinern, die alle Analysten kennen
  • Ermöglicht es Ihnen, die Struktur des Data Warehouse einfach zu verbessern, ohne das Risiko einzugehen, es zu beschädigen
  • Vereinfacht den Prozess der Entwicklung und Aktualisierung von Reporting-Storefronts
  • Automatische Tests und Implementierungen
  • Basierend auf kostenloser (Open-Source) Software

Der Prozess des Entwerfens oder Entwickelns eines Repositorys mit einem solchen Tool sollte wie folgt aussehen:

  1. Analytik

Daran führt noch kein Weg vorbei, denn es ist nicht möglich, diese Aufgabe einer Maschine mit der aktuellen Entwicklung der KI anzuvertrauen. Folglich wird die Dauer der Etappe nicht verkürzt.

  1. Datenaufbereitung

Diese Phase sollte die geringste Anzahl von Aktionen vom Darsteller erfordern:

  1. Angeben, wo Daten geladen werden sollen (Quellen)
  2. Angeben, wo und in welcher Struktur Daten geladen werden sollen (bilden Sie ein Datenmodell)

Der Download-Prozess (ETL) sollte automatisch generiert werden. Nur SQL sollte für die zusätzliche Datenbearbeitung verwendet werden. Somit wird die Dauer dieser Phase deutlich verkürzt.

  1. Erstellung von Reporting-Showcases

Zum Generieren von Berichtsspeicherfronten sollte nur eine SQL-Abfrage erforderlich sein. Der Prozess der routinemäßigen Aktualisierung wird ebenfalls automatisch gebildet, was die Arbeitskosten weiter senkt.

  1. Einleitung

Der Benutzer gibt einfach an, welche Objekte in eine produktive Umgebung migriert werden sollen, und diese Objekte werden automatisch mit den Prozessen zu ihrer Aktualisierung migriert.

Befund

Die wichtigsten „Horrorgeschichten“, die mit dem Data Warehouse verbunden sind, liegen in den Aufgaben, letzteres zu erstellen oder zu entwickeln. Sie sind schrecklich in ihren Kosten und ihrem Timing. Die meisten von ihnen werden jedoch durch die Automatisierung der Entwicklung von Datenlade- und Konvertierungsprozessen gelöst.

Natürlich werden nicht alle Unternehmen aus bestimmten Gründen in der Lage sein, die Entwicklungszeit signifikant zu verkürzen:

  • Das Datenmodell ist aufgrund der Komplexität des Geschäfts zu komplex
  • Eine gigantische Datenmenge, die einer besonderen Optimierung bedarf
  • Die Geschwindigkeit der Übertragung von Daten von der Quelle zum Speicher sollte in Minuten und mehr berechnet werden

Für Unternehmen, die solche Anforderungen nicht haben, kann die Automatisierung die Fackel sein, die Ängste vor „hohen Kosten“ oder „langer Verfeinerung“ verscheucht. Ängste, die es Ihnen nicht erlaubten, Ihr eigenes Data Warehouse zu erstellen oder Analysen für fehlende Daten durchzuführen.

Wir haben versucht, ein ähnliches Tool zu erstellen. Ich werde Ihnen wahrscheinlich von den Ergebnissen (positiv und negativ) erzählen, die aufgrund ihrer Verwendung in den folgenden Artikeln erzielt wurden.

Und schließlich: Nicht die Daten selbst sind wichtig, sondern ihre Analyse. Verbringen Sie daher so wenig Zeit wie möglich mit ihrer Vorbereitung und so viel wie möglich mit Analysen.