Amazon Neptune
Amazon Neptune ist ein Managed-Service, mit dem man eine Graphdatenbank in der Public Cloud von Amazon Web Services (AWS) erstellen und verwalten kann. Neptune unterstützt eine skalierbare, leistungsstarke Datenbank, die eine Art NoSQL-Datenbank ist. Sie kann Beziehungen zwischen Datensätzen speichern, zuordnen und bietet entsprechende Abfragen.
Amazon Neptune vereinfacht die Arbeit der Entwickler, Abfragen zu schreiben, bei denen verbundene Datenpunkte mit niedriger Latenz durchsucht werden müssen. Neptune unterstützt Graphmodelle, wie das Resource Description Framework (RDF) und den Property Graph des World Wide Web Consortiums (W3C), zusammen mit ihren jeweiligen Abfragesprachen SPARQL und Apache TinkerPop Gremlin.
Amazon Neptune muss in einer Amazon Virtual Private Cloud (VPC) ausgeführt werden, die eine Netzwerkisolation und eine bessere Datenbankkontrolle ermöglicht. Ein Administrator kann auch AWS Identity and Access Management (IAM) zur Steuerung des Benutzer- und Gruppenzugriffs sowie AWS Key Management Service (KMS) zur Datenbankverschlüsselung integrieren.
Amazon Neptune wurde im November 2017 auf der AWS re:Invent vorgestellt und Ende Mai 2018 in vier Regionen in den USA und Europa freigegeben.
Funktionen von Amazon Neptune
Amazon vermarktet Neptune als hochverfügbar und langlebig. Neptune repliziert Daten sechsmal über drei Verfügbarkeitszonen (Availability Zone, AZ) in 10-GB-Segmenten. Neptune ist ACID-konform (Atomicity, Consistency, Isolation, Durability) und bietet Fault-Tolerant und Self-Healing Storage.
Im Falle eines Ausfalls der Datenbankinstanz wird Neptune automatisch in einem neuen Prozess gestartet, was normalerweise weniger als eine Minute dauert. Neptune automatisiert das Failover zu einer Replikationsinstanz in einer anderen Verfügbarkeitszone. Wenn ein Benutzer keine Neptune-Replikate erstellt hat, versucht die Datenbank automatisch, eine neue Instanz zu erstellen. Neptune sichert die Daten automatisch auf Amazon Simple Storage Service (S3) und die Datenbankinstanzen werden mit der Point-in-Time Recovery aktiviert.
Der Service ermöglicht bis zu 15 Lese-Replikationen, die alle den gleichen Speicher wie die Original-Instanz nutzen. Das erhöht die Lesekapazität und reduziert die Kosten. Neptune unterstützt aber keine überregionalen Replikationen.
Um alle Traffic-Anforderungen zu erfüllen, kann Amazon Neptune seine Datenbankinstanzen nach oben oder unten skalieren. Die Speicherkapazität kann automatisch auf bis zu 64 TB erhöht werden, ohne dass das die Leistung beeinträchtigt.
Amazon Neptune einsetzen
Mit Amazon Neptune kann ein Entwickler Knowledge-Graph-Anwendungen erstellen, die es einem Endanwender ermöglichen, die Beziehungen zwischen verschiedenen Datenpunkten zu untersuchen. Wenn ein Benutzer beispielsweise herausfinden will, mit welchen Schauspielern ein bestimmter Filmregisseur gearbeitet hat, dann zeigt ihm eine Knowledge-Graph-Anwendung genau die entsprechenden Verknüpfungen auf.
Neptunes Möglichkeit, auch Verbindungen in sehr großen Datenmengen, wie Benutzerprofilen und Interaktionen, zu verarbeiten, macht das System für Anwendungen in sozialen Netzwerken gut geeignet. Zum Beispiel kann Neptune Such- oder Feed-Ergebnisse für eine Social Media App priorisieren, so dass ein Endnutzer die Updates der Personen sehen kann, mit denen er am häufigsten interagiert.
Entwickler können Neptune auch beim Betrugsschutz anwenden. Die Transaktionen auf der Datenbank erfolgen in Echtzeit, sodass verdächtige Aktivitäten unmittelbar erkannt werden und Hinweise auf einen potenziellen Betrug angezeigt werden können.