NoSQL – mysqladmin.at https://mysqladmin.at Der MySQL-Administratoren Blog Fri, 27 May 2016 06:23:26 +0000 de-DE hourly 1 https://wordpress.org/?v=5.1.3 Delfifant oder doch Elefin? https://mysqladmin.at/2013/11/15/delfifant-oder-doch-elefin/ https://mysqladmin.at/2013/11/15/delfifant-oder-doch-elefin/#respond Fri, 15 Nov 2013 09:57:57 +0000 https://mysqladmin.at/?p=374 Weiterlesen ]]>

Was passiert, wenn ein Delfin und ein Elefant aufeinander treffen? Was hat das alles mit den aktuellen Schlagwörtern Big Data, MapReduce und Hadoop zu tun? Das erfährst Du in diesem Artikel.

Der (derzeit überbeanspruchte) Begriff Big Data bezieht sich auf sehr große Datenmengen, die etwa in sozialen Netzwerken wie Facebook oder Twitter produziert werden. So entstehen bei Facebook beispielsweise tagtäglich 500 Terabyte neuer Daten, gesamt müssen mehr als 100 Petabyte an Daten analysiert werden (1 Petabyte = 1.000.000 Gigabyte). Die Analyse dieser Datenmengen, die bis zu mehreren Petabytes groß werden können, ist mittels „normaler“ Hardware nicht mehr zu bewältigen. Um beim Beispiel von Facebook zu bleiben: derartige Analysen berechnen Details zum Userverhalten oder der Vernetzung zwischen Usern, damit beispielsweise zielgerichtet neue Freunde vorgeschlagen werden können. Bereits 2004 haben Jeffrey Dean und Sanjay Ghemawat (beide arbeiten bei Google) MapReduce vorgestellt, das ein neues Paradigma für die hochverteilte Berechnung und Analyse großer Datenmengen zur Verfügung stellt. Dabei werden die Daten auf viele Rechner verteilt und die Berechnung wird gleichfalls in kleine Einzelberechnungen aufgesplittet, die dann sehr einfach parallel berechnet werden können. Durch diese Verteilung auf viele verschiedene Rechner kann der Analyseprozess skaliert werden, indem die die Anzahl an (günstigen) Rechnern und damit die Gesamt-Rechenpower erhöht wird. Das derzeit populärste System, das MapReduce umsetzt, ist Apache Hadoop. Hadoop stellt einerseits ein verteiltes Dateisystem und darauf aufbauend MapReduce-Funktionalitäten zur Verfügung. Der hohe Verteilungsgrad gepaart mit der sehr einfachen Handhabung sind das Erfolgsrezept von Apache Hadoop. Auf eine nähere Beschreibung von MapReduce und Hadoop möchten wir hier verzichten, da es dazu mehr als ausreichend Literatur bereits gibt.

Du fragst Dich jetzt bestimmt, was das alles überhaupt mit MySQL zu tun haben soll, oder? Diese Frage ist sehr einfach beantwortet: in der Datenverarbeitungs-Pipeline steht meist auch MySQL, in dem die Produktivdaten primär gespeichert werden. Hadoop ist keine Datenbank und kann deren Aufgaben nicht übernehmen, daher werden die Daten meist zunächst in MySQL gespeichert und in einem weiteren Schritt in das Hadoop-eigene Dateisystem HDFS (Hadoop Distributed File System) exportiert und dort in weiterer Folge parallelisiert analysiert. MySQL schreibt im Whitepaper „MySQL and Hadoop-Big Data Integration“, dass bis zu 80% aller Hadoop-Installationen in Kombination mit MySQL verwendet werden. Zu diesem Import von Daten aus MySQL in Hadoop stellen Apache und MySQL zwei Tools zur Verfügung: Apache Sqoop und Apache Applier, die wir im Folgenden vorstellen möchten.

Apache Sqoop

Apache Sqoop wurde von Cloudera, einer auf Hadoop-Produkte spezialisierten IT-Firma entwickelt und dient dazu, große Datenmengen von relationalen Datenbanksystem nach HDFS zu importieren (bulk loading) und die Analyseergebnisse von Hadoop auch wieder zurück in die MySQL-Datenbank zu schreiben. Sind die Daten erst mal in HDFS gespeichert, ist es natürlich möglich, diese Daten für MapReduce-Jobs, mit Hive oder auch HBase zu nutzen. Sqoop unterstützt dabei MySQL, aber beispielsweise auch Oracle, Postgres, Netezza oder Teradata. Um Dir kurz zu zeigen, wie einfach dieser Export von MySQL nach HDFS funktioniert, hier ein kurzes Beispiel für den Import einer Tabelle von MySQL in Hadoop:

sqoop import –connect jdbc:mysql://mysql_host/db_name –table tablename –hive-import

