xpertlab-angularjs
What’s New In Angular 8.0
13th May 2019
XpertLab-vs-extension
Best 10 Visual Studio Code Extensions Of 2019
15th May 2019

Amazon Neptune is a managed service that enables a user to create and manage a graph database in the Amazon Web Services (AWS) public cloud. It can support a scalable, high-performance graph database, which is a type of NoSQL database that can store, map and query relationships between data sets.

Neptune is highly available, with read replicas, point-in-time recovery, continuous backup to Amazon S3, and replication across Availability Zones. It provides data security features, with support for encryption at rest and in transit. Neptune is fully managed, so you no longer need to worry about database management tasks like hardware provisioning, software patching, setup, configuration, or backups.

What’s Graph Database

Graph DBMS, also called graph-oriented DBMS or graph database, represent data in graph structures as nodes and edges, which are relationships between nodes. They allow easy processing of data in that form, and simple calculation of specific properties of the graph, suchas the number of steps needed to get from one node to another node.

Graph DBMS usually don’t provide indexes on all nodes, direct access to nodes based on attribute values is not possible in these cases.

Examples Of Graph DBMS

  • Amazon Neptune
  • Neo4j ( Open Source )
  • Microsoft Azure Cosmos DB
  • OrientDB
  • ArangoDB
  • Virtuoso

Amazon Neptune simplifies the process for a developer to write queries that can search connected data points with low latency. Neptune supports graph models, such as World Wide Web Consortium’s (W3C) Resource Description Framework (RDF) and Property Graph, along with their respective query languages, SPARQL and Apache TinkerPop Gremlin.

Amazon Neptune must run within an Amazon Virtual Private Cloud (VPC), which enables network isolation and greater database control. An admin can also integrate AWS Identity and Access Management (IAM) to control user and group access, as well as AWS Key Management Service (KMS) for database encryption.

Amazon Neptune was introduced at AWS re:Invent in November 2017 and released into four regions in the U.S. and Europe in late May 2018.

Key Service Components

  • Primary DB instance : –
    • Supports read and write operations, and performs all of the data modifications to the cluster volume. Each Neptune DB cluster has one primary DB instance that is responsible for writing (that is, loading or modifying) graph database contents.
  • Neptune replica :–
    • Connects to the same storage volume as the Primary DB instance and supports only read operations. Each Neptune DB cluster can have up to 15 Neptune Replicas in addition to the primary DB Instance. This provides high availability by locating Neptune Replicas in separate Availability Zones and distribution load from reading clients.
  • Cluster Volume : –
    • Neptune data is stored in the cluster volume which is designed for reliability and high availability. A cluster volume consists of copies of the data across multiple Availability Zones in a single AWS Region. Because your data is automatically replicated across Availability Zones, it is highly durable, and there is little possibility of data loss.

Supports Open Graph APIs

Amazon Neptune supports open graph APIs for both Gremlin and SPARQL. It provides high performance for both of these graph models and their query languages. with You can choose the Property Graph (PG) model and its open source query language, or the Apache TinkerPop Gremlin graph traversal languageOr you can use the W3C standard Resource Description Framework (RDF) model and its standard SPARQL Query Language.

Highly Secure

Neptune provides multiple levels of security for your database. Security features include network isolation using Amazon VPC, and encryption at rest using keys that you create and control through AWS Key Management Service (AWS KMS). On an encrypted Neptune instance, data in the underlying storage is encrypted, as are the automated backups, snapshots, and replicas in the same cluster.

Fully Managed

With Amazon Neptune, you don’t have to worry about database management tasks like hardware provisioning, software patching, setup, configuration, or backups.

You can use Neptune to create sophisticated, interactive graph applications that can query billions of relationships in milliseconds. SQL queries for highly connected data are complex and hard to tune for performance. With Neptune, you can use the popular graph query languages TinkerPop Gremlin and SPARQL to execute powerful queries that are easy to write and perform well on connected data. This capability significantly reduces code complexity so that you can quickly create applications that process relationships.

Neptune is designed to offer greater than 99.99 percent availability. It increases database performance and availability by tightly integrating the database engine with an SSD-backed virtualized storage layer that is built for database workloads. Thus Neptune storage is fault-tolerant and self-healing and Disk failures are repaired in the background without loss of database availability. Neptune automatically detects database crashes and restarts without the need for crash recovery or rebuilding the database cache. If the entire instance fails, Neptune automatically fails over to one of up to 15 read replicas.

Amazon Neptune Uses

With Amazon Neptune, a developer can build knowledge graph applications, which enable an end user to explore relationships between different data points. For example, if an end user wanted to explore all of the actors that a particular film director has worked with, a knowledge graph application would enable him or her to see those connections.

Neptune’s ability to process connections between high volumes of data, such as user profiles and interactions, could also make it a good fit for social network applications. For example, Neptune can prioritize search or feed results for a social media app, enabling an end user to see updates from the individuals with whom they most regularly interact.

Developers can also apply Neptune to fraud protection efforts, as the graph database service could process transactions in real time and identify red flags to signal potential fraud.