マジセミドライブ

ウェビナー関連のニュースや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

おすすめの記事

【デジタル寺田の3分用語解説】「 経済産業省:コンテンツ制作のための 生成AI 利活用ガイドブック 」とは?📘

デジタル寺田の3分用語解説

2024.11.18

【デジタル寺田の3分用語解説】「 経済産業省:コンテンツ制作のための 生成AI 利活用ガイドブック 」とは?📘

経済産業省による「 生成AI 利活用ガイドブック 」は、企業やクリエイター向けに、安心して「生成AI」を利用するための、「指針」「実例」「注意点」を明示しています。「業務効率化」や「新しいアイデア創出」の支援を目的としています。

【デジタル寺田の3分用語解説】「 2029年問題 」とは?📅

デジタル寺田の3分用語解説

2024.11.18

【デジタル寺田の3分用語解説】「 2029年問題 」とは?📅

「 2029年問題 」とは、高校でのデジタル教育改革により、新入社員と既存社員間でデジタルスキル格差が拡大する懸念を指します。企業は早急に対応が求められています。この格差は、企業競争力や業務効率にも、影響を及ぼす可能性があります。

【デジタル寺田の3分用語解説】「 VMWare 問題 」とは?🖥️

デジタル寺田の3分用語解説

2024.11.18

【デジタル寺田の3分用語解説】「 VMWare 問題 」とは?🖥️

「 VMWare 」の仮想化技術は、「ITインフラの効率化」に大きく貢献する技術ですが、Broadcomによる買収後のライセンス変更が大きな問題として注目されています。柔軟で慎重な契約見直しが今後の鍵となります。