マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2023.04.25

【OSS情報】ネイティブGraphQLデータベース「 Dgraph 」

【OSS情報】ネイティブGraphQLデータベース「 Dgraph 」

【OSS情報】ネイティブGraphQLデータベース「 Dgraph 」

Dgraphのロゴと概要図

Dgraphの「概要」

「 Dgraph 」(ディーグラフ)とは、
グラフバックエンドを備えた「ネイティブGraphQLデータベース」です。

水平方向にスケーラブルな分散型データベースであり、「ACIDトランザクション」「一貫性のあるレプリケーション」「線形化可能な読み取り」を提供します。

【参考】「GraphQL」とは

「GraphQL」は、「APIクエリ言語」および「実行ランタイム」です。

■「GraphQL」のポイント
・API内のデータについて完全でわかりやすい説明を提供
・「アプリが必要とするすべてのデータ」を1 回のリクエストで取得できる
・時間をかけてAPIを進化させやすくする
・強力な開発者ツールを有効化

→graphql.org

Dgraphの「開発目標」

・テラバイト規模の構造化データを処理
・低レイテンシでのリアルタイムユーザークエリ処理
・高度なスケーリング能力
・アプリケーションを「より良く」「より速く」「より簡単」に構築できるよう支援

Dgraphの「採用に適しているアプリケーションの例」

・「外部キーを介して接続されたSQLテーブル」が10を超えている
・「SQLテーブルに適切に収まらないスパースデータ」がある
・長期にわたって「読みやすい」「保守しやすい」「シンプル」「柔軟」なスキーマが必要
・大規模データベースが必要
・高いパフォーマンスが必要

Dgraphの「ユースケース」

・レコメンデーションシステム
・サプライチェーンシステム
・ロジスティクスシステム
・ソーシャルネットワークシステム
・ナレッジグラフ
・財務データ処理
・複雑なリレーショナルデータセット構築 など

Dgraphの「試用サイト」

→play.dgraph.io

同様ツール

同様な機能を提供するツールとして、次のようなものがあります。

・グラフデータベース管理システム「Neo4j」
・グラフ構造格納特化データベース「Janus Graph」

Dgraphの「特徴」

ネイティブGraphQLデータベース

・スピードとシンプルさのために業界標準「GraphQL」を選択
・GraphQLクエリ構文をサポート
・必要に応じて強力な「DQL」(Data Query Language)言語で拡張
・「GRPCおよび HTTP」を介して「JSONおよびプロトコルバッファ」で応答
・GraphQLスキーマを更新するだけで、すべてのAPIの準備が整う
・リゾルバーは透過的に実装 :「ノードからノード」「ノードからフィールド」へのグラフ関係をたどる

使いやすい

・GraphQLスキーマを1つ作成してデプロイ
・すぐにデータベース+APIにアクセス可能
・インピーダンスミスマッチは無し
・GraphQLリゾルバーは不要

高速処理

・低レイテンシ+高スループットを実現
・大規模データセット全体でのミリ秒の応答時間
・クエリをサブクエリ分割して同時実行
・ディスク上でのデータ配置方法を厳密に制御
・クエリの「パフォーマンス+スループット」を最適化
・クラスタ内の「ディスクシーク+ネットワークアクセス」を削減

スケーラビリティ

・NoSQLデータベースのようなスケーラビリティを提供
・水平方向スケーリング
・高スループット要件をサポート
・グラフを自動的に分割
・独自のインデックス作成によってクエリを最適化
・必要な数のノード間で再調整

データ処理機能

・分散ACIDトランザクション
・全文検索
・正規表現検索
・地域検索
・データポイント選択
・フィルタリング
・集計機能
・分散結合
・トラバーサル処理 :データ構造内のすべての要素を順番に処理
・グラフ操作

各種言語用クライアントライブラリ

・Go
・C#
・Java
・JavaScript
・Python

→dgraph.io →docs →clients

アプリケーションを容易に構築できる

・Dgraphをデータベースとアプリサーバの両方として使用
・アプリケーション全体をDgraph上に構築
・GraphQLからデータベーススキーマへのデータマッピングは不要
・構築が容易
・スケーリングが高速

Dgraphの「オフィシャルサイト情報」

オフィシャルサイト

→dgraph.io

GitHubページ

→github.com →dgraph-io →dgraph

主要開発元

Dgraphは「Dgraph Labs, Inc.」が中心となり開発が進められています。

→dgraph.io →about

ライセンス情報

Dgraphのライセンスは「the Apache Public License 2.0」および「the Dgraph Community License」です。

詳細について、こちらを参照ください。

→github.com →dgraph-io →dgraph →LICENSE

動作環境

公式サポート
・「Linux/amd64」アーキテクチャ

※「Mac」および「Windows」は非サポート

インストール

→dgraph.io →docs →deploy →installation

導入事例

・複数のFortune 500企業
・分散グラフベースプラットフォーム「Intuit Katlas」
・Kubernetes拡張機能「VMware Purser」

【お知らせ】ITセミナー「マジセミ」のご紹介

「 マジセミ 」では、日々、多くのIT関連セミナーを開催しています。

参加者のみなさまのために「本当に役立つ情報の提供」を目標としています。

また、「 マジセミ 」を通じて、デジタル関連プロダクト(サービス)との「新たな出会いの場」「新たな体験の場」を創造することで、「IT業界の発展」「製造業の発展」「エンジニアの活躍促進」の実現を目指しています。

多くのセミナーの中から「ご自身のスキルやビジネスを強化できるセミナー」を見つけて、ぜひ一度、ご参加ください。

マジセミ


参考サイト
→github.com →dgraph-io →dgraph
→dgraph.io
→dgraph.io →docs
→graphql.org

おすすめの記事

【OSS情報】WebベースAPI開発スイート「 Hoppscotch 」🌐

OSS情報

2024.07.04

【OSS情報】WebベースAPI開発スイート「 Hoppscotch 」🌐

「 Hoppscotch 」は、オープンソースのAPI開発エコシステムで、使いやすさとアクセシビリティを重視した軽量なWebベースのスイートです。無料版と有料版があり、PostmanやInsomniaの代替として利用可能です。

【OSS情報】LLMトレーニング用ライブラリ「 GPT-NeoX 」📚

OSS情報

2024.07.18

【OSS情報】LLMトレーニング用ライブラリ「 GPT-NeoX 」📚

「 GPT-NeoX 」は、GPU上で大規模言語モデル(LLM)を効率的にトレーニングするためのライブラリです。NVIDIAのモデルを基に独自の最適化が加えられ、オートレグレッシブ言語モデルのトレーニング手法を集約しています。