Freitag, 8. März 2013

Bigdata, NoSQL, was ist das überhaupt? Intermezzo


Ich hab eine Frage bekommen: braucht man NoSQL aktuell in der Wirtschaft wirklich?

BigData und NoSQL sind die logischen Ergebnisse der aktuellen Entwicklung: die Datenmengen werden immer größer, weil immer mehr Prozesse technisiert werden (ELSTER, SEPA etc.), immer mehr Daten generiert werden (Megapixel, FullHD, 3D, etc.) und immer mehr Ereignisse elektronisch erfasst werden (Smart Meter, Bio-Monitoring, Web-Logging, etc.). Das Problem ist, dass die Speichertechnologie hierbei nicht mitkommt. Ein Speichermedium zeichnet sich zur 2 Eigenschaften aus:
  1. Kapazität
  2. IO-Leistung, aufgeteilt in
    a. Anfragen pro Sekunde
    b. Durchsatz pro Sekunde
Während 1. in den letzten 15 Jahren um den Faktor 4.000 gestiegen ist, hat sich 2. nur um den Faktor 10 verbessert. Die Erfahrung zeigt, dass Festplatten immer zu 80-90% voll sind, unabhängig von der Größe (stimmt vom meiner ersten 20MB Festplatte bis zu meinen heutigen 3 TB). Dies bedeutet, dass wir heutzutage 400 mal langsamer sind, als vor 15 Jahren, wenn wir alle unsere Daten lesen wollen. Deshalb ist es unklug zu glauben, man kann die gleiche Vorgehensweise, wie vor 15 Jahren verwenden. NoSQL sorgt dafür, dass man weniger Anfragen pro Sekunde benötigt, um die gleiche Leistung zu erzielen, während die BigData-Produkte den Durchsatz pro Sekunde durch massive Parallelisierung erhöhen.

Berechtigt ist die Frage natürlich, was das ganze der Wirtschaft bringt. Genau die gleiche Frage wurde vor 70 Jahren gestellt, als die ersten Rechenmaschinen aufkamen. Und es ist klar, "a fool with a tool is still a fool". NoSQL macht Dinge wie eBay, Facebook, Google erst möglich. BigData schafft es, zeitnah Informationen zu liefern. Ich weiß von einem Beispiel eines großen Telefonanbieters, bei dem in einer Vorstandssitzung eine Frage aufkam. Diese konnte die Technik mit klassischem SQL nach 4 Tagen beantworten. Nach der Umstellung auf BigData konnten ähnliche Fragen in 5 Minuten beantwortet werden. Bei Scooter Attack hatte ich ähnliche Erfolge erzielen können, dort aber von 2 Minuten runter auf 5 Sekunden. Und Speicherkapazität von 9 GB auf 0,5 GB. Es geht auch gar nicht so sehr um die Frage, ob NoSQL/BigData besser oder schlechter ist, als klassisches SQL. Es geht vielmehr darum, welches für was am besten geeignet ist. Früher gab es nur SQL; jetzt kann man zwischen zwei Möglichkeiten wählen, die beide ihre Stärken und Schwächen haben. Was man daraus macht, das bleibt einem immer noch selbst überlassen.