Cloud Computing Grundlagen
wichtiger Vorteil gegenüber relationalen SQL-Datenbanken ist auch die Tatsache, dass das Upgrade-Verhalten von NoSQL wesentlich einfacher ist. Eine SQL-Datenbank hat ständig ein Schema. Im Laufe der Zeit verändern sich jedoch die Anforderungen an eine Anwendung. In vielen Fällen betrifft das auch die Datenbank, die neue Anforderungen abdecken muss. Schema-Updates und Datenupdates können somit zu einer sehr unangenehmen Aufgabe werden.
Ein weiterer erheblicher Vorteil von NoSQL ist die Tatsache, dass die meisten Implementierungen Open Source und somit sehr günstig zugänglich sind. Dadurch hat sich ein großes System an verschiedenen Implementierungen von NoSQL-Datenbanken ergeben. In einem späteren Unterkapitel wird Yahoos Hadoop-Implementierung vorgestellt, die sich speziell für die Analyse großer Daten eignet. Große Binärdaten sind besser in Buckets aufgehoben, wie bei Amazon S3 der Fall.
4.1.2SQL
Obwohl NoSQL eine höhere Bedeutung bekommen wird, ist SQL keine vom Aussterben bedrohte Technologie. Viele Cloud-Computing-Anbieter haben in den letzten Monaten ihre Angebote um relationale Datenbanken stark erweitert. Selbst Google hat mit der Google AppEngine for Businesses eingestanden, das SQL-Datenbanken für Geschäftsanwendungen wichtig sind. Mit wachsender Bedeutung für NoSQL hat jedoch der zukünftige Anwender eine wesentlich höhere Entscheidungsmöglichkeit. Somit kann man für jede Spezialanwendung die bessere Datenbanktechnologie wählen.
Da SQL ein in Wissenschaft und Lehre sehr häufig vorkommendes Thema ist, wird an dieser Stelle im Buch eine genauere Erklärung ausgespart, da das Thema ohnehin bekannt sein dürfte.
Vor allem folgende Anbieter haben Datenbanken auf Basis von SQL im Angebot:
Microsoft
Microsoft bietet mit SQL Azure seinen SQL Server in der Cloud an. Hierbei werden viele der Funktionen, die aus SQL Server 2008 bekannt sind, als SQL-Datenbank in der Cloud angeboten.
Oracle
Oracle selbst hat zum Zeitpunkt der Erstellung dieses Kapitels keine eigene Datenbank als Cloud-Dienst. Es gibt jedoch die Möglichkeit, Oracle-Datenbanken auf Amazon EC2 und der IBM SmartBusiness Cloud zu hosten.
MySQL
MySQL, das mit der SUN-Übernahme durch Oracle ebenfalls zu diesem Konzern gehört, hat auch keine eigene Datenbank in der Cloud. Die Datenbank MySQL kann jedoch einfach über Amazon EC2 über deren Service „RDS – Relational Database Service“ bezogen werden.
Weitere Angebote
Viele Startup-Dienste wie Heroku bieten SQL-basierte Dienste in der Cloud als Add-on an. Oftmals wird jedoch NoSQL aufgrund der Skalierbarkeit und Verfügbarkeit vorgezogen.
4.1.3Massenspeicher (Blobs)
Sehr wichtig für Cloud Computing ist auch die Möglichkeit, große Datenmengen abzuspeichern. Dabei kann es sich um Daten wie zum Beispiel Dokumente, Bilder, Videos oder Audiodaten handeln. Einige Plattformen bezeichnen sie auch als „Blob“ (Binary Large OBject). Viele Plattformen wie zum Beispiel Facebook speichern eine sehr große Anzahl an Bildern. Will man solch eine Plattform selbst entwerfen, kann man auf verschiedene Cloud-Dienste zugreifen, beispielsweise Amazon S3 (Simple Storage Service), Amazon EBS (Elastic Block Storage) oder Windows Azure Blob Storage. Viele dieser Speichertechnologien erlauben es auch, Dateien zu partitionieren. Dadurch ist es wesentlich einfacher, sie in das System einzuspielen.
4.2Elementare Web- und Web-Service-Technologien
Web Services spielen eine zentrale Rolle in jeder Webanwendung. Dadurch ist auch die Bedeutung für Cloud Computing sehr groß. Vor allem für serviceorientierte Architekturen (SOA) spielen die beiden Technologien, SOAP und REST, eine wichtige Rolle. In diesem Kapitel werden die beiden Technologien dargestellt.
4.2.1REST
REST wird auch als RESTful API bezeichnet und wurde vor allem durch die Dissertation von Roy Fielding bekannt 1 . Anhänger von REST bezeichnen sich auch als „Restafaris“. Doch worum handelt es sich nun bei REST? REST ist ein Akronym für „REpresentational State Transfer“. REST ist zustandslos und protokollunabhängig, wird aber mit HTTP verwendet und nutzt dessen Möglichkeiten.
Es gibt prinzipiell fünf Punkte, die die Eigenschaften von RESTful Services beschreiben: Adressierbarkeit, eindeutige und klar definierte Operationen, Repräsentationsorientiertheit, zustandslose Kommunikation und Verwendung von Hypermedia als Motor für den Anwendungszustand. Letzteres ist frei übersetzt und wird auch als „HATEOAS“
Weitere Kostenlose Bücher