AWS Neptuneとは?DBサービスのメリットから使い方まで紹介!
IT・技術関連
更新日:2024.09.05


AWSのDBサービス「Amazon Neptune」とは?
「Amazon Neptune」とは、AWSで提供されているDB(データベース)サービスの一つで、「グラフDB」と呼ばれるタイプのものです。
最初に、「Amazon Neptune」を理解する上で必要となる「グラフ」や「グラフDB」について解説していきます。
「グラフ」とは?
「グラフ」とは、「ノード」と呼ばれる対象物を起点として、このノード間を「エッジ」と呼ばれる関係性で表現したデータモデルです。 例えばSNSのツイッターに当てはめると、「ノード」が「ユーザ」に、「エッジ」が「フォロー」や「ブロック」に該当します。「グラフ」の様々な例
「グラフ」は、SNS以外にも様々なデータモデルに使用されています。 例えば「インターネット」に当てはめると、「ノード」が「Webページ」に、「エッジ」が「URLリンク」に該当します。 他の例として「路線図」に当てはめると、「ノード」が「駅」や「バス停」に、「エッジ」が「路線」や「バスルート」に該当します。「グラフDB」とは?
「グラフDB」とは、「グラフ」の形式でデータを格納し、検索するためのDBです。 「グラフDB」は「ノード」と「エッジ」で構成されていますが、特に「エッジ(関係性)」を有する点がOracle等のリレーショナルDBと大きく異なります。「グラフDB」の特徴について
「グラフDB」の特徴は、データ(ノード)間がネットワーク状に関連付けされているため、効率的かつ高速な検索ができる点です。 Oracleのような「リレーショナルDB」の場合は、「表形式」でデータを格納しています。検索には、多数の表を連結してデータ間の関係性を遡っていくため、非効率的で時間も掛かります。 「グラフDB」は、関係性そのものを「エッジ」として格納しており、それを辿るだけで済むため、高速な検索を実現しています。「グラフDB」と「リレーショナルDB」の比較
「グラフDB」と「リレーショナルDB」の特徴を比較してみましょう。 Oracle等の「リレーショナルDB」は、データを表形式で持ち、関係性は「外部キー」で表現し、「SQL」という問い合わせ言語で検索します。 一方、「グラフDB」は、大規模な関連性のあるデータ群をモデル化しており、関連性そのものがDBの中心的な存在です。「Gremlin」という問い合わせ言語を利用して、関連性のある検索を高速で行えます。AWSのDBサービス「Amazon Neptune」の前提知識について

「プロパティグラフモデル」とは?
「プロパティグラフモデル」とは、「Amazon Neptune」のグラフモデルの一つで、グラフに「プロパティ」という情報を追加したものです。 例えば「ユーザA」と「ユーザB」という「ノード」が、「友達」という「エッジ」を有する場合に、「ユーザA」の「氏名」や「年齢」が「プロパティ」に該当します。 また「2010年12月24日以来」という「エッジ」に対してもプロパティ(「ラベル」)を持つことができます。「RDF」とは?
「RDF(Resource Description Framework)」とは、「Amazon Neptune」のグラフモデルの一つで、メタ情報をソフトウェアが判断して自動的に処理することを目的としたものです。 具体的な技術ケースとしては「セマンティックWeb」があり、Webサイト上の情報に「意味(semantics)」を「メタ情報」として持たせることで、検索や情報整理を自動化しています。「RDF」の特徴
「RDF」の特徴は、「ノード」を「主語」や「目的語」に、「エッジ」を「述語」に置き換え、ノードの関係性を「主語」、「述語」、「目的語」の三者関係で表現する点です。 RDFの考え方のベースとなっている「英語」で具体例を説明します。「主語」を「I(私)」、「述語」を「eat(食べる)」、「目的語」を「an apple(リンゴ)」とした場合には、「I」「eat」「an apple」という表現で三者の関係性を表せます。「Apache TinkerPop」とは?
「Apache TinkerPop」とは、様々な「グラフDB」を標準化して利用するためのフレームワークです。 「Apache TinkerPop」は、「グラフDB」の上位の抽象化レイヤーという位置付けになっています。このレイヤーで様々なグラフDBの仕様の差異を吸収することで、標準化されたインターフェースを提供しています。「Apache TinkerPop」の概要
「Apache TinkerPop」は、クライアントとのインターフェースである「Gremlin Server」、グラフDBの操作言語(グラフトラバーサル言語)の「Gremlin」、Javaベースの「Core API」で構成されています。 また、対応している「グラフDB」には、AWSの「Amazon Neptune」、「JanusGraph」、「Neo4j」等があります。「Gremlin」とは?
「Gremlin」とは、グラフDBを操作するための言語で、「グラフトラバーサル言語」と呼ばれています。 先ほどのプロパティグラフでの「ユーザA」「ユーザB」「友達」の関係性を例に説明します。 例えば、「ユーザA」の「友達」を検索するためには、以下のようなクエリ(問い合わせ言語)になります。 g.V().has(‘name’, ’ユーザA’).out(‘友達’) →[‘ユーザB’] なお、類似の操作言語には「SPARQL」もあります。「Amazon Neptune」の概要

