Cloud Computing Anbietervergleich
Amazon Elastic MapReduce
MapReduce wird nicht nur unternehmensintern verwendet, sondern findet auch Anwendung in der Cloud. Hierbei setzt Amazon auf das Hadoop-Framework. Mit Amazon Elastic MapReduce soll sichergestellt werden, dass große Datenmengen kostengünstig verarbeitet werden. Für Elastic MapReduce kommt die Infrastruktur von Amazon S3 (Simple Storage Service) und Amazon EC2 (Elastic Compute Cloud) zum Einsatz. Es eignet sich besonders zur Webindizierung, Data Mining, Analyse von Finanzdaten und Statistiken und wissenschaftlichen Berechnungen wie auch Simulationen. Mit Amazon Elastic MapReduce muss man sich nicht mehr um die komplexe Infrastruktur, die mit Hadoop MapReduce aufgestellt wird, kümmern.
Datenverarbeitungen werden in Amazon Elastic MapReduce mit den High-Level-Sprachen Hive und Pig ermöglicht. Sollten sie nicht reichen, bietet Amazon eine ganze Reihe weiterer Entwicklungssprachen an, u. a. Java, Python, PHP oder C++. Daten, die verarbeitet werden sollen, werden einfach über Amazon S3 abgelegt. Der MapReduce-Algorithmus eignet sich der MapReduce-Algorithmus zur parallelen Abarbeitung von Arbeitspaketen. Eine detaillierte Beschreibung würde den Rahmen dieses Shortcuts sprengen. Kosten, die durch Amazon Elastic MapReduce entstehen, setzen sich aus Kosten von Amazon EC2 und Amazon S3 zusammen: Es fallen Kosten für virtuelle Instanzen und den Datenverkehr sowie S3-Kosten für Datenverkehr und -speicherung an.
1.1.4 Amazon SimpleDB
Amazon Simple DB ist eine nichtrelationale Datenbank in der Cloud, die auf hohe Verfügbarkeit und Skalierung sowie geringe Administration ausgerichtet ist. Entwickler können sie einfach über einen Web Service ansprechen. Amazon Simple DB kümmert sich um die Verteilung der Daten auf verschiedene Rechenzentren, um die Verfügbarkeit der Daten zu gewährleisten. Da es sich hierbei um kein relationales Datenbankmodell handelt, kommen die für NoSQL-Datenbanken typischen Vor- und Nachteile zum Tragen. Amazon SimpleDB eignet sich vor allem für Webanwendungen mit hohem Skalierungsgrad.
Technische Beschreibung
Amazon SimpleDB verwendet einige Beschreibungen, die in anderen Datenbanken so nicht vorkommen. Auf der höchsten Ebene befindet sich eine Domäne. Das ist mit der Tabelle an sich gleichzusetzen. Eine Reihe in einer Tabelle wird in Amazon SimpleDB als ein Element bezeichnet, von anderen Cloud-Storage-Anbietern auch als Entität bezeichnet. Spaltenüberschriften werden als Attribute bezeichnet, die jeweiligen Inhalte von Zellen als kleinste Einheit, als Werte. Ein Vorteil von Amazon SimpleDB ist, dass es schemalos ist, somit kann man einfach neue Spalten hinzufügen. Oft ändern sich die Anforderungen an die Software, womit man in diesem Anwendungsfall mehr Flexibilität hat. Abbildung 1.8 zeigt die einzelnen Bestandteile noch einmal im Detail.
Abbildung 1.8: Funktionsweise von Amazon SimpleDB
Amazon EC2 verwendet einige API-Befehle, die die Arbeit mit der SimpleDB einfach halten. Sie werden über HTTPS gesendet und haben den Endpunkt https://sdb.amazonaws.com/. Verarbeitungsanweisungen werden als „Action“ im Parameter übergeben. Die Verarbeitungsanweisungen sind folgende:
CreateDomain erstellt eine neue Domäne, eine Tabelle innerhalb einer Datenbank. Neben den Standardangaben wie Signatur, Amazon-Web-Services-Schlüssel und den Versionen wird hier lediglich der Domänenname übergeben. In den Metadaten sind Angaben über die Anfrage-ID (Request ID) und der BoxUsage (CPU-Stunden, die verbraucht wurden).
DeleteDomain verhält sich gleich der CreateDomain-Anfrage, hierbei wird jedoch die Tabelle gelöscht. Rückgabewerte sind ebenfalls mit jenem von CreateDomain identisch.
ListDomains listet die vorhandenen Tabellen auf. Dafür wird die gewünschte Anzahl an Domänen (Tabellen) festgelegt. Neben den Metadaten wird außerdem der Domänenname zurückgeliefert.
DomainMetadata fragt Informationen zu einer Domäne (Tabelle) ab. Das sind Daten wie der Erstellungszeitpunkt, Speicherinformationen zu Namen und Attributen einzelner Elemente sowie Angaben zur Gesamtgröße.
PutAttributes : Elemente kann man mithilfe dieser Funktion erfassen, wobei der ItemName als Identifier für die Anfrage verwendet wird. Elemente, die geschrieben werden sollen, werden über den Namen des Attributs (Spalte in einer Tabelle) und dessen Wert geschrieben. Hier kann man außerdem den Parameter „Replace“ angeben, der festlegt, ob ein Wertepaar auch überschrieben werden soll.
Weitere Kostenlose Bücher