Spaltenorientierte Datenbanken

Spaltenorientierte Datenbanken sind selbst im Bereich NoSQL etwas besonderes. Während relationale Datenbanken aber auch NoSQL-Datenbanken wie Key-Value oder dokumentenorientierte Datenbanken zeilenbasiert organisiert sind, legen spaltenorientierte Datenbanken, wie der Name schon sagt, Daten als Spalten ab. In der SAP-Welt ist Sybase IQ dafür ein Beispiel. Jedoch kann auch in der HANA DB eine Tabelle als spaltenorientiert abgelegt werden.

Da pro Spalte ein Wert nur einmal vorkommt, zeichnet sich eine spaltenorientierte Datenbank durch hervorragende Aggregation- und Komprimierungsseigenschaften aus. Sie ist damit für OLAP-Operationen optimiert.

Vorteile:

  • Hohe Verfügbarkeit, gute horizontale Skalierung
  • Unterstützt Semi-strukturierte Daten
  • Durch die Komprimierung kommt es zu einem effizienten Zugriff auf die Datenbank

Nachteile:

  • Nicht optimal für transaktionale Anwendungen
  • Komplexeres Datenmodell verglichen mit Key-Values oder dokumentenorientierte Datenbanken
  • Nicht für Graph-Daten geeignet

Einsatzzweck:

  • Besser wenn Schreibvorgänge überwiegen, da die DB schneller schreiben als lesen. Somit auch für Realtime-Analytics gut geeignet.
  • Web Messaging Anwendungen
  • Alle Anwendungen, welche ad-hoc Abfragen auf aggregierte Daten machen
  • Gut für Empfehlungen (Kunden, welche A gekauft haben, …)

Beispiele für Anbieter spaltenorientierter Datenbanken:

  • Hadoop/Hbase
  • Cassandra
  • Accumulo
  • Cloudera
  • MAPR

Quelle: http://data-magnum.com/lesson-7-column-oriented-databases-aka-big-table-or-wide-column/

Key-Value Stores (Tuples)

Key-Value Stores (KVS) werden als sehr einfache Art der NoSQL-Datenbanken beschrieben. Sie bestehen aus einem Schlüssel (Key) und einem Behälter (Bucket), welcher beliebige Werte (Values) umfasst.

KVS sind schemalos, zeilenbasiert und für die Batchverarbeitung und analytische Zwecke ausgelegt.

Vorteile von KVS:

  • Immer verfügbar, kaum störungsanfällig
  • Effizient bei der Bereitstellung von bestimmten zusammengehörigen Werten (Values)
  • Sehr einfaches Datenmodell
  • Skaliert hervorragend auf vielen Servern
  • Kein Overhead (Indizies, Stored Procedures, temporäre Tabellen, Views, …)
  • Leistungsfähiges Offlinereporting für große Datenmengen

Nachteile von KVS:

  • Nicht für komplexe Anwendungen geeignet
  • Nicht für Transaktionen geeignet. Ineffizient beim Update eines Teils der Werte eines Buckets.
  • Nur für Batch-Betrieb (Query-Laufzeit ist Minuten bis Stunden)
  • Nicht effizient für die Abfrage auf einzelne Datensätze
  • Nur eventuell konsistent
  • Nicht für Graph-Daten geeignet
  • Bereitstellung eindeutiger Schlüssel bei steigender Datenmenge wird schwieriger
  • Muss generell alle Werte in einem Bucket bei einer Abfrage lesen

Einsatzzweck:

  • Textdaten und Dokumente
  • Call Center Logs
  • Umfragetexte
  • E-Mails
  • Social Media Feeds
  • Web Logs, Click Data
  • Aktienpreise
  • Realtime-Daten z. B. POS-Daten
  • Anwendungen mit hoher Schreibperformance (Velocity) bzw. kontinuierlich entstehenden Daten

Beispiele für KVS-Datenbankanbieter:

  • Hadoop
  • DynamoDB
  • Riak
  • Redis
  • FoundationDB
  • Voldemort

