Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Data Science

Data Science und Analytics for Business: Herausforderungen und Lösungen

by
Length:LongLanguages:

German (Deutsch) translation by Władysław Łucyszyn (you can also view the original English article)

Da immer mehr Unternehmen die Bedeutung von Data Science und Advanced Analytics für ihr Geschäftsergebnis entdecken, hat ein Zusammenprall der Kulturen begonnen. Wie können diese schnell wachsenden Felder Teil des Ökosystems eines Unternehmens werden, insbesondere für etablierte Unternehmen, die es schon seit einem Jahrzehnt oder länger gibt?

Datenwissenschaftler und IT-Experten haben sehr unterschiedliche Anforderungen an die Infrastruktur. Hier werde ich einige dieser Anforderungen darlegen und diskutieren, wie man darüber hinausgeht - und sich gemeinsam weiterentwickelt.

Abteilungsperspektiven

Beim Starten von Data Science-Programmen in Unternehmen ergeben sich die größten Probleme häufig nicht aus der Technologie selbst, sondern aus einfachen Missverständnissen. Abteilungsübergreifende Missverständnisse können zu viel Groll zwischen jungen Data Science-Teams und IT-Abteilungen führen.

Um dem entgegenzuwirken, werden wir beide Perspektiven untersuchen und jeden ihrer Bedürfnisse berücksichtigen. Zunächst definieren wir, was ein IT-Experte für die Aufrechterhaltung eines erfolgreichen Arbeitsablaufs benötigt, und untersuchen dann, was ein Datenwissenschaftler für maximale Effizienz benötigt. Schließlich werden wir die Gemeinsamkeiten finden: Wie kann man damit eine gesunde Infrastruktur implementieren, damit beide gedeihen können?

Es braucht

Schauen wir uns zunächst eine typische Dateninfrastruktur für die IT- und Softwareentwicklung an.

In Bezug auf Daten gibt es drei wesentliche Voraussetzungen, auf die sich jede IT-Abteilung konzentrieren wird:

  • Daten, die sicher sind
  • Daten, die effizient sind
  • Daten, die konsistent sind

Aus diesem Grund verwendet ein Großteil der IT tabellenbasierte Schemata und häufig SQL (Structured Query Language) oder eine seiner Varianten.

Dieses Setup bedeutet, dass es für jeden Zweck eine große Anzahl von Tabellen gibt. Jede dieser Tabellen ist voneinander getrennt, wobei Fremdschlüssel sie verbinden. Aufgrund dieses Setups können Abfragen schnell, effizient und unter Berücksichtigung der Sicherheit ausgeführt werden. Dies ist wichtig für die Softwareentwicklung, bei der Daten intakt und zuverlässig bleiben müssen.

Bei dieser Struktur ist die erforderliche Hardware im Vergleich zu den Anforderungen der Datenwissenschaft häufig minimal. Die gespeicherten Daten sind gut definiert und entwickeln sich in einem vorhersehbaren Tempo. Nur wenige Daten wiederholen sich, und der Abfrageprozess reduziert den Umfang der erforderlichen Verarbeitungsressourcen.

Mal sehen, wie sich die Datenwissenschaft unterscheidet.

Data Science-Anforderungen

Auf der anderen Seite hat die Datenwissenschaft andere Anforderungen. Datenwissenschaftler benötigen Bewegungsfreiheit mit ihren Daten - und Flexibilität, um ihre Daten schnell zu ändern. Sie müssen in der Lage sein, Daten auf nicht standardmäßige Weise zu verschieben und große Mengen gleichzeitig zu verarbeiten.

Diese Anforderungen sind mit hochstrukturierten Datenbanken nur schwer umzusetzen. Data Science erfordert eine andere Infrastruktur und stützt sich stattdessen auf unstrukturierte Daten und tabellenlose Schemata.

Wenn wir uns auf unstrukturierte Daten beziehen, sprechen wir von Daten ohne intrinsische Definition. Es ist nebulös, bis es von einem Datenwissenschaftler in Form gebracht wird. Für die meisten Entwicklungen muss jedes Feld von einem definierten Typ sein, z. B. eine Ganzzahl oder eine Zeichenfolge. Für die Datenwissenschaft geht es jedoch darum, Datenpunkte zu unterstützen, die schlecht definiert sind.

