Amazon Neptune
Amazon Neptune is a fully managed graph database service provided by Amazon Web Services (AWS) that enables the storage, querying, and analysis of highly connected datasets, supporting both property graph and Resource Description Framework (RDF) models to handle billions of relationships with millisecond latency.[1] It is designed for applications requiring complex traversals and pattern matching, such as recommendation engines, fraud detection, knowledge graphs, network security analysis, and drug discovery.[1] Neptune adheres to open standards for graph technologies, including the Apache TinkerPop Gremlin for property graphs, the openCypher query language (compatible with Neo4j), and the W3C's SPARQL for RDF data, allowing developers to use familiar tools without vendor lock-in.[1] As a fully managed service, AWS handles all infrastructure tasks, including hardware provisioning, software patching, backups to Amazon S3, point-in-time recovery, and replication across multiple Availability Zones, ensuring greater than 99.99% availability.[1] It supports up to 15 read replicas per cluster for high-throughput workloads and uses SSD-backed storage for optimized performance.[1] Security features in Neptune include encryption at rest and in transit using AWS Key Management Service (KMS), integration with Amazon Virtual Private Cloud (VPC), and fine-grained access control via AWS Identity and Access Management (IAM).[1] The service was first announced in preview at AWS re:Invent 2017 and became generally available on May 30, 2018, initially in select AWS regions.[2] Since its launch, Neptune has expanded to support advanced use cases like GraphRAG for AI applications and integrates with services such as Amazon Bedrock for knowledge bases and agentic AI.[3]History
Announcement and Initial Development
Amazon Neptune was announced on November 29, 2017, during the AWS re:Invent conference as a fully managed graph database service designed to simplify building and running applications that work with highly connected datasets.[4] The service was introduced to address the limitations of traditional relational databases in modeling complex relationships, which often result in intricate join operations, increased development costs, and suboptimal query performance.[4] Developed from the ground up by Amazon Web Services (AWS), Neptune was optimized to handle billions of relationships across property graph and Resource Description Framework (RDF) models, delivering millisecond latency for queries at scale.[4] It integrates seamlessly with the AWS ecosystem, running within an Amazon Virtual Private Cloud (VPC) for secure deployment and supporting data loading from Amazon S3 to enable efficient ingestion of large datasets in formats like CSV for property graphs and Turtle for RDF.[4] This foundational design emphasized high availability, durability, and ease of management, allowing developers to focus on application logic rather than infrastructure maintenance.[2] Following the announcement, Neptune entered a limited preview phase in late 2017, where early adopters could sign up to access the core engine supporting Apache TinkerPop Gremlin for property graphs and SPARQL for RDF queries.[4] During this period, AWS incorporated customer feedback to refine capabilities such as read replicas, failover mechanisms, and encryption at rest.[2] The service achieved general availability on May 30, 2018, initially in the US East (N. Virginia), US East (Ohio), US West (Oregon), and Europe (Ireland) regions, marking the completion of its initial development and rollout for production use.[2]Key Milestones and Updates
Subsequent milestones included the launch of Amazon Neptune Serverless on October 26, 2022, which introduced automatic scaling capabilities to handle variable workloads without manual provisioning.[5] This was followed by the introduction of Amazon Neptune Analytics on November 29, 2023, enabling fast, in-memory graph analytics for large-scale queries using optimized engines.[6] The service's engine versions have evolved steadily from the initial 1.0.1.0 release in 2018, progressing through multiple minor and patch updates to the current 1.4.6.1 as of September 18, 2025.[7] Key enhancements in this history include the upgrade to Apache TinkerPop 3.4.1 on July 26, 2019, which added support for advanced Gremlin features such as improved traversal patterns and the GraphBinary serialization format for efficient data exchange.[8] Later versions incorporated performance optimizations, notably in engine 1.4.6.0 released on September 2, 2025, which improved SPARQL update operations and openCypher mutation performance for CREATE, MERGE, and SET queries.[9] In 2025, Amazon Neptune underwent several updates focused on reliability and security, including operating system upgrades to enhance performance and address vulnerabilities.[10] On April 2, 2025, AWS updated the service level agreement to provide a 99.99% monthly uptime for Multi-AZ deployments, reflecting improvements in high-availability configurations.[11] Neptune also supports full-text search integration via Amazon OpenSearch Service, enabling hybrid graph and text queries in Gremlin and SPARQL.[12] Later in 2025, Neptune introduced public endpoints on September 4, allowing secure access from outside VPCs without VPNs or bastions, available from engine version 1.4.6.x.[13] Additionally, the service expanded to new regions including Asia Pacific (Malaysia) on April 9, 2025, and Canada West (Calgary) on May 28, 2025.[14]Features
Data Models and Query Languages
Amazon Neptune supports two primary graph data models: the property graph model and the Resource Description Framework (RDF) model. These models allow users to represent and query highly connected datasets without requiring separate databases for each, as Neptune's engine natively handles both within a unified storage layer. The property graph model organizes data into vertices (nodes) and edges (relationships), where vertices and edges can have associated properties as key-value pairs. Vertices are identified by unique identifiers, edges connect a source vertex to a target vertex with a label describing the relationship type, and properties store additional attributes such as strings, numbers, or lists. This structure facilitates modeling complex networks like social graphs or recommendation systems.[15] In contrast, the RDF model represents data as triples consisting of a subject, predicate, and object, forming statements about resources identified by URIs or literals. Neptune extends this to quads by including a graph identifier, enabling named graphs for partitioning data and supporting multiple RDF datasets in a single instance. This model is particularly suited for semantic web applications, knowledge graphs, and linked data scenarios, adhering to W3C RDF 1.1 standards. Both models are stored using a common quad-based internal representation (subject-predicate-object-graph), which optimizes storage efficiency and query performance across paradigms.[15][16] For querying the property graph model, Neptune supports Apache TinkerPop Gremlin, an imperative traversal language that allows step-by-step navigation of vertices and edges. Gremlin enables complex traversals, aggregations, and transformations, compatible with TinkerPop 3 implementations in languages like Java, Python, and Groovy. Additionally, Neptune provides support for openCypher, a declarative query language originally from Neo4j and open-sourced under Apache 2.0, which uses pattern-matching syntax (e.g., MATCH clauses with motifs like ()-[]->()) for expressing graph queries in an SQL-like manner. openCypher, compliant with version 9 of the openCypher specification, allows developers familiar with relational querying to perform reads and updates on property graphs without choosing between languages—both Gremlin and openCypher can access the same data.[17][18][19] The RDF model is queried using W3C SPARQL 1.1, a declarative language for retrieving and manipulating RDF data through patterns in SELECT, CONSTRUCT, ASK, and DESCRIBE queries, as well as updates via INSERT, DELETE, and LOAD operations. SPARQL supports federated queries, entailment regimes, and functions for filtering and aggregating results, making it ideal for semantic querying and inference. Neptune's implementation complies with SPARQL 1.1 Query Language recommendations, including support for property paths and subqueries.[20][21] Neptune's query engine is natively optimized for both models, leveraging index-free adjacency for fast traversals and SSD-backed storage to achieve low-latency execution of Gremlin, openCypher, and SPARQL queries on graphs with billions of relationships. This unified architecture eliminates the need for model-specific databases, enabling seamless switching between query languages based on application needs.[1]Performance and Scalability
Amazon Neptune achieves high query throughput, capable of processing over 100,000 queries per second on large graphs, enabling efficient handling of demanding graph workloads.[3] This performance is supported by its in-memory optimized architecture, which includes a buffer pool cache that stores frequently accessed graph data in memory to reduce disk I/O and accelerate traversals.[22] Additionally, Neptune offers optional indexing features, such as the Object-Subject-Graph-Predicate (OSGP) index, which is particularly beneficial for datasets with a large number of unique predicates, allowing for faster predicate-based lookups without scanning the entire graph.[23] For scalability, Neptune provides automatic storage scaling that grows the cluster volume up to 128 TiB as data increases, ensuring seamless capacity expansion without manual intervention.[24] Read scalability is enhanced through the addition of up to 15 low-latency read replicas that share the same underlying storage as the primary instance, distributing read traffic to maintain performance under high load.[25] Write operations employ quorum-based durability, replicating data across six copies in three Availability Zones (AZs), where four acknowledgments are required for commit, balancing consistency with fault tolerance.[26] Neptune's reliability is underpinned by a 99.99% availability Service Level Agreement (SLA) for Multi-AZ deployments, minimizing downtime for production environments.[11] Failover recovery typically occurs in under 60 seconds when using replicas, supporting a low recovery time objective for resilient operations.[27] For elastic workloads, Neptune Serverless offers automatic compute scaling, but the core database focuses on these fixed-capacity mechanisms for consistent performance.[25]Security and Compliance
Amazon Neptune provides robust security features to protect data in graph databases, emphasizing network isolation, access controls, and encryption mechanisms. Neptune clusters are deployed within an Amazon Virtual Private Cloud (VPC), which enables network isolation by restricting access to resources solely within the VPC boundaries. This setup uses private endpoints to ensure that database endpoints are not publicly accessible unless explicitly configured, preventing unauthorized external connections and allowing secure communication between Neptune and other AWS services or EC2 instances in the same VPC.[28] Access to Neptune is managed through integration with AWS Identity and Access Management (IAM), which supports fine-grained permissions for controlling API actions such as creating, modifying, or deleting database resources. IAM policies can be attached to users, groups, or roles to enforce least-privilege access, ensuring that only authorized entities can perform specific operations on the cluster. Additionally, Neptune supports IAM database authentication, allowing users to authenticate to the database using IAM credentials rather than traditional passwords, which enhances security by leveraging short-lived tokens and eliminating the need to manage database-level credentials. Data protection in Neptune includes encryption both at rest and in transit. At rest, all data, automated backups, snapshots, and replicas are encrypted using keys managed by AWS Key Management Service (KMS), where customers can use their own customer-managed keys for greater control over key lifecycle and access. In transit, Neptune enforces Transport Layer Security (TLS) to encrypt connections between clients and the database endpoint, safeguarding data during query execution and replication. Encryption at rest can be enabled during cluster creation using AWS Key Management Service (KMS) keys and cannot be disabled once activated. Neptune adheres to numerous compliance standards, with over 20 certifications applicable through AWS services in scope, including FedRAMP Moderate, HIPAA (via Business Associate Agreement), PCI DSS Level 1, and various SOC reports (SOC 1, SOC 2, and SOC 3). Compliance validation reports and audit artifacts are available for download via AWS Artifact, allowing customers to verify adherence to regulatory requirements. Furthermore, audit logging is facilitated through AWS CloudTrail, which captures API calls and management events for Neptune clusters, enabling detailed monitoring, compliance auditing, and forensic analysis of security-related activities.[29][30]Storage and Replication
Amazon Neptune employs a custom, distributed storage engine optimized for graph databases, utilizing a shared architecture with NVMe SSD-based cluster volumes that automatically scale to accommodate growing data needs.[31] This engine incorporates write-ahead logging (WAL) to ensure transaction durability, where internal transaction logs are maintained separately from the primary data storage, helping to prevent data loss during failures while influencing the overall storage high-water mark usage.[31] For enhanced reliability, Neptune replicates each piece of data across six copies distributed over three Availability Zones (AZs) within a region, providing a high degree of durability with minimal risk of data loss even in the event of AZ failures.[31][32] Volume management in Neptune is fully automated and seamless, beginning with a minimum allocation of 10 GiB and expanding in 10 GiB increments up to a maximum of 128 TiB per cluster volume in most regions, or 64 TiB in AWS China Regions and AWS GovCloud (US).[31][33] This scaling occurs without downtime or manual intervention as data volume increases, though storage cannot be shrunk directly; reduction requires exporting and reloading data into a new cluster.[31] Neptune also offers I/O-optimized storage configurations, available since engine version 1.3.0.0, tailored for workloads with high input/output demands, delivering predictable performance and lower latency compared to standard storage options.[34] Storage costs are based on the provisioned high-water mark, billed in GiB-month increments, ensuring efficient resource utilization without over-provisioning.[31] Replication in Neptune prioritizes both durability and read scalability through a combination of synchronous and asynchronous mechanisms. Synchronous multi-AZ replication is inherent to the cluster volume design, where writes to the primary DB instance are durably committed only after successful replication to the six copies across three AZs, enabling automatic failover with low recovery time objectives.[31][1] For read-heavy applications, asynchronous read replicas—up to 15 per cluster—can be provisioned in additional AZs, each connecting to the shared cluster volume without duplicating data storage; these replicas handle read-only queries to offload traffic from the primary instance and support horizontal scaling.[1] This approach maintains consistency while distributing query loads, though replicas may experience slight replication lag under high write throughput.[1] Backup capabilities in Neptune ensure data protection through continuous, automated mechanisms. Automated snapshots are enabled by default with a configurable retention period of 1 to 35 days, stored durably in Amazon S3 and used for full cluster recovery or cross-region replication.[35][36] Complementing snapshots, point-in-time recovery (PITR) allows restoration to any second within the backup retention window—up to 35 days—leveraging continuous transaction log backups to enable recovery to any point within the backup retention window with minimal data loss.[35][25] These features operate transparently, with no performance impact during backup operations, and support encryption if the cluster is configured for it.[35]Specialized Offerings
Neptune Serverless
Amazon Neptune Serverless is an on-demand, fully managed deployment option for the Neptune graph database service that automatically adjusts compute and memory capacity to match workload demands, eliminating the need for manual provisioning.[37] Launched on October 26, 2022, it enables seamless scaling from idle states to handling thousands of queries per second without downtime or over-provisioning, making it suitable for applications with unpredictable traffic patterns.[38] Capacity in Neptune Serverless is measured in Neptune Capacity Units (NCUs), where each NCU provides approximately 2 GiB of memory along with proportional CPU and networking resources.[39] Users configure a minimum and maximum NCU range—minimum of 1.0 NCU in 0.5 NCU increments for fine-grained control, up to a maximum of 128 NCUs (equivalent to 256 GiB of memory)—and the system scales dynamically in fractions of a second based on real-time monitoring of CPU, memory, and network utilization.[39] When idle, the cluster scales down to the minimum capacity to minimize costs, while bursts trigger rapid upscaling to maintain performance.[38] Neptune Serverless supports the same core data models and query languages as the provisioned Neptune offering, including property graphs with Gremlin and openCypher, as well as RDF models with SPARQL.[40] It is designed for operational workloads such as development environments, multi-tenant applications, and production graphs with variable query volumes, like fraud detection or knowledge graphs, where automatic scaling ensures efficiency without capacity planning overhead.[41] Pricing is based on NCU-hours used, with details covered in the serverless pricing model.[42]Neptune Analytics
Amazon Neptune Analytics is a serverless, fully managed graph analytics service launched on November 29, 2023, designed to enable rapid analysis of large graph datasets without the need for infrastructure management.[6] It allows users to perform complex graph queries and analytics on datasets with billions of relationships, delivering results in seconds through its memory-optimized architecture.[43] The service supports multiple graph query languages, including Apache TinkerPop Gremlin, openCypher, and SPARQL, enabling flexible querying across property graph and RDF models.[43] Key capabilities include built-in vector indexes for efficient similarity searches integrated into graph traversals, as well as machine learning integrations that leverage embeddings for advanced pattern detection and recommendations.[33] For data ingestion, it offers a bulk loader for loading data from Amazon S3 buckets, alongside support for streaming ingestion to handle real-time data updates; each graph can utilize up to 4096 GB of RAM (4096 m-NCUs) for in-memory processing. As of July 30, 2024, it supports configurations starting from 32 m-NCUs.[43][44][45] Unique features of Neptune Analytics include support for GraphRAG workflows via integration with Amazon Bedrock, which enhances retrieval-augmented generation by combining graph traversals with generative AI for more contextual responses.[25] Additionally, it provides query cancellation capabilities and status tracking through APIs, allowing users to monitor and interrupt long-running analytics jobs as needed.[43] These elements make it particularly suited for exploratory analytics on knowledge graphs, fraud detection, and recommendation systems.[46]Availability and Deployment
Regional and Global Support
Amazon Neptune is available in over 30 AWS regions worldwide as of 2025, enabling customers to deploy graph databases in locations that align with their data residency and latency requirements.[47] Recent expansions include the Asia Pacific (Melbourne) region (ap-southeast-4) and Canada West (Calgary) region (ca-west-1), both launched on May 28, 2025, to support growing demand in the Asia-Pacific and North American markets.[14] This broad regional footprint spans North America, South America, Europe, the Middle East, Africa, Asia Pacific, China, and AWS GovCloud (US) regions, totaling 31 supported areas.[47] Neptune Analytics, the serverless graph analytics offering, has also seen regional growth, with availability extended to the AWS Canada (Central) region (ca-central-1) and Australia (Sydney) region (ap-southeast-2) in October 2025.[48] These additions enhance options for real-time graph analytics workloads in key international markets, complementing the core Neptune database's global presence. For cross-region data distribution, Amazon Neptune Global Database provides low-latency replication across multiple regions, achieving sub-1-second replication lag to support globally distributed applications.[49] As of July 2025, this feature expanded to five additional regions, including Europe (Frankfurt) (eu-central-1), Asia Pacific (Singapore) (ap-southeast-1), Asia Pacific (Osaka) (ap-northeast-3), Asia Pacific (Jakarta) (ap-southeast-3), and Israel (Tel Aviv) (il-central-1).[50] However, storage capacities vary by region: while most areas support up to 128 TiB per cluster volume, deployments in China regions (Beijing and Ningxia) and AWS GovCloud (US) regions are capped at 64 TiB.[31]High Availability Configurations
Amazon Neptune provides high availability through multi-AZ deployments that distribute database instances and storage across multiple Availability Zones (AZs) within an AWS Region, ensuring resilience against AZ-level failures.[31] In a Multi-AZ configuration, the primary DB instance handles both reads and writes, while read replicas are placed in different AZs to enable automatic failover if the primary fails.[26] The underlying cluster volume replicates data into six copies across three AZs, providing high durability and automatic repair of corrupted segments using redundant copies.[31] A Multi-AZ deployment requires a VPC with subnets in at least two AZs, and Neptune automatically distributes instances across these zones for fault tolerance.[51] Upon detecting a primary instance failure, Neptune initiates an automatic failover to a read replica in another AZ, typically restoring service in less than 120 seconds and often under 60 seconds, with no manual intervention required.[27] This process promotes the selected read replica to primary, minimizing downtime while maintaining data consistency due to the shared storage volume.[26] For enhanced read scaling and availability, clusters support up to 15 read replicas per cluster, each sharing the same cluster volume as the primary and exhibiting minimal replication lag, typically under 100 milliseconds.[1] These replicas can be added or removed without impacting the underlying data replication across AZs, and in disaster scenarios, a read replica can be manually promoted to a standalone DB instance.[26] Disaster recovery in Neptune leverages point-in-time recovery and snapshot management to restore clusters from failures or data corruption.[1] Continuous automated backups are stored durably in Amazon S3, enabling point-in-time recovery to any second within the retention period, which can be configured up to 35 days.[1] User-initiated snapshots, also stored in S3, support cross-region copying for broader recovery options, allowing restoration in a different AWS Region to mitigate regional outages.[52] This cross-region snapshot copy process, while potentially taking hours depending on data volume, provides a low-overhead method for disaster recovery without ongoing replication.[53] Neptune's Multi-AZ configurations are backed by a 99.99% monthly uptime Service Level Agreement (SLA), applicable to DB instances, clusters, and graphs deployed across multiple AZs.[11] Under this SLA, AWS commits to commercially reasonable efforts to achieve the uptime target, with service credits available for downtime: 10% for uptime between 99.0% and 99.99%, 25% for 95.0% to 99.0%, and 100% for below 95.0%.[11] Credits are calculated based on the total charges for the affected Multi-AZ resources and must be requested via the AWS Support Center within two billing cycles.[11] Single-AZ deployments, in contrast, qualify for a lower 99.5% uptime SLA.[11]Pricing
Instance-Based Models
Amazon Neptune's instance-based pricing model applies to provisioned database instances, where users pay for the compute capacity they allocate, including both primary instances for read-write workloads and read replicas for scaling reads and failover support.[42] On-demand pricing charges an hourly rate based on the instance type selected, with rates varying by region; for example, in US East (N. Virginia), a db.r5.large instance costs $0.348 per hour under standard configuration or $0.4698 per hour for I/O-optimized configuration (as of November 2025).[42] Other instance types, such as db.r5.xlarge at $0.696 per hour (standard) or db.r5.24xlarge at $16.704 per hour (standard), follow similar scaling, allowing users to choose based on workload requirements like memory and vCPU needs.[42] For long-term commitments, Amazon Neptune supports Reserved Instances and Savings Plans, which can provide significant savings compared to on-demand pricing through 1- or 3-year terms, applicable to provisioned instances without upfront capacity reservations in some cases.[42] These options help optimize costs for predictable workloads by committing to a consistent spend level across Neptune and other AWS services. Beyond compute, additional costs include storage at $0.10 per GB-month for standard configuration or $0.225 per GB-month for I/O-optimized, which provides higher throughput for intensive graph traversals.[42] I/O requests are charged at $0.20 per million for standard instances, though I/O-optimized eliminates this fee while increasing storage and instance rates.[42] Backup storage is free up to 100% of the total database storage for up to seven days, with excess or retained snapshots costing $0.021 per GB-month.[42] New AWS customers can access a limited free tier for Neptune provisioned instances, offering 750 hours of db.t3.medium or db.t4g.medium usage, 10 million I/O requests, 1 GB of storage, and 1 GB of backup storage within the first 30 days of account creation.[42] Data transfer within the same Availability Zone remains free, supporting efficient intra-region operations without additional charges.[42]| Instance Type | Standard On-Demand Rate (US East, $/hour) | I/O-Optimized On-Demand Rate (US East, $/hour) |
|---|---|---|
| db.r5.large | 0.348 | 0.4698 |
| db.r5.xlarge | 0.696 | 0.9396 |
| db.r5.24xlarge | 16.704 | 22.5552 |