Amazon Neptune is a fully managed Graph Database service, designed for applications that are focused on Relationships (between entities – people, objects, etc.).
What is a Graph Database?
A Graph Database is a database that is designed to store relationships – most often between people, but can be between objects, or any other mix. Two key elements of a Graph Database are Nodes and Edges:
- Node – simply put, it’s a data entity. Example – a person (Lynda)
- Edge – is the relationship between any two Nodes. Example – “Friend”
- To put in context Lynda (Node 1) is a Friend (Edge) of Brandi (Node 2)
- In popular terms you can think of how Facebook or other Social Networking sites could store data that would make querying it much faster and meaningful.
Use Cases
- Knowledge Graphs
Image courtesy of AWS
- Identity Graphs
Image courtesy of AWS
Key Points for Amazon Neptune
- Neptune is fully managed, and thus you don’t need to worry about tasks like provisioning, patching, backup, recovery, failure detection and repair.
- Neptune offers 99.99% availability.
- Neptune supports up to 15 Replicas, across multiple AZs.
- Replication is asynchronous.
- Replicas cannot cross Region.
- Neptune is ACID compliant with immediate consistency.
- Neptune supports W3C’s Resource Description Framework (RDF).
- Supports open Source API like – Apache TinkerPop Gremlin, RDF SPARQL.
- Neptune supports fast, parallel bulk loading for Property Graph data stored in S3.
- Backup – Neptune backups are automatic, incremental, and continuous, and allows Point-in-time Restore.
- You can also manually create Snapshots and keep them for as long as you want.
- Encryption – Neptune supports encryption of data using keys managed through KMS.
Pricing
Neptune is billed for following components:
- Instance Type (e.g., db.t3.medium, db.r5.large) – per Hour
- Database Storage – per GB per month
- I/O Rate – per 1 million requests
- Backup Storage – per GB per month (since Backup is on S3, this price is lower than Database storage price)
- Data Transfer (Out) – per GB per month (rate changes in tiers)
- Neptune Workbench – per Hour (rate depends on instance type you select for Workbench)
- Workbench is an in-console UI to query your graph
External Resources