What is it: Big Data, KI, Cloud und die Blockchain für Einsteiger.

What is it: Big Data, KI, Cloud und die Blockchain für Einsteiger.
Photo by Krzysztof Kowalik / Unsplash

Wir machen in KI. Wir machen Big Data. Unsere Blockchain ist der heißeste Scheiß. Machen Sie es mit uns, sonst machen Sie es falsch und bevor Sie es falsch machen, machen Sie es besser gar nicht.

Aber was ist denn eigentlich Künstliche Intelligenz und wie unterscheidet sich das von Algorithmen. Wissen Sie eigentlich, was die „alten“ Algorithmen von künstlicher Intelligenz unterscheidet? Warum braucht es eigentlich die Blockchain und wieso sollte es für dein Projekt sinnvoll sein? Was sind Metadaten und was hat das mit Big Data zu tun?

Dies wird kein abschließender, sehr tiefgründiger Bericht über all diese „neuen“ Techniken, die manche IT’ler nun landauf, landab anpreisen, sondern eine Denkvorlage für weitere Recherchen, damit du dich nicht über den Tisch ziehen lässt oder im nächsten TV-/Zeitungsbericht weißt worum es geht.

Die Blockchain

Die Blockchain ist vor allem seit der digitalen Währung Bitcoin in aller Munde. Die Blockchain kann man sich vorstellen, wie einen unendlich großen Ordner in den am Ende immer neue Seiten mit Informationen angehängt werden, nur das dieser Ordner an unendlich vielen Stellen liegen kann. Damit jeder sicher sein kann, dass er die richtigen Seiten hat, wird jede Seite gestempelt, gesiegelt und nummeriert. Aber wer stempelt, siegelt und nummeriert denn diese Seiten? Derjenige, der die Blockchain berechnet. Im Falle von Bitcoins werden diese dezentral berechnet, das heißt ein jeder kann dort mitmachen. Wer genug Rechenpower in seinem „Computer“ hat, kann nach den sogenannten Blocks suchen bzw. berechnen. Ein Block ist in unserem analogen Fall das Blatt Papier. Wer einen Block gefunden hat, der hängt ihn dann an das Ende der Blockchain, teilt das allen anderen mit und diese verifizieren dann das Blatt um es zu stempeln, siegeln und nummerieren.

Wer nun eine Lösung „mit Blockchain" anbietet, zum Beispiel: ‚Wir stecken Ihre Impflösung in die Blockchain‘, der lässt die Blockchain nicht dezentral erstellen, sondern zentral. Mit einem Knopfdruck können somit Milliarden „neue Blätter“ erstellt werden und hat so seine eigene Blockchain erstellt. Das Finden neuer Blocks bei Bitcoin wurde mit Absicht immer schwerer gemacht, das muss im Grunde aber nicht so sein. Es ist problemlos möglich, innerhalb kürzester Zeit Milliarden neuer Blocks zu erstellen. Die Verifizierung der Blockchain erfolgt in diesem Fall dann auch selbst von dem Ersteller der Blockchain. Und das ist das Problem, denn sinnvoll ist das nur, wenn dezentral sich mehrere Stellen nicht gegenseitig vertrauen und jeder darauf angewiesen ist, dass der andere bestätigt, dass der aktuelle Block wirklich der aktuelle Block ist.

Bevor sie sich nun die "teure" Lösung Blockchain "andrehen" lassen, hinterfragen Sie mal, welche alternativen Lösungen es bisher dafür gab und wieso die Blockchain es nun besser machen sollte - die Verifizierung von Verträgen z.B. kann schon lange über private Schlüssel geschehen, hierfür braucht es keine Blockchain.

KI

Fangen wir einfach an: Wissen Sie was ein Computeralgorithmus ist? Sehr simples Beispiel:

$Banane = ungeschnitten
if $Banane == geschnitten:
print("Die Banane ist geschnitten!")
else:
$Banane = geschnitten
print("Die Banane ist geschnitten!")

Wir steigen hier nicht zu tief ein, sondern versuchen nur die Grundlage kurz zu verstehen. (Fast) jedes Computerprogramm hat Variablen. Diese Variable kann von Anfang an einen Wert haben oder Ihn irgendwann im Verlaufe der Ausführung des Programmes erhalten oder geändert bekommen. Wir wollen das die Variable Banane ab sofort den Wert geschnitten hat, sonst können wir diese nicht essen. Am Anfang hat diese aber den Wer ungeschnitten. Das Programm startet nun, sieht das $Banane ungeschnitten ist. Im nächsten Schritt kommt eine Wenn-Dann-Abfrage. In unserem Fall: Wenn die Banane den Wert geschnitten enthält (was sie nicht tut), dann gib aus: "Die Banane ist geschnitten!", ansonsten gib Banane den Wert geschnitten und gib danach aus: Die Banane ist geschnitten.

Das ist ein sehr einfacher Algorithmus, es geht natürlich fast unendlich komplexer und in der Regel ist es das auch. So einfach lassen sich Aufgaben in Computerprogrammen selten regeln. Aber "Wenn-Dann"-Abfragen (If-Else) oder "Solange A, tue B"-Schleifen (while) sind sehr häufig genutzte Routinen um Programme zu programmieren. Natürlich gibt es noch viel mehr und in jeder Programmiersprache gibt es teilweise eigene Lösungswege und -ansätze.