Tabellenlose Schemata verleihen diesem quasi-chaotischen Setup mehr Vielseitigkeit, sodass alle Informationen an einem Ort gespeichert werden können. Dies ist besonders nützlich für Datenwissenschaftler, die regelmäßig Daten auf kreative und unstrukturierte Weise zusammenführen müssen. Zu den beliebten Optionen gehören NoSQL-Varianten oder -Strukturen, die mehrere Dimensionen zulassen, z. B. OLAP-Cubes.

Infolgedessen ist die für die Datenwissenschaft erforderliche Hardware häufig umfangreicher. Es muss die Gesamtheit der verwendeten Daten sowie Teilmengen dieser Daten enthalten (obwohl dies häufig auf mehrere Strukturen oder Dienste verteilt ist). Die Hardware kann auch erhebliche Verarbeitungsressourcen erfordern, da große Datenmengen verschoben und aggregiert werden.

Destillieren braucht Handlungsbedarf

In Anbetracht dieser beiden Bedürfnisse können wir nun sehen, wie Missverständnisse auftreten können. Nehmen wir diese Perspektiven und verwenden Sie sie, um zu definieren, nach welchen Änderungen wir suchen und wie. Welche Probleme müssen gelöst werden, wenn Data Science in eine traditionelle IT-Umgebung gebracht wird?

Einfache Datenmanipulation

In einer herkömmlichen IT-Umgebung folgen die Datenbanken eines Unternehmens wahrscheinlich einer starren Struktur mit Tabellen, die nach spezifischen Anforderungen unterteilt sind, einem geeigneten Schema zum Definieren der einzelnen Daten und Fremdschlüsseln zum Zusammenfügen aller Daten. Dies sorgt für ein effizientes System zum Abfragen von Daten. Der explorative Charakter einiger datenwissenschaftlicher Methoden kann dies an seine Grenzen bringen.

Wenn für eine allgemeine Aufgabe möglicherweise ein Dutzend oder mehr Tabellen verknüpft werden müssen, werden die Vorteile tabellenbasierter Strukturen weniger deutlich. Eine beliebte Methode, um dies zu handhaben, ist die Implementierung einer sekundären NoSQL- oder mehrdimensionalen Datenbank. Diese sekundäre Datenbank verwendet reguläre ETLs (Extrahieren, Transformieren, Laden), um ihre Informationen aktuell zu halten. Dies erhöht die Kosten für die zusätzliche Nutzung von Hardware oder Cloud-Diensten, minimiert jedoch alle anderen Nachteile.

Beachten Sie, dass das Hinzufügen einer separaten Datenbank für Data Science in einigen Fällen günstiger sein kann als die Verwendung derselben Datenbank (insbesondere, wenn komplizierte Lizenzprobleme auftreten).

Einfache Skalierung von Daten

Dieses spezielle Problem deckt zwei erwähnte Fehlpaarungen ab:

  1. regelmäßige Erhöhung der Daten aus Verfahren
  2. Bedarf an unstrukturierten Datentypen

In der traditionellen IT ist die Größe Ihrer Datenbank genau definiert. Sie bleibt entweder gleich groß oder wächst in bescheidenem Tempo. Bei Verwendung einer Datenbank für Data Science kann dieses Wachstum exponentiell sein. Es ist üblich, jeden Tag (oder mehr) Gigabyte an Daten hinzuzufügen. Angesichts der Größe dieser Art von Daten muss ein Unternehmen einen Plan zur Skalierung der internen Architektur einbinden oder eine geeignete Cloud-Lösung verwenden.

Unstrukturierte Daten können abhängig von Ihren spezifischen Verwendungszwecken eine Menge Ressourcen in Bezug auf Speicher- und Verarbeitungsleistung beanspruchen. Aus diesem Grund ist es oft ineffizient, alles in einer Datenbank zu speichern, die möglicherweise für andere Zwecke verwendet wird. Die Lösung ähnelt der Skalierung im Allgemeinen. Wir benötigen entweder einen Plan zur Skalierung unserer internen Architektur, um diese Anforderungen zu erfüllen, oder wir müssen eine geeignete Cloud-Lösung finden.

Ressourcennutzung

