Thursday, 7 July 2022

AMAZON Neptune : Theory

 

  • Amazon Neptune is a fully managed graph database service used for building applications that work with highly connected datasets.
  • Optimized for storing billions of relationships between pieces of information.
  • Provide milliseconds latency when querying the graph.
  • Neptune supports graph query languages like Apache TinkerPop Gremlin and W3C’s SPARQL.
How it works

Amazon Neptune

Common Use Cases

  • Social Networking
    • Amazon Neptune can easily process user’s interactions like comments, follows, and likes in a social network application through highly interactive queries.
  • Recommendation Engines
    • You can use Amazon Neptune to build applications for suggesting personalized and relevant products based on relationships between information such as customer’s interest and purchase history.
  • Knowledge Graphs
    • With the help of Amazon Neptune, you can create a knowledge graph for search engines that will enable users to quickly discover new information. 
  • Identity Graphs
    • You can use Amazon Neptune as a graph database to easily link and update user profile data for ad-targeting, personalization, and analytics. 

Performance

  • Supports 15 read replicas and 100,000s of queries per second.
  • Amazon Neptune uses query optimization for both SPARQL queries and Gremlin traversals.

Reliability

  • Database volume is replicated six ways across three availability zones.
  • Amazon Neptune can withstand a loss of up to two copies of data and three copies of data without affecting write availability and read availability respectively.
  • Amazon Neptune’s storage is self-healing. Data blocks are continuously scanned for errors and replaced automatically.
  • Amazon Neptune uses asynchronous replication to update the changes made to the primary instance to all of Neptune’s read replicas.
  • Replicas can act as a failover target with no data loss.
  • Supports automatic failover.
  • Supports promotion priority within a cluster. Amazon Neptune will promote the replica with the highest priority tier to primary when the primary instance fails.

 

Cluster Volume

Local Storage

STORED DATA TYPE

Persistent data

Temporary data

SCALABILITY

Automatically scales out when more space is required

Limited to the DB Instance class

Backup And Restore

  • Automated backups are always enabled.
  • Supports Point-In-Time restoration, which can be up to 5 minutes in the past.
  • Supports sharing of encrypted manual snapshots.

Security

  • Amazon Neptune supports AWS Key Management Service ( KMS ) encryption at rest.
  • It also supports HTTPS connection. Neptune enforces a minimum version of TLS v1.2 and SSL client connections to Neptune in all AWS Regions where Neptune is available.
  • To encrypt an existing Neptune instance, you should create a new instance with encryption enabled and migrate your data into it.
  • You can create custom endpoints for Amazon Neptune to access your workload. Custom endpoints allow you to distribute your workload across a designated set of instances within a Neptune cluster.
  • Offers database deletion protection.

Pricing

  • You are billed based on the DB instance hours, I/O requests, storage, and Data transfer.
  • Storage rate and I/O rate is billed in per GB-month increments and per million request increments respectively.

Monitoring

  • Visualize your graph using the Neptune Workbench.
  • You can receive event notifications on your Amazon Neptune DB clusters, DB instances, DB cluster snapshots, parameter groups, or security groups through Amazon SNS.

Limitations

  • It does not support cross-region replicas.
  • Encryption of an existing Neptune instance is not supported.
  • Sharing of automatic DB snapshots to other accounts is not allowed. A workaround for this is to manually copy the snapshot from the automatic snapshot, then, copy the manual snapshot to another account.


No comments:

Post a Comment