Analog können auch ganze Datenbanken von MySQL in HDFS importiert werden. Für den Export der Daten aus HDFS (nach beispielsweise MySQL) stellt Sqoop ebenfalls Funktionen zur Verfügung, mit denen etwa Ordner aus HDFS in Tabellen exportiert werden können.

Applier

Falls es für Dich nicht ausreicht, große Datenmengen beispielsweise einmal am Tag in die Hadoop-Infrastruktur zu importieren, sondern die Daten in HDFS stets aktuell sein sollen, stellt MySQL mit dem Applier das richtige Tool zur Verfügung. Applier verwendet für den Austausch das MySQL-Binlog, das wir im Buch bereits ausreichend beschrieben haben. Das Laden von Daten in HDFS funktioniert ähnlich wie Replikation in MySQL – Hadoop liest die geänderten Daten aus dem Binlog des entsprechenden MySQL-Servers aus und schreibt diese in Hadoop, wie man auch in der folgenden Abbildung erkennen kann:

Applier-Architektur (Quelle: https://innovating-technology.blogspot.co.at/2013/04/mysql-hadoop-applier-part-1.html)

Mit dieser Replikation in das HDFS-Dateisystem kann sichergestellt werden, dass die Daten in HDFS real-time upgedated werden und so alle Hadoop-Analysen stets auf den aktuellsten Daten ausgeführt werden.

Weiterführende Links

]]>
https://mysqladmin.at/2013/11/15/delfifant-oder-doch-elefin/feed/ 0
Die zweite überarbeitete Auflage ist da – jetzt mit NoSQL-Teil! https://mysqladmin.at/2013/08/05/die-zweite-uberarbeitete-auflage-ist-da-jetzt-mit-nosql-teil/ https://mysqladmin.at/2013/08/05/die-zweite-uberarbeitete-auflage-ist-da-jetzt-mit-nosql-teil/#respond Mon, 05 Aug 2013 12:02:27 +0000 https://mysqladmin.at/?p=297 Weiterlesen ]]> Die zweite überarbeitete Auflage: MySQL 5.6 - Das umfassende Handbuch

Die zweite überarbeitete Auflage: MySQL 5.6 – Das umfassende Handbuch

Nach einer intensiven Überarbeitungsphase ist es endlich soweit! Wir freuen uns, die zweite Auflage unseres Buches zur aktuellsten MySQL-Version 5.6 präsentieren zu können! Natürlich haben wir neben vielen kleinen Anpassungen auch alle neuen Features der MySQL-Version 5.6, wie zum Beispiel die topaktuelle NoSQL-Schnittstelle oder der neue Volltextindex der InnoDB-Engine, behandelt.

Weitere Informationen bei Galileo oder Amazon

In der zweiten Ausgabe lesen Sie neu:

  • wie Sie MySQL effizient und performant über die NoSQL-Schnittstelle bedienen
  • wie ein Volltext-Index nun auch (endlich) für InnoDB-Tabellen zur Textsuche eingesetzt werden kann
  • wie Sie mit serverseitigem JavaScript über Node.js MySQL einsetzen können
  • wie Sie über die neuen Sicherheits-Features Ihr System noch besser und komfortabler absichern können
  • wie Sie über das erweiterte Performance-Schema Performance-Bremsen in Ihrem System aufspüren und den Turbo zünden können
]]>
https://mysqladmin.at/2013/08/05/die-zweite-uberarbeitete-auflage-ist-da-jetzt-mit-nosql-teil/feed/ 0
NoSQL: Angekommen jenseits des Hypes https://mysqladmin.at/2011/10/11/nosql-angekommen-jenseits-des-hypes/ https://mysqladmin.at/2011/10/11/nosql-angekommen-jenseits-des-hypes/#respond Tue, 11 Oct 2011 13:04:44 +0000 https://mysqladmin.at/?p=60 Weiterlesen ]]> Der Software & Support Media Verlag hat auf seiner Website einen Quickvote zum Thema NoSQL und deren Einfluss auf klassische Datenbanken durchgeführt….

NoSQL: Hype oder Zukunftsmodell?

  • NoSQL ist und bleibt eine nützliche Ergänzung zu relationalen Datenbanken (66%)
  • NoSQL-Datenbanken gehört die Zukunft (18%)
  • NoSQL ist ein Hype, der bald wieder abflauen wird (9%)
  • NoSQ..was? (7%)

Teilnehmer: 292

Zum Ergebnis/Artikel der Umfrage

P.S.: Auch die neue MySQL Version 5.6 bietet ein key/value Interface, das auf der memcached API basiert … nähere Informationen gibts auf der Seite von MySQL zur neuen Version 5.6.

]]>
https://mysqladmin.at/2011/10/11/nosql-angekommen-jenseits-des-hypes/feed/ 0