Der letzte große Unterschied, über den wir sprechen werden, ist der Einsatz von Ressourcen. Für die IT ist die Ressourcennutzung in der Regel effizient, klar definiert und konsistent. Wenn eine Datenbank eine E-Commerce-Site mit Strom versorgt, sind Einschränkungen bekannt. Ein IT-Experte weiß ungefähr, wie viele Benutzer sich in einem bestimmten Zeitraum befinden werden, sodass er seine Hardwarebereitstellung anhand der für jeden Benutzer benötigten Informationen planen kann.

Bei der herkömmlichen IT-Infrastruktur treten keine Probleme auf, wenn ein Projekt nur einige hundert Zeilen aus einer Handvoll Tabellen verwendet. Ein Projekt, das jede Zeile aus zwei Dutzend Tabellen benötigt, kann jedoch schnell zum Problem werden. In der Datenwissenschaft ändern sich die Anforderungen an Verarbeitung und Speicherung von Projekt zu Projekt - und diese Art von Unvorhersehbarkeit kann schwierig zu unterstützen sein.

In der herkömmlichen IT können Ressourcen mit anderen Parteien geteilt werden, z. B. einer Live-Produktionsstätte oder einem internen Entwicklerteam. Hier besteht das Risiko, dass die Durchführung eines großen Data-Science-Projekts diese anderen Benutzer möglicherweise für einen bestimmten Zeitraum sperrt. Ein weiteres Risiko besteht darin, dass die Server, auf denen sich eine Datenbank befindet, möglicherweise nicht in der Lage sind, den erforderlichen Verarbeitungsaufwand zu bewältigen. Das Aufrufen von 200.000 Zeilen aus 15 Tabellen und das Abfragen der Datenaggregation darüber wird zu einem Problem. Diese Größe von Abfragen kann für einen Server, der normalerweise etwa tausend gleichzeitige Benutzer verarbeitet, äußerst anstrengend sein.

Die ideale Lösung liegt in der Cloud-Verarbeitung. Dies spricht zwei Schlüsselfaktoren an. Das erste ist, dass es die Abfrageleistung außerhalb wichtiger Datenbanken ermöglicht. Das zweite ist, dass es Skalierungsressourcen bereitstellt, die für jedes Projekt geeignet sind.

Was ist die endgültige Liste der Anforderungen für beide?

Nachdem wir uns eingehend mit den Anforderungen befasst haben, fassen wir sie zusammen. Eine IT- und Data Science-Abteilung benötigt Folgendes, um langfristig erfolgreich zu sein:

  • eine separate Datenbank, um die Auswirkungen auf andere Interessengruppen zu verringern
  • Eine skalierende Speicherlösung für Datenänderungen
  • Eine Skalierungsverarbeitungslösung für unterschiedliche Projekttypen
  • Eine unstrukturierte Datenbank zum effizienten Abrufen und Speichern sehr unterschiedlicher Daten

Ein Argument für Data Science erstellen

Lassen Sie uns alles in Spezifikationen aufteilen, damit wir eine für beide Seiten vorteilhafte Lösung zusammenstellen können. Jetzt schauen wir uns an, wie Sie die spezifischen Ressourcen definieren, die für eine Organisation benötigt werden:

Forschungsspezifikationen

Von der IT-Seite sind drei Hauptdefinitionen erforderlich, um die erforderliche Infrastruktur zu erstellen. Diese sind:

  1. die Datenmenge
  2. Inwieweit muss es bearbeitet werden?
  3. wie die Daten zur Speicherlösung gelangen

Hier erfahren Sie, wie Sie die einzelnen Elemente bestimmen können.

Datenspeicherbedarf

Alles beginnt mit der anfänglich benötigten Datengröße und den geschätzten laufenden Datenergänzungen.

Nehmen Sie für Ihre anfänglichen Datenanforderungen die definierte Größe Ihrer aktuellen Datenbank. Subtrahieren Sie nun alle Spalten oder Tabellen, die Sie in Ihren Data Science-Projekten nicht benötigen. Nehmen Sie diese Nummer und fügen Sie die Datengröße aller neuen Quellen hinzu, die Sie einführen werden. Zu den neuen Quellen gehören möglicherweise Google Analytics-Daten oder Informationen aus Ihrem Point-of-Sale-System. Diese Summe wird der Datenspeicher sein, den wir im Voraus erreichen möchten.