Quelle: http://data-magnum.com/lesson-5-key-value-stores-aka-tuple-stores/

NoSQL

Im Folgenden starte ich eine Darstellung der verschiedenen Möglichkeiten von NoSQL. Als Start bediene ich mich der Blogeinträge von Bill Vorhies von Data MAGNUM.

NoSQL (=Not only SQL) umfasst Datenbanken, welche im zum Teil nach anderen Prinzipien wie Relationale Datenbanken (RDMS) arbeiten und für verschiedene Zwecke optimiert sind. Aktuell gibt es große Diskussionen, ob NoSQL-Datenbanken die heute verbreiteten relationalen Datenbanken ersetzen können oder Sie einfach ersetzen.

Es werden verschiedene Typen von NoSQL-Datenbanken unterschieden. Dies sind:

Oft findet man als Unterscheidung zwischen der relationalen und der nicht-relationalen Welt die Kriterien ACID (relational) bzw. BASE (nicht-relational). Eine kompakte Erklärung dazu findet sich bspw. hier, wobei auch darauf hingewiesen wird, dass es bei NoSQL eine strikte Trennung nicht gibt.

BARC Big Data use cases 2015 – Research Study (wrap up)

Heute ist die neuste Big Data Studie von BARC in meinen Posteingang geflattert. „Big Data Use Cases – Getting real on data monetization“.

BARC definiert Big Data als „Methoden und Technologien für hochskalierbare Erfassung, Speicherung und Analyse polystrukturierter Daten“.

Mal schauen, was aus der Studie zu ziehen ist. Für BARC ergeben sich aus den Ergebnissen sechs Hot Spots:

  1. Big Data erobert die Unternehmen, allerdings nur wenn das Management vorangeht – Dort wo Big Data realisiert wird, ist in 61 % das Management der Treiber.
  2. Big-Data-Initiativen liefern beachtlichen Mehrwert – Big Data verbessert strategische Entscheidungen, ermöglicht eine bessere Steuerung operativer Prozesse, ein besseres Kundenverständnis sowie Kostensenkungen und erzielt damit Ergebnisse, welche über den Erwartungen liegen.
  3. Der Kunde im Mittelpunkt – Marketing und Vertrieb sind Vorreiter in dem Bestreben, den Kunden transparenter zu machen aber auch in vielen anderen Bereichen wird Big Data zunehmend relevant. Gerade im Handel ist hier das Interesse hoch.
  4. Unternehmen kämpfen mit massiven Know-how-Defiziten sowie Sicherheit und Datenschutz – Da der Kunde oft im Mittelpunkt des Big Data-Geschehens steht, muss mit den entsprechenden Daten sensibel umgegangen werden. Für gut die Hälfte der befragten Unternehmen ein Problem. Zudem, wie seit Langem propagiert, fehlen die Data Scientists.
  5. Europa hinkt hinterher – Nordamerika hat, wie eigentlich zu erwarten war, die Nase vorne.
  6. Industrie 4.0 ist mehr Wunsch als Wirklichkeit – Der Handel hat hier durch konkrete Nutzeneffekte bei Kundenverständnis und Umsatzgenerierung eine Führungsposition herausgearbeitet. Die Industrie ist jedoch im Kommen, priorisiert jedoch ganz anderer Nutzeneffekte wie die bessere Steuerung operativer Prozesse oder sinkende Kosten. Nur das Know-how für die Umsetzung ist noch nicht in gewünschtem Maße vorhanden.