Da sie jetzt ganz Grundlegend wissen, was ein Algorithmus ist, kennen Sie nun den Unterschied zwischen künstlicher Intelligenz (KI) und einem Algorithmus? Nein? Dann sind Sie nicht alleine. Während ein Algorithmus genau das macht, was der oder die Programmierer fest eingebaut haben, ist die KI in der Lage, selbst Probleme zu lösen in dem ein Prozess definiert wird und die KI dann mit Trainingsdaten die Lösung selbst erlernt.

Nehmen wir mal an, sie haben ein sehr altes Foto welches koloriert werden soll. Mit einem Algorithmus kann nun festgelegt werden, welche Stellen in welcher Farbe erscheinen sollen.

Bei einer künstlichen Intelligenz bestimmt man den Prozess und gibt ihm dann möglichst viele Bilder die einkoloriert werden, dann wird danach der KI gesagt welche Bilder oder Bildinhalte gut bzw. schlecht koloriert wurden und trainiert die KI mit den alten Ergebnissen von vorne - und/oder passt den Prozess an. Dies wird so lange gemacht, bis die KI ordentliche Ergebnisse erzielt. Soweit, so gut. Doch woher wissen Sie nun eigentlich, dass die KI die sie da gerade kaufen wollen, wirklich eine KI und kein ausgeklügelter Algorithmus ist? Warum brauchen Sie eigentlich KI anstatt einen sehr guten Algorithmus? Informieren Sie sich, bevor Sie teuer KI kaufen und billig Algorithmus erhalten.

Big Data

Vorneweg: Big Data existiert und wird genutzt. Es kann sogar Sinn machen. Unter Big Data versteht man "sehr viele" unsortierte Daten. Nehmen wir an, Sie haben ein Logistikunternehmen und sammeln ab sofort sämtliche anfallende Daten: Lagerdauer, Verpackungsdauer, Versanddauer, Versanddienstleister, Einkaufspreise, Verpackungspreise, Lagerdauer Verpackungen, Kommissionierzeit etc. Da sind quasi keine Grenzen gesetzt. Alles was an Daten anfällt wird in eine Datenbank geschrieben und aufbewahrt. Mit Big Data-Lösungen werden diese Daten nun in ein auswertbares Format gebracht und ausgewertet. Das Beispiel Logistik mag hier noch simpel anmuten, wenn Sie nun aber z.B. einen großen Webshop haben und Zahlungsdaten, Warenkorbabbrecher, Marketingkampagnen, Kundenstrukturen etc. in Verbindung bringen, kommen Sie schnell auf Millionen von Datenpunkten. Diese können dann für Menschen sinnvoll aufbereitet werden. Die Gefahr bei Big Data ist vor allem zu Unterscheiden: welche Daten bringen mich wirklich weiter und welche Daten halten mich eigentlich auf? Muss ich mich mit allem Beschäftigen? Muss ich alles sammeln und was passiert, wenn diese Daten in falsche Hände geraten z.B. bei einem Hackerangriff oder falls Angestellte in der Firma diese verkaufen? Big Data ist ein sehr schmaler Grat, der reiflichst überlegt sein sollte. Gerade in Hinsicht auf Datenschutz und Vorhaltezeit.

Cloud

Wer kennt Sie nicht: die Cloud! Kennen Sie? Haben Sie die mal gesehen? Nein? Ok, auch hier wieder die Grundlagen: Jede Website die sie besuchen oder Webapplikation die Sie nutzen (z.B. einen Streamingdienst, einen Webvideokonferenzanbieter etc) liegt auf einem sogenannten Server. Ein Server ist nichts anderes als ein PC oder Laptop den Sie zu Hause nutzen. Er hat einen Prozessor, Arbeitsspeicher, eine Festplatte, einen Netzwerkanschluss etc. Was dem Server allerdings in der Regel fehlt sind zwei Dinge: einen Audioaus- bzw eingang sowie eine dedizierte Grafikkarte. Hauptsächlich sind Server in Flachen (10-14cm hohen) sogenannten Racks verbaut. Diese Server stehen in Rechenzentren (wobei Server auch zuhause betrieben werden (können)). Diese Rechenzentren sind mit sehr schnellen Glasfaserleitungen an weitere Rechenzentren, Internetknotenpunkte (wie das DE-CIX) oder auch teilweise direkt an Netzbetreiber angeschlossen.

Die Cloud ist nun nichts anderes, als hunderte, tausende oder zehntausende Server eines Betreibers in einem Rechenzentrum zusammengeschlossen. Der Vorteil für einige Betreiber von Webapplikationen ist hier, dass man sich einfach und schnell weitere Server mieten kann und damit mehr Leute auf die eigenen Dienste zugreifen können, z.B. wenn das eigene Produkt gerade in der Presse erwähnt wird. Nach diesem steilen Anstieg der User, können Server auch schnell wieder abgestoßen werden, wenn der "Hype" vorbei ist. Die Cloud bedeutet aber auch, dass die Dienste nicht mehr die volle Kontrolle über die Server haben und damit die Sicherheitsarchitektur nicht mehr vollends eigens verwalten können.

Daten in die Cloud zu schieben, kann gefährlich werden. Es kann aber auch Zeit und Geld sparen. Hier muss jeder für seine eigene Situation evaluieren, ob ein Einsatz der eigenen Applikation in der Cloud sicher genug ist und wirklich Geld spart oder der Betrieb auf eigenen Servern nicht der am Ende kostengünstigere ist, vor allem weil die Nutzung der eigenen Dienste sehr berechenbar ist und man keine kurzfristigen Skalierungslösungen braucht, die auch mit anderen Mitteln lösbar wären (Caching, Loadbalancer etc).