Obwohl die anfänglichen Speicheranforderungen im Voraus nützlich sind, müssen Sie die laufenden Datenanforderungen berücksichtigen, da Sie der Datenbank wahrscheinlich im Laufe der Zeit weitere Informationen hinzufügen werden. Um diese Informationen herauszufinden, können Sie Ihre täglich hinzugefügten Daten aus Ihren derzeit verfügbaren Daten berechnen. Sehen Sie sich die Menge an Informationen an, die in den letzten 30 Tagen zu Ihrer Datenbank hinzugefügt wurden, und teilen Sie diese durch 30. Wiederholen Sie dies für jede Informationsquelle, die Sie verwenden, und addieren Sie sie.

Obwohl dies nicht genau ist, gibt es ein altes Entwicklungsmantra, nach dem Sie Ihre Schätzung verdoppeln sollten, und das werden wir hier verwenden. Warum? Wir möchten unvorhersehbare Änderungen berücksichtigen, die sich auf Ihre Datenspeicheranforderungen auswirken können, z. B. Unternehmenswachstum, Projektanforderungen oder nur allgemeine Bereiche.

Wenn diese Zahl jetzt definiert ist, multiplizieren Sie sie mit 365. Dies ist nun Ihr projiziertes Datenwachstum für ein Jahr. Wenn Sie es zu Ihrer ursprünglichen Menge hinzufügen, bestimmen Sie, wie viel Speicherplatz Sie erhalten sollten.

Ressourcenbedarf verarbeiten

Im Gegensatz zu Datenspeicheranforderungen sind Verarbeitungsanforderungen viel schwieriger genau zu berechnen. Das Hauptziel hierbei ist zu entscheiden, ob Sie Abfragen oder einen lokalen Computer (oder eine Cloud-Instanz) stark belasten möchten. Denken Sie daran, dass ich, wenn ich über einen lokalen Computer spreche, nicht nur den Computer meine, den Sie normalerweise verwenden. Für die intensiveren Berechnungen benötigen Sie wahrscheinlich einen optimierten Arbeitsplatz.

Um diese Wahl zu treffen, ist es hilfreich, über das größte Data-Science-Projekt nachzudenken, das Sie möglicherweise im nächsten Jahr durchführen werden. Kann Ihre Datenlösung eine Abfrage dieser Größe bearbeiten, ohne dass alle anderen Stakeholder darauf zugreifen können? Wenn dies möglich ist, können Sie ohne zusätzliche Ressourcen loslegen. Wenn nicht, müssen Sie planen, einen Arbeitsplatz mit geeigneter Größe zu erwerben oder Cloud-Instanzen zu skalieren.

ETL-Prozesse (Extrahieren, Transformieren, Laden)

Nachdem Sie entschieden haben, wo Ihre Daten gespeichert und verarbeitet werden sollen, ist die nächste Entscheidung, wie. Durch das Erstellen eines ETL-Prozesses wird Ihre Data Science-Datenbank ordentlich und aktualisiert, und es wird verhindert, dass unnötige Ressourcen von anderen Stellen verwendet werden.

Folgendes sollten Sie in Ihrer ETL-Dokumentation haben:

  • alle Sicherungsvorgänge, die stattfinden sollten
  • Woher kommen die Daten und wohin gehen sie?
  • die genauen Abmessungen, die verschoben werden sollen
  • wie oft die Übertragung erfolgen soll
  • ob die Übertragung abgeschlossen sein muss (die gesamte Datenbank neu schreiben) oder additiv sein kann (nur über neue Dinge hinweggehen)

Eine Lösung vorbereiten

Mit allen verfügbaren Datenpunkten ist es Zeit, eine Lösung auszuwählen. Dieser Teil erfordert ein wenig Recherche und hängt stark von Ihren spezifischen Anforderungen ab, da sie an der Oberfläche viele Ähnlichkeiten aufweisen.

Drei der größten Cloud-Lösungen - Amazon Web Services (AWS), Google Cloud Platform (GCP) und Microsoft Azure - bieten einige der besten Preise und Funktionen. Alle drei haben relativ ähnliche Kosten, obwohl es für AWS (aufgrund der Preisstruktur à la carte) erheblich schwieriger ist, die Kosten zu berechnen.