「Amazon Neptune」の利点(その1)
1つ目の「Amazon Neptune」の利点は、AWS上で「Gremlin」と「SPARQL」の両方の言語に対して「オープングラフAPI」を提供している点です。 この「オープングラフAPI」とは、グラフDBを操作するためのクエリをサポートしているAPIのことで、「Amazon Neptune」のAWS上での構成要素としては、クライアントに対するインターフェースとしての役割を担っています。「Amazon Neptune」の利点(その2)
2つ目の「Amazon Neptune」の利点は、グラフDBに特化することで、優れたパフォーマンスを発揮する点です。 これは、「Amazon Neptune」が「Gremlin」等のグラフDB用のクエリ処理向けに最適化してあるためです。 また、AWS上でのインスタンスのタイプ変更も容易で、簡単にサイズのスケールアップやスケールダウンができます。「Amazon Neptune」の利点(その3)
3つ目の「Amazon Neptune」の利点は、「耐久性」と「高可用性」とを兼ね揃えている点です。 「Amazon Neptune」は、AWSのストレージサービスである「Amazon S3」にデータをバックアップすることで、高い耐久性を有しています。 また「Amazon Neptune」の「高可用性」としては、AWS上のクラウドサービスとしての特性を活かして「99.99%」以上の高い値を実現しています。「Amazon Neptune」のユースケース
「Amazon Neptune」のユースケースの代表的なものとして、「ソーシャルネットワーキング」が挙げられます。 ユーザのプロパティ情報やユーザ間の関係性を「プロパティグラフ」等の「グラフDB」で表現することで、ツイッターのような大規模なSNSを構築するのに適しています。「Amazon Neptune」のまとめ

この記事の監修者・著者

- AWSパートナー/Salesforce認定コンサルティングパートナー 認定企業
-
ITエンジニア派遣サービス事業を行っています。AWSやSalesforceなど専門領域に特化したITエンジニアが4,715名在籍し、常時100名以上のITエンジニアの即日派遣が可能です。
・2021年:AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
・2022年3月:人材サービス型 AWSパートナー認定
・AWS認定資格保有者数1,154名(2024年6月現在)
・Salesforce認定コンサルティングパートナー
・Salesforce認定資格者276名在籍(2024年5月現在)
・LPIC+CCNA 認定資格者:472 名(2024年6月時点)
最新の投稿
- 2024-12-27営業インタビュー情報共有の活性化の中心に。SP企画部の新たな取り組み
- 2024-07-01営業インタビュー最短で当日にご提案可能。 OPE営業の対応が早い3つの理由
- 2024-07-01営業インタビュー研修見学ツアーが高評価!「お客様のOPEに対する期待を高め、継続に貢献できればと思います。」
- 2024-07-01営業インタビュー信頼関係を構築し、エンジニアの長期就業へ
ITエンジニアの派遣を利用したい企業様へ

- 求人・転職サイトや自社採用サイトを使っているが、自社に合ったITエンジニアが応募してこない…
- すぐに採用したいが、応募がぜんぜん集まらない
こんな悩みをお持ちの採用・人事担当者の方は、
オープンアップITエンジニアをご検討ください!
オープンアップITエンジニアをご検討ください!
当社のITエンジニア派遣サービスは
- 派遣スピードが速い!(最短即日)
- 4,500名のエンジニアから貴社にマッチした人材を派遣
- 正社員雇用も可能
こんな特長があり、貴社の事業やプロジェクトに合った最適なITエンジニアを派遣可能です。
まずは下記ボタンから無料でご相談ください。