Database | Amazon Neptune Flashcards
What is Amazon Neptune?
General
Amazon Neptune | Database
Amazon Neptune is a fast, reliable, fully-managed graph database service that makes it easy to build and run applications that work with highly connected datasets. SQL queries for highly connected data are complex and hard to tune for performance. Instead, with Amazon Neptune you can use open and popular graph query languages to execute powerful queries that are easy to write and perform well on connected data. The core of Neptune is a purpose-built, high-performance graph database engine optimized for storing billions of relationships and querying the graph with milliseconds latency. You can use Neptune for graph use cases such as recommendation engines, fraud detection, knowledge graphs, drug discovery, and network security. Amazon Neptune is fully managed and handles the time-consuming tasks such as provisioning, patching, backup, recovery, failure detection and repair. You pay a simple monthly charge for each Amazon Neptune database instance you use. There are no upfront costs or long-term commitments required.
How do I try Amazon Neptune?
General
Amazon Neptune | Database
To try Amazon Neptune, request access to the Preview.
What popular graph query languages does Amazon Neptune support?
General
Amazon Neptune | Database
Amazon Neptune supports both the open source Apache TinkerPop Gremlin graph traversal language and the W3C standard Resource Description Framework’s (RDF) SPARQL query language.
How can I migrate from an existing Apache TinkerPop Gremlin application to Amazon Neptune?
General
Amazon Neptune | Database
Amazon Neptune provides an Apache TinkerPop Gremlin Server that supports both Websocket and REST connections. Once you provision an instance of Amazon Neptune, you can configure your existing TinkerPop application to use the endpoint provided by the service. See also Accessing the Graph via Gremlin.
Do I need to change client drivers to use Amazon Neptune’s Gremlin Server?
General
Amazon Neptune | Database
No, Amazon Neptune’s Gremlin server will support clients that are compatible with Apache TinkerPop version 3.3 using both Websocket and REST connections.
How can I migrate from a triple store with a SPARQL endpoint to Amazon Neptune?
General
Amazon Neptune | Database
Amazon Neptune provides an HTTP REST endpoint that implements the SPARQL 1.1 Protocol. Once you provision a service instance, you can configure your application to point to the SPARQL endpoint. See also Accessing the Graph via SPARQL.
Do I need to change client drivers to use Amazon Neptune’s SPARQL Endpoint?
General
Amazon Neptune | Database
No, Amazon Neptune’s SPARQL endpoint will work with any client that supports the SPARQL 1.1 Protocol.
Is Neptune ACID (Atomicity, Consistency, Isolation, Durability) compliant?
Performance
Amazon Neptune | Database
Yes, Neptune is ACID compliant with immediate consistency.
Do I need to create indices on my data with Amazon Neptune?
Performance
Amazon Neptune | Database
No, existing graph database users are often forced to try and outguess the vendor implementation. Explicitly maintaining indices is just one aspect of that. Amazon Neptune does not require you to create specific indices to achieve good query performance, and it minimizes the need for such second guessing of the database design.
What types of graph query workloads are optimized to work with Amazon Neptune?
Performance
Amazon Neptune | Database
Amazon Neptune is designed to support graph applications that require high throughput and low latency graph queries. With support for up to 15 read replicas, Amazon Neptune can support 100,000s of queries per second.
Does Amazon Neptune perform query optimization?
Performance
Amazon Neptune | Database
Yes, Amazon Neptune uses query optimization for both SPARQL queries and Gremlin traversals.
Is Amazon Neptune built on a relational database?
Pricing
Amazon Neptune | Database
No, Amazon Neptune is a purpose-built, high-performance graph database engine. Neptune efficiently stores and navigates graph data, and uses a scale-up, in-memory optimized architecture to allow for fast query evaluation over large graphs.
How much does Amazon Neptune cost?
Pricing
Amazon Neptune | Database
Please see our pricing page for current pricing information.
In which AWS regions is Amazon Neptune available?
Pricing
Amazon Neptune | Database
Please see our pricing page for current information on regions and prices.
Amazon Neptune replicates each chunk of my database volume six ways across three Availability Zones. Does that mean that my effective storage price will be three or six times what is shown on the pricing page?
Pricing
Amazon Neptune | Database
No. Amazon Neptune’s replication is bundled into the price. You are charged based on the storage your database consumes at the database layer, not the storage consumed in Amazon Neptune’s virtualized storage layer.
What are IOs in Amazon Neptune and how are they calculated?
Hardware and Scaling
Amazon Neptune | Database
IOs are input/output operations performed by Amazon Neptune against an SSD-based virtualized storage layer. Every database page read operation counts as one IO. Amazon Neptune issues reads against the storage layer in order to fetch pages not present in the buffer cache. Each page is 16KB in Amazon Neptune.
Amazon Neptune was designed to eliminate unnecessary IO operations in order to reduce costs and to ensure resources are available for serving read/write traffic. Write IOs are only consumed when pushing transaction log records to the storage layer for the purpose of making writes durable. Write IOs are counted in 4KB units. For example, a transaction log record that is 1024 bytes will count as one IO operation. However, concurrent write operations whose transaction log is less than 4KB can be batched together by the Amazon Neptune database engine in order to optimize I/O consumption. Unlike traditional database engines Amazon Neptune never pushes modified database pages to the storage layer, resulting in further IO consumption savings.
What are the minimum and maximum storage limits of an Amazon Neptune database?
Hardware and Scaling
Amazon Neptune | Database
The minimum storage is 10GB. Based on your database usage, your Amazon Neptune storage will automatically grow, up to 64 TB, in 10GB increments with no impact to database performance. There is no need to provision storage in advance.
How do I scale the compute resources associated with my Amazon Neptune DB Instance?
Backup and Restore
Amazon Neptune | Database
You can scale the compute resources allocated to your DB Instance in the AWS Management Console by selecting the desired DB Instance and clicking the Modify button. Memory and CPU resources are modified by changing your DB Instance class.
When you modify your DB Instance class, your requested changes will be applied during your specified maintenance window. Alternatively, you can use the “Apply Immediately” flag to apply your scaling requests immediately. Both of these options will have an availability impact for a few minutes as the scaling operation is performed. Bear in mind that any other pending system changes will also be applied.
How do I enable backups for my DB Instance?
Backup and Restore
Amazon Neptune | Database
Automated backups are always enabled on Amazon Neptune DB Instances. Backups do not impact database performance.
Can I take DB Snapshots and keep them around as long as I want?
Backup and Restore
Amazon Neptune | Database
Yes, and there is no performance impact when taking snapshots. Note that restoring data from DB Snapshots requires creating a new DB Instance.
If my database fails, what is my recovery path?
Backup and Restore
Amazon Neptune | Database
Amazon Neptune automatically maintains 6 copies of your data across 3 Availability Zones and will automatically attempt to recover your database in a healthy AZ with no data loss. In the unlikely event your data is unavailable within Amazon Neptune storage, you can restore from a DB Snapshot or perform a point-in-time restore operation to a new instance. Note that the latest restorable time for a point-in-time restore operation can be up to 5 minutes in the past.
What happens to my automated backups and DB Snapshots if I delete my DB Instance?
Backup and Restore
Amazon Neptune | Database
You can choose to create a final DB Snapshot when deleting your DB Instance. If you do, you can use this DB Snapshot to restore the deleted DB Instance at a later date. Amazon Neptune retains this final user-created DB Snapshot along with all other manually created DB Snapshots after the DB Instance is deleted. Only DB Snapshots are retained after the DB Instance is deleted (i.e., automated backups created for point-in-time restore are not kept).
Can I share my snapshots with another AWS account?
Backup and Restore
Amazon Neptune | Database
Yes. Neptune gives you the ability to create snapshots of your databases, which you can use later to restore a database. You can share a snapshot with a different AWS account, and the owner of the recipient account can use your snapshot to restore a DB that contains your data. You can even choose to make your snapshots public – that is, anybody can restore a DB containing your (public) data. You can use this feature to share data between your various environments (production, dev/test, staging, etc.) that have different AWS accounts, as well as keep backups of all your data secure in a separate account in case your main AWS account is ever compromised.
Will I be billed for shared snapshots?
Backup and Restore
Amazon Neptune | Database
There is no charge for sharing snapshots between accounts. However, you may be charged for the snapshots themselves, as well as any databases you restore from shared snapshots. Learn more about Amazon Neptune pricing.