Über den Preis hinaus bietet jeder eine skalierbare Datenspeicherung und die Möglichkeit, Verarbeitungsinstanzen hinzuzufügen, obwohl jeder seine "Instanzen" unter einem anderen Namen aufruft. Berücksichtigen Sie bei der Recherche, welche für Ihre eigene Infrastruktur verwendet werden soll, welche Arten von Projekten Sie am häufigsten verwenden, da dies den Wert der Preise und Funktionen der einzelnen Projekte verändern kann.

Viele Unternehmen wählen jedoch einfach aus, was mit ihrem vorhandenen Technologie-Stack übereinstimmt.

Möglicherweise möchten Sie auch Ihre eigene Infrastruktur intern einrichten, obwohl dies erheblich komplexer und nichts für schwache Nerven ist.

Zusätzliche Tipps für eine reibungslose Implementierung

Mit all Ihren Enten hintereinander können Sie mit der Implementierung beginnen! Um Ihnen zu helfen, finden Sie hier einige hart erarbeitete Tipps zur Vereinfachung Ihres Projekts - vom Pitch bis zur Ausführung.

Testen Sie Ihren ETL-Prozess

Wenn Sie Ihren ETL-Prozess zum ersten Mal zusammenstellen, testen Sie nicht alles auf einmal! Dies kann Ihre Ressourcen ernsthaft belasten und Ihre Cloud-Kosten drastisch erhöhen, wenn ein Fehler vorliegt oder Sie den Vorgang mehrmals versuchen müssen.

Stattdessen ist es eine gute Idee, Ihren Prozess zunächst nur mit den ersten 100 Zeilen Ihrer Ursprungstabellen auszuführen. Führen Sie dann die vollständige Übertragung aus, sobald Sie wissen, dass sie funktionieren wird.

Testen Sie auch Ihre Fragen

Gleiches gilt für alle großen Abfragen, die Sie auf einer Cloud-Instanz ausführen. Ein Fehler, der Millionen von Daten einfängt, ist auf einem System viel schwieriger als ein Fehler, der nur wenige einfängt - insbesondere, wenn Sie pro GB bezahlen.

Erstellen Sie eine Warehousing-Sicherungsstrategie

Die meisten Cloud-Betreiber bieten dies als Funktion an, sodass Sie sich möglicherweise keine Sorgen machen müssen. Ihr Team sollte dennoch besprechen, ob es regelmäßig eigene Sicherungen der Daten erstellen möchte oder ob die Rekonstruktion der Daten bei Bedarf effektiver sein könnte.

Sicherheits- und Datenschutzbedenken

Stellen Sie beim Verschieben von Kundendaten in die Cloud sicher, dass alle Beteiligten die Data Governance-Richtlinien Ihres Unternehmens kennen, um spätere Probleme zu vermeiden. Dies kann Ihnen auch dabei helfen, Geld für die in der Cloud gespeicherte Datenmenge zu sparen.

Bemaßungsbenennung während der ETL

Seien Sie vorsichtig, wenn Sie Ihre ETL von einer tabellenbasierten Datenbank zu einer unstrukturierten Datenbank ausführen. Wenn Namen nur im Großhandel übertragen werden, haben Sie wahrscheinlich viele Felder aus verschiedenen Tabellen, die denselben Namen haben. Eine einfache Möglichkeit, dies zu überwinden, besteht darin, Ihre neuen Dimensionen in der unstrukturierten Datenbank als {oldtablename}_{columnname} zu benennen und sie dann von dort aus umzubenennen.

Bringen Sie Ihren Motor zum Laufen!

Jetzt können Sie die Grundlagen Ihrer Analyse- und Data Science-Infrastruktur planen. Da viele der wichtigsten Fragen und Antworten definiert sind, sollte der Prozess der Implementierung und des Erwerbs von Führungskräften viel reibungsloser verlaufen.

Haben Sie Schwierigkeiten, Antworten für Ihr eigenes Unternehmen zu finden? Habe ich etwas Wichtiges beschönigt? Lass es mich in den Kommentaren wissen!

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.