Der Data Scientist, in welcher Ausprägung auch immer, ist also immer noch ein wichtiger Enabler. Jedoch ist für viele Unternehmen der genaue Nutzen von Big Data noch nicht greifbar. Die Studie liefert hier noch weitere interessante Erkenntnisse:

  • In Europa eilt die mediale Diskussion der tatsächlichen Entwicklung voraus, nimmt aber an Fahrt auf.
  • Für viele, vor allem aus der IT, ist Big Data tatsächlich der Umgang mit großen Datenmengen (57%).
  • Die IT selbst zählt auch zu den größten Treibern. Erst der Fachbereich ist jedoch der Erfolgsgarant und durch das Management wird das Thema dann tatsächlich auch realisiert.
  • Die Erwartungshaltung an Big Data ist sehr breit und lässt sich kaum auf ein oder zwei Aspekte fokussieren.
  • Knapp 2/3 der Unternehmen können zum Nutzen von Big Data keine Aussage machen. Die welche es machen, zeichnen ein sehr positives Bild bzgl. Umsatzsteigerung und Kostenreduzierung.
  • Marketing und Vertrieb sind die wichtigsten Unternehmensbereiche. Finanzen und Controlling spielt eines starke Rolle und zusammen mit dem Kundenservice wird dies auch in den nächsten Monaten so bleiben.
  • Technologisch setzt man eher auf die Klassiker: BI-Werkzeuge (62%), Relationale Datenbanken (53%) und Standard Datenintegrationswerkzeuge (53%). Erst danach folgt Data Discovery (43%), Analytische Datenbanken (36%), Predictive Analytics (31%) oder gar Hadoop (17%). Genau die führenden drei Technologien sind auch noch präferiert für den Betrieb in der Cloud.
  • Der Technologieeinsatz verwundert nicht, schaut man sich die Datentypen an, welche analysiert werden. Daten aus Transaktionssystemen (64% im Einsatz) sind führend. Unstrukturierte Datentypen wie Dokumente (30%), Social Media (24%), Clickstream (21%) sowie Daten aus Videoclips/Bildern (12%) scheinen hier abgeschlagen.
  • Andere Branchen, andere Probleme:
    • Finanzsektor: Fehlende Einsatzszenarien
    • Industrie: Fehlendes fachliches & technisches Know-how
    • Öffentlicher Dienst: Datenschutz

Zusammengefasst kann man sagen, Big Data ist im Bewusstsein der Unternehmen angekommen. Die Data Scientists scheinen aber tatsächlich zu fehlen, um die Themen wirklich anzugehen und daraus einen Wert zu ziehen. Währen BARC die positiven Antworten beim realisierten Nutzen hervorhebt, sehe ich eher kritisch, dass hier 2/3 gar nicht erst geantwortet haben. Man hört ja eh ständig, einfach mal machen, nicht unbedingt den Business Case rechnen. Eher agiles Vorgehen in Richtung „fail fast, fail often“ und der Wert realisiert sich schon. Andererseits, wer schaut schon nach dem Projekt nochmal, ob das Ergebnis auch wirklich erzielt wurde…

Letztendlich zeigt sich auch, andere Branchen und andere Abteilungen bringen auch andere Voraussetzungen, Herangehensweisen und Probleme mit sich, weshalb jeder Fall doch wieder individuell zu betrachten ist.

Loben muss ich die Auflistung der Use Cases. Wenn auch High Level beschrieben, bieten dies doch eine ganz gute Checkliste, mit der man als IT doch mal im Fachbereich vorbeischauen und ins Gespräch zu kommen.

Was jedoch die Word Clouds angeht – das Nutzenpotential halte ich eher für überschaubar. Den Versuch, Neues zu wagen, kann man jedoch durchaus wieder loben.

Stephen Few: Mensch vs. Maschine

Als Antwort auf einen HBR-Artikel und als gute Ergänzung zu den vor Kurzem veröffentlichten Artikel, beschreibt Stephen Few in seinem aktuellen Blog-Beitrag, dass der Mensch die Fähigkeit hat, genauso wie ein Computer zu skalieren. Der Entscheidende Vorteil beim Menschen liegt jedoch darin, dass er tatsächlich denkt.

Wie Stephen Few bemerkt, ist der HBR-Artikel tatsächlich nah an Werbung für das Unternehmen des Schreibers dran.

Die Diskussion erinnert mich etwas an IBM Watson, den man ja mittlerweile sogar kostenlos ausprobieren kann. In speziellen Bereichen wurde bereits eine Überlegenheit der Maschine gezeigt. Denkt man mal in die Zukunft, könnten immer mehr Bereiche übernommen werden und wer weiß, irgendwann…