📈

Amazon Neptuneの概要

2021/08/03に公開

はじめに

WEB制作上がりのサーバレス系開発者がAmazon Neptuneについてまず概要を調べてみました。
今後業務に使えるかもと思ったので。

※(感想)がたまに入ります。

まとめ

  • Amazon Neptune is 何
    • グラフDBのマネージドサービス
  • Amazon ElasticSearch Serviceと連携してクエリ機能をエンハンスできる
  • お試しなら料金に注意。
    • medium系以上のインスタンスタイプを要求されるので

Amazon Neptuneとは

Amazon Neptune is 何

  • マネージド型のグラフDBサービス

グラフDB is 何


↑の図の出典: グラフデータベースとは何か~ネットワーク状のデータ構造から瞬時に情報を検索するDBを解説

  • グラフモデルを効率的に格納・検索するためのDB
  • 具体的には、NodeとEdgeで表現されるDB
  • グラフモデルにはRDFとプロパティグラフがある
    • RDF
      • Resource Description Frameworkの略
      • パブリックドメインのデータセットが豊富
      • W3Cが仕様策定
    • プロパティグラフ
      • 構造がシンプル
    • 所感
      • (感想)パブリックドメインのデータを扱うならRDF、そうではない限りはプロパティグラフを使う、という使い分けでよさそう

Amazon Neptuneの特徴

  • OLTPに特化している
    • OLTP
      • OnLine Transaction Processingの略
      • いわゆるトランザクション系データの扱いに特化したもの
      • 小さなデータを大量に、正確に検索・作成・編集・削除するのに向いている
      • 例えば、グラフDBの1処理でデータの一部を検索するなどに向いている
    • OLAP
      • Online Analytical Processingの略。説明ではOLTPとの対比で使われる
      • 大きなデータを、一回の処理で以下に効率的に処理するかを追求するのに向いている
      • 例えば、グラフDBの1処理でデータのすべてを検索して統計情報を取得する、などに向いている
  • インデックスの管理が不要
    • 自動作成されるため
  • 99.9%のSLAを担保
  • データは3つのAZに跨った6つのレプリカでコピーされ、S3へバックアップされるし、ノードやディスクは継続的に必要な修復が行われるし、自動的にストレージは64TBまで拡張される
  • Point-in-Timeリストア対応。なので、例え処理をミスってもで指定した時期にDBの状態を戻すことができる
  • AWSならではのセキュリティ機能ももちろん使える
    • TLSによる通信経路の暗号化
    • IAMによるユーザ制御
    • セキュリティグループによるアクセス制御
    • KMSによるストレージ暗号化など、
  • Java, Python, .NET, Node.js, HTTP REST・REST以外)などのインターフェイスがある
    • (感想)Node.js使えるの嬉しい
  • Amazon ElasticSearch Serviceと連携できる
  • medium系以上のインスタンスタイプを要求されるので、お試しなら料金に注意。

Amazon ElasticSearch Serviceと連携できる

  • Amazon ElasticSearch Serviceにデータをストリームで連携できる
  • Amazon NeptuneからElasticSearchによる文字列検索が可能になる
    • つまり、LIKE検索やFuzzy検索ができるようになるということ
      • (感想)個人的に一番アツいと感じるポイント
  • ElasticSearch側には次の構造でデータが入る
    • 1Node:1ドキュメント
    • 1Edge:1ドキュメント

参考

Discussion