Amazon SimpleDB
Übersicht
Amazon SimpleDB ist ein hochverfügbarer NoSQL-Datenspeicher, der die Arbeit der Datenbankverwaltung auslagert. Mit Amazon SimpleDB können Entwickler Datenelemente über einfache Web-Serviceanforderungen speichern und abfragen – Amazon SimpleDB erledigt den Rest.
Amazon SimpleDB ist nicht durch die strikten Anforderungen einer relationalen Datenbank beschränkt und für hohe Verfügbarkeit und Flexibilität mit geringem oder keinem administrativen Aufwand optimiert. Im Hintergrund erstellt und verwaltet Amazon SimpleDB automatisch mehrere geografisch verteilte Kopien Ihrer Daten, um hohe Verfügbarkeit und Dauerhaftigkeit der Daten zu gewährleisten. Bei dem Dienst zahlen Sie nur für die tatsächlich zur Speicherung Ihrer Daten und Bearbeitung Ihrer Anforderungen genutzten Ressourcen. Sie können Ihr Datenmodell im Handumdrehen ändern, und die Daten werden automatisch für Sie indexiert. Mit Amazon SimpleDB können Sie sich auf die Anwendungsentwicklung konzentrieren, ohne sich Gedanken über Infrastrukturbereitstellung, Hochverfügbarkeit, Softwarewartung, Schema- und Indexverwaltung oder Leistungsoptimierung machen zu müssen.
Themen der Seite
Vorteile
Alles öffnenGeringer Aufwand
Dieser Service ermöglicht es Ihnen, sich vollständig auf die Entwicklung mehrwertorientierter Anwendungen zu konzentrieren, statt sich mit der mühseligen und zeitaufwändigen Datenbankverwaltung zu befassen. Amazon SimpleDB verwaltet automatisch die Bereitstellung von Infrastruktur, Hardware- und Softwareverwaltung, Replizierung und Indizierung von Daten sowie Leistungsabstimmung.
Hochverfügbar
Amazon SimpleDB erstellt automatisch mehrere geografisch verteilte Kopien aller gespeicherten Datenelemente. Dies bewirkt hohe Verfügbarkeit und Beständigkeit – im unwahrscheinlichen Fall, dass eine Kopie versagt, kann Amazon SimpleDB einfach ein Failover zu einer anderen Kopie im System durchführen.
Flexibel
Wenn sich Ihr Geschäft ändert oder die Anwendung sich erweitert, können Sie diese Änderungen auf einfache Weise in Amazon SimpleDB nachvollziehen, ohne sich sorgen zu müssen, dass ein rigides Schema gebrochen wird, und ohne Code neu fakturieren zu müssen – Sie fügen einfach bei Bedarf ein weiteres Attribut zu Ihrem Amazon SimpleDB-Datensatz hinzu. Sie können bei Leseanforderungen auch zwischen Consistent oder Eventually Consistent wählen, um die Leseleistung (Latenz und Durchsatz) und Konsistenzerfordernisse flexibel an die Anforderungen Ihrer Anwendung oder sogar an getrennte Bereiche innerhalb Ihrer Anwendung anzupassen.
Einfache Verwendung
Amazon SimpleDB bietet optimierten Zugriff auf die Speicher- und Abfragefunktionen, die traditionell mit einem relationalen Datenbank-Cluster erreicht werden — und lässt dabei andere komplexe, oft ungenutzte Datenbankoperationen aus. Dieser Service ermöglicht Ihnen das schnelle Hinzufügen und problemlose Abrufen und Bearbeiten von Daten über eine Reihe von einfachen API-Aufrufen.
Für die Nutzung mit anderen Amazon Web Services konzipiert
Amazon SimpleDB lässt sich problemlos in andere AWS-Services wie z. B. Amazon S3 und EC2 integrieren und bietet die für die Erstellung von Web-skalierten Anwendungen erforderliche Infrastruktur. So können Entwickler beispielsweise Anwendungen in Amazon EC2 ausführen und Datenobjekte in Amazon S3 speichern. Amazon SimpleDB kann dann verwendet werden, um die Objektmetadaten aus der Anwendung in Amazon EC2 abzufragen und Zeiger auf die in Amazon S3 gespeicherten Objekte zurückzugeben. Entwickler können Amazon SimpleDB mit Amazon RDS auch für Anwendungen verwenden, die relationale und nichtrelationale Datenbanken benötigen. Die Datenübertragung zwischen Amazon SimpleDB und anderen Amazon Web Services in derselben Region ist kostenlos.
Sicher
Amazon SimpleDB stellt einen https-Endpunkt bereit, um sichere, verschlüsselte Kommunikation zwischen Ihrer Anwendung bzw. Ihrem Client und Ihrer Domain zu gewährleisten. Zusätzlich können Sie durch Integration mit AWS Identity and Access Management den Zugriff auf bestimmte SimpleDB-Domains und -Operationen auf Benutzer- oder Gruppenebene steuern.
Kostengünstig
Amazon SimpleDB gibt die finanziellen Vorteile durch die Größe von Amazon an Sie weiter. Sie zahlen nur für Ressourcen, die Sie tatsächlich verbrauchen. Für Amazon SimpleDB bedeutet dies, dass das Lesen und Speichern von Daten über die für jede Operation verbrauchten Rechnerressourcen berechnet werden und dass keine Rechnerressourcen anfallen, wenn sie nicht tatsächlich genutzt werden, d. h. wenn keine Anfragen erfolgen.
Typische Anwendungsfälle
Alles öffnenProtokollierung
Da Amazon SimpleDB es Ihnen ermöglicht, die für den Betrieb einer Produktionsdatenbank erforderliche Arbeit vollständig auszulagern, halten es viele Entwickler für einen idealen, benutzerfreundlichen Datenspeicher für die Protokollierung von Informationen über Bedingungen oder Ereignisse, Statusaktualisierungen, wiederkehrende Aktivitäten, Workflow-Prozesse oder Geräte- und Anwendungszustände. Mit Amazon SimpleDB können Sie diese Datenprotokolle auf kosteneffektive Weise speichern, ohne sich darüber Gedanken machen zu müssen. Anschließend können Sie die Datenprotokolle u. a. für folgende Zwecke verwenden:
Überwachung oder Nachverfolgung
Zählung
Trend der Geschäftsanalyse
Prüfung
Archivierung oder Einhaltung gesetzlicher Vorschriften
Zu den Anwendungsbeispielen gehören:
Zentrales Speichern von Serverprotokollen, um den Platzbedarf auf jedem laufenden Server zu reduzieren
Protokollierung betrieblicher Kennzahlen oder der Ergebnisse laufender Leistungstests zur späteren Analyse
Überwachen von Zugriffseinträgen oder Konfigurationsänderungen für Anwendungen oder Netzwerkgeräte
Erfassung und Überwachung der Umgebungsbedingungen (Temperatur, Druck, Luftfeuchtigkeit usw.) an verschiedenen Orten und Programmierung von Warnmeldungen für bestimmte Bedingungen
Protokollierung und Nachverfolgung von Geolokalisierungsinformationen über Objekte oder den Prozessstatus für Aktivitäten in einem Workflow
Mehrere Eigenschaften von Amazon SimpleDB machen es zu einem attraktiven Datenspeicher für Datenprotokolle:
Zentral, mit hoher Verfügbarkeit — Wenn Ihre Datenprotokolle zuvor lokal in mehreren Geräten/Objekten, Anwendungen oder Prozesssilos gespeichert waren, profitieren Sie von dem Vorteil, dass Sie zentral an einem Ort in der Cloud auf Ihre Daten zugreifen können. Darüber hinaus sorgt Amazon SimpleDB durch eine automatische und georedundante Replikation Ihrer Daten für eine hohe Verfügbarkeit. Das bedeutet, dass Sie mit Amazon SimpleDB – im Gegensatz zu einer zentralisierten Vor-Ort-Lösung – keine einzige Fehlerstelle erzeugen und Ihre Daten bei Bedarf jederzeit abrufbar sind. Sämtliche Daten können über Webservice-Abfragen mit einer Lösung gespeichert werden. Der Zugriff ist mit jedem beliebigen Gerät möglich.
Kein Verwaltungsaufwand — Sie speichern Ihre Datenelemente mit einfachen Webservice-Anfragen und Amazon Web Services kümmert sich um den Rest. Die Einstellen und Vergessen-Eigenschaft dieses Service hat den Vorteil, dass Sie keine Zeit für das Datenbankmanagement aufwenden müssen, um Datenprotokolle zu speichern und zu verwalten.
Kosteneffizient — Amazon SimpleDB berechnet günstige Preise für das Speichern und Abfragen Ihrer Datenprotokolle. Dank der leistungsbasierten Zahlung für diejenigen Ressourcen, die Sie tatsächlich verbrauchen, müssen Sie weder eine eigene Kapazitätsplanung durchführen noch sich Gedanken über die Datenbankauslastung machen. Amazon SimpleDB passt die Kapazität einfach an das jeweilige Anforderungsvolumen an, wobei Ihnen nur diejenigen Ressourcen in Rechnung gestellt werden, die Sie tatsächlich verbrauchen.
Online-Spiele
Entwickler von Online-Spielen für beliebige Plattformen können mit Amazon SimpleDB eine hochverfügbare, skalierbare Datenbanklösung für Benutzer- und Spiele-Daten ohne Administrationsaufwand nutzen.
Zu den allgemeinen Daten, die Online-Spiele mit Amazon SimpleDB speichern, indexieren und abfragen können, gehören:
Benutzerbewertungen und Erfolge
Benutzereinstellungen oder Präferenzen
Informationen zu Spielerelementen oder benutzergenerierten Inhalten
Status der Spielsitzung (wenn das Spiel gespeichert oder unterbrochen wird)
Dynamischer Spielinhalt (Anwendung einer serviceorientierten Architektur auf Ihr Spiel und Speichern und Bereitstellen neuer Herausforderungen oder Inhalte für Spieler mit Amazon SimpleDB)
Indizierte Metadaten für große Objekte, die von Ihrem Spiel verwendet und in Amazon S3 gespeichert werden
Zahlreiche Eigenschaften von Amazon SimpleDB machen es zu einem geeigneten Datenspeicher für Online-Spieledaten:
Hochverfügbarkeit (automatische, geografisch redundante Replikation und Ausfallsicherung): Amazon SimpleDB erzielt eine Hochverfügbarkeit durch die automatische Erstellung mehrerer Kopien Ihrer Daten. In Fällen, in denen eine Kopie nicht mehr verfügbar ist, wird automatisch eine Ausfallsicherung auf eine verfügbare Kopie durchgeführt. Das bedeutet, dass Sie die Komplexität der Einrichtung von Datenbankclustern vermeiden, aber Ihr Spiel und Ihre Benutzer haben trotzdem einen zuverlässigen, unterbrechungsfreien Zugriff auf wichtige Daten.
Automatische Skalierung: Mit zunehmender Benutzeranzahl und fluktuierender Spieleraktivität passt Amazon SimpleDB die Kapazität für den Datenverkehr und das Anforderungsvolumen einfach an, ohne dass ein Eingreifen von Entwicklerseite erforderlich ist. Sie zahlen dabei nur für die Ressourcen, die Sie auch tatsächlich benötigen.
Kein Verwaltungsaufwand: Datenbankmanagement war gestern. Bereitstellung der Infrastruktur, Einrichtung der Software, Schema-Erstellung und -Verwaltung, Indexerstellung und die Optimierung der Abfrageleistung erfolgen allesamt automatisch. Sie können wieder unterhaltsame Spiele und Funktionen für Ihre Benutzer entwickeln und aufhören, der Datenbankadministrator zu sein.
Indexierung von Amazon S3-Objektmetadaten
Viele Entwickler verwenden Amazon SimpleDB in Verbindung mit Amazon Simple Storage Service (Amazon S3). Amazon SimpleDB kann verwendet werden, um Zeiger auf Amazon S3-Objektpositionen und detaillierte Informationen über die Objekte (Metadaten) zu speichern, wodurch Amazon S3 um die umfangreiche Abfragefunktion einer Datenbank ergänzt wird. Für Entwickler, die eine große Anzahl von Objekten in Amazon S3 speichern, bietet Amazon SimpleDB eine flexible, skalierbare und kostengünstige Möglichkeit, Objektmetadaten zu speichern und gleichzeitig den gesamten Verwaltungsaufwand zu entlasten, der mit dem Betrieb einer Datenbank verbunden ist. Zu den gängigen Beispielen für Objektmetadaten, die einfach in Amazon SimpleDB gespeichert, indexiert und abgefragt werden können, gehören:
Datentyp oder Format (Bild, Video, Dokument)
Benutzerverbände oder Zugangsbezeichnungen
Datum, an dem das Objekt erstellt, abgerufen oder geändert wurde
Name oder Standort verwandter Objekte
Nutzerbewertungen und Kommentare
Betreff- oder Kategorie-Tags
Geolocation-Tags
Das Speichern von Metadaten wie in den oben aufgeführten Beispielen ist für die Inhaltsbereitstellung, Medienanwendungen, Sicherungs- und Archivierungsanwendungen und viele andere Anwendungstypen wertvoll. Amazon SimpleDB ist ein ideales Zuhause für Metadaten, da es Folgendes bietet:
Flexibles Design ohne Schema: Fügen Sie zusätzliche Metadatenattribute einfach hinzu, ohne ein festes Schema zu stören. Wenn Sie mit der Nachverfolgung von Benutzerbewertungen für Video-Objekte beginnen möchten, sind hierzu keine zeitraubenden Änderungen an der Datenbank erforderlich.
Attribute mit mehreren Werten: Ein Metadatenattribut kann mehrere Werte haben. So können beispielsweise Fotos mit Kategorien für mehrere Personen und Musikdateien mit Kategorien für mehrere Genres versehen werden.
Kein Verwaltungsaufwand: Mit Amazon SimpleDB gehören nicht nur die mühevolle Infrastruktur-Bereitstellung, Software-Installation und die für Datenbanken notwendige Wartung der Vergangenheit an – die Lösung indiziert auch automatisch Ihre Daten, steigert die Anforderungsleistung und erstellt georedundante Kopien Ihrer Daten.
Amazon SimpleDB bietet darüber hinaus eine unterbrechungsarme Skalierung, bei der automatisch auf ansteigende Anforderungsvolumen reagiert wird, und Ihnen werden lediglich die tatsächlich in Anspruch genommenen Ressourcen in Rechnung gestellt.
In unserem Beispielcode und unseren Bibliotheken finden Sie eine technische Anleitung zur S3-Metadatenindizierung mit Codebeispielen