Suchen

Schnellere NoSQL-Abfragen Pinterest gibt Terrapin frei

| Autor / Redakteur: Dipl. -Ing. Thomas Drilling / Nico Litzel

Das soziale Netzwerk Pinterest hat auf der @Scale-Konferenz von Facebook angekündigt, sein Hadoop-Querie-Tool Terrapin unter eine Open-Source-Lizenz zu stellen. Terrapin ermöglicht bei Pinterest effizientere Hadoop-Abfragen als die zuvor eingesetzte HBase-basierte Lösung.

Firmen zum Thema

Terrapin, eine vom sozialen Netzwerk Pinterest entwickelte HBase-Alternative, wird Open Source.
Terrapin, eine vom sozialen Netzwerk Pinterest entwickelte HBase-Alternative, wird Open Source.
(Bild: Pinterest)

Die Entwickler von Pinterest hatten Terrapin als Ersatz für die bisher eingesetzte NoSQL-Datenbank HBase entwickelt, weil diese offenbar bei Datensätzen oberhalb von 100 Gigabyte schlecht performte. Die Bulk-Upload-Funktion von Hadoop hatte das Problem offenbar nur anfänglich beheben können und verursachte zudem durch die Verteilung der Daten im Cluster erhöhte Latenzen beim Zugriff.

Pinterest hatte sich daher zunächst nach einem geeigneten Open Source Key-Value Store, wie etwa ElephantDB, als mögliche Alternative umgesehen, sich dann aber zu einer Eigenentwicklung entschlossen.

Datenlokalität im Fokus

Terrapin kombiniert das HFile-Format von HBase mit dem Hadoop-eigenen Dateisystem HDFS. ZUdem nutzt Pinterest Apache Helix für die ZooKeeper-basierte Cluster-Koordination.
Terrapin kombiniert das HFile-Format von HBase mit dem Hadoop-eigenen Dateisystem HDFS. ZUdem nutzt Pinterest Apache Helix für die ZooKeeper-basierte Cluster-Koordination.
(Bild: Pinterest)

Terrapin erlaubt einen sogenannten Random Key-Value Access über sehr große Datasets mit sehr niedriger Latenz. Laut einem Blogpost des Pinterest-Entwicklers Varun Sharma kombiniert Terrapin dazu das HFile-Format von HBase mit dem Hadoop-eigenen Dateisystem HDFS. Ferner nutzt Pinterest Apache Helix für die ZooKeeper-basierte Cluster-Koordination.

Das Besondere an Terrapin ist, dass die Lösung die Datenlokalität optimiert, indem sie den jeweiligen Speicherort der Daten stets im Blick behält und die Daten immer an ihrem Speicherort verarbeitet. Dabei haben MapReduce-Jobs die Wahl, die Daten entweder direkt auf einen Terrapin-Server oder zunächst auf HDFS oder S3 abzulegen.

Laut Aussage von Varun Sharma ist Terrapin fehlertolerant, elastisch und für die verschiedenen Online-Apps von Pinterest wie Pinnability oder Discovery Data ausreichend performant.

Nach Angabe von Sharma setzt Pinterest das Tool seit über einem Jahr zum Verwalten einer Datenmenge von etwa 180 Terabyte produktiv ein. Diese sind auf knapp 100 Filesets mit 50.000 Dateien verteilt.

Verfügbarkeit

Ab sofort können auch andere Unternehmen Terrapin ausprobieren und nutzen. Das Tool steht auf GitHub zum Download zur Verfügung.

(ID:43620560)

Über den Autor

Dipl. -Ing. Thomas Drilling

Dipl. -Ing. Thomas Drilling

IT-Consultant, Trainer, Freier Journalist