ドキュメント指向データベース

ドキュメント指向データベース、またはドキュメントストアは、半構造化データとも呼ばれるドキュメント指向情報を保存、取得、管理するために設計されたコンピュータプログラムおよびデータストレージシステムです。[ 1 ]

ドキュメント指向データベースはNoSQLデータベースの主要なカテゴリの一つであり、「ドキュメント指向データベース」という用語の人気はNoSQLという用語自体の使用とともに高まっています[ 2 ] 。XMLデータベースはドキュメント指向データベースのサブクラスであり、 XMLドキュメントの処理に最適化されています。グラフデータベースも同様ですが、リレーションシップという別のレイヤーが追加されており、これによりドキュメント間のリンクが可能になり、高速なトラバーサルが可能になります。

ドキュメント指向データベースは、本質的には、NoSQLデータベースの別の概念であるキーバリューストアのサブクラスです。その違いはデータの処理方法にあります。キーバリューストアでは、データはデータベースにとって本質的に不透明であると考えられていますが、ドキュメント指向システムでは、ドキュメントの内部構造に基づいてメタデータを抽出し、データベースエンジンはそれをさらなる最適化に使用します。システム内のツールによってこの違いは無視できる場合が多いですが、[ a ]概念的には、ドキュメントストアは最新のプログラミング技術を用いてより豊かなエクスペリエンスを提供するように設計されています。

ドキュメントデータベース[ b ]は、従来のリレーショナルデータベース(RDB)とは大きく異なります。リレーショナルデータベースは通常、プログラマーが定義した個別のテーブルにデータを保存し、単一のオブジェクトが複数のテーブルにまたがる場合があります。一方、ドキュメントデータベースは、特定のオブジェクトのすべての情報をデータベース内の単一のインスタンスに保存し、保存される各オブジェクトは互いに異なる可能性があります。そのため、データベースにデータをロードする際に オブジェクトリレーショナルマッピングを行う必要がありません。

文書

ドキュメント指向データベースの中心概念は、ドキュメントの概念です。ドキュメント指向データベースの実装によってこの定義の詳細は異なりますが、一般的には、ドキュメントがデータ(または情報)を何らかの標準フォーマットまたはエンコーディングでカプセル化し、エンコードすることを前提としています。[ 3 ] [ 4 ]使用されているエンコーディングには、 XMLYAMLJSON、そしてBSONのようなバイナリ形式が含まれます。[ 5 ]

ドキュメントストア内のドキュメントは、プログラミング概念におけるオブジェクトとほぼ同等です。標準スキーマに従う必要はなく、セクション、スロット、パーツ、キーもすべて同じになるわけではありません。一般的に、オブジェクトを使用するプログラムには多くの異なるタイプのオブジェクトがあり、それらのオブジェクトには多くのオプションフィールドが含まれることがよくあります。同じクラスのオブジェクトであっても、見た目は大きく異なる場合があります。ドキュメントストアは、単一のストアに異なるタイプのドキュメントを格納できること、ドキュメント内のフィールドをオプションにできること、そして多くの場合、異なるエンコードシステムでエンコードできることという点で似ています。例えば、以下はJSONでエンコードされたドキュメントです。

{"firstName" : "ボブ" ,"姓" : "スミス" ,"住所" {「タイプ」「ホーム」"street1" : "5 オーク通り." 「都市」「男の子」「状態」: 「AR」「郵便番号」: 「32225」「国」「米国」},「趣味」「セーリング」"電話" {「タイプ」: 「セル」「番号」「(555)-123-4567」}}

2 番目のドキュメントは、次のように XML でエンコードされる可能性があります。

<contact> <firstname>ボブ</firstname> <lastname>スミス</lastname> <phone type= "Cell" > (123) 555-0178 </phone> <phone type= "Work" > (890) 555-0133 </phone> <address> <type> Home </type> <street1> 123 Back St. </street1> <city> Boys </city> <state> AR </state> <zip> 32225 </zip> <country> US </country> </address> </contact>

これら2つの文書は、構造要素の一部を共有していますが、それぞれ独自の要素も持っています。文書内の構造、テキスト、その他のデータは通常、文書コンテンツと呼ばれ、検索や編集のメソッド(下記参照)によって参照できます。すべてのレコードに同じフィールドが含まれ、未使用のフィールドは空のままになるリレーショナルデータベースとは異なり、上記の例ではどちらの文書(レコード)にも空の「フィールド」は存在しません。このアプローチにより、データベース内の他のすべてのレコードが同じ構造を共有する必要なく、一部のレコードに新しい情報を追加できます。

ドキュメントデータベースは通常、ドキュメントコンテンツに関連付けられ、一緒に保存される追加のメタデータを提供します。これらのメタデータは、ドキュメントの整理、セキュリティの提供、その他の実装固有の機能のためにデータストアが提供する機能に関連する場合があります。

CRUD操作

ドキュメント指向データベースがドキュメントに対してサポートするコア操作は他のデータベースと同様であり、用語は完全に標準化されていませんが、ほとんどの実践者はそれをCRUDとして認識します。

  • 作成(または挿入)
  • 検索(またはクエリ、検索、読み取り、または検索)
  • 更新(または編集)
  • 削除(または除去)

キー

データベース内の文書は、その文書を表す一意のキーによってアドレス指定されます。このキーは単純な識別子(ID)で、通常は文字列URI、またはパスで表されます。このキーを使用して、データベースから文書を取得できます。通常、データベースは文書の取得を高速化するためにキーのインデックスを保持しており、場合によっては、文書をデータベースに作成または挿入するためにキーが必要になります。

検索

ドキュメント指向データベースのもう一つの特徴は、ドキュメントを検索するための単純なキーからドキュメントへの参照だけでなく、コンテンツ(またはメタデータ)に基づいてドキュメントを検索できるAPIまたはクエリ言語が提供されていることです。[ 3 ]例えば、特定のフィールドに特定の値が設定されているすべてのドキュメントを取得するクエリが必要な場合があります。利用可能なクエリAPIまたはクエリ言語の機能セット、およびクエリの期待されるパフォーマンスは、実装ごとに大きく異なります。同様に、利用可能なインデックス作成オプションと設定の具体的なセットも、実装ごとに大きく異なります。

ドキュメントストアがキーバリューストアと最も異なるのは、この点です。理論上、キーバリューストア内の値はストアにとって不透明であり、本質的にブラックボックスです。ドキュメントストアと同様の検索システムを提供する場合もありますが、コンテンツの構成に関する理解度は低い場合があります。ドキュメントストアはドキュメント内のメタデータを使用してコンテンツを分類します。例えば、ある数字列は電話番号で、別の数字列は郵便番号であることを理解できます。これにより、これらの種類のデータ、例えば「555」を含むすべての電話番号を検索できますが、郵便番号55555は無視されます。

編集

ドキュメント データベースは通常、ドキュメント全体またはドキュメントの個々の構造部分の置き換えを可能にすることによって、ドキュメントのコンテンツ (またはメタデータ) を更新または編集するための何らかのメカニズムを提供します。

組織

文書データベースの実装は、文書を整理するためのさまざまな方法を提供します。

  • コレクション: 文書のグループ。実装に応じて、[ 3 ]文書は1つのコレクション内に存在するように強制される場合もあれば、複数のコレクションに存在することが許可される場合もあります。
  • タグと非表示のメタデータ: ドキュメントコンテンツ外の追加データ
  • ディレクトリ階層: 通常はパスまたは URI に基づいてツリー構造に整理されたドキュメントのグループ

場合によっては、これらの組織の概念は、論理的であるか物理的であるか (たとえば、ディスク上またはメモリ内) の表現の程度によって異なります。

他のデータベースとの関係

キーバリューストアとの関係

ドキュメント指向データベースは、特殊なキーバリューストアであり、それ自体がNoSQLデータベースの別のカテゴリです。単純なキーバリューストアでは、ドキュメントの内容は不透明です。ドキュメント指向データベースは、ドキュメントの内部構造に基づいてクエリや更新を行うためのAPIまたはクエリ/更新言語を提供します。[ 4 ]この違いは、ドキュメントデータベースで一般的に提供されるより豊富なクエリ、検索、編集APIを必要としないユーザーにとっては些細なことかもしれません。現代のキーバリューストアにはメタデータを操作する機能が含まれていることが多く、ドキュメントストア間の境界が曖昧になっています。

検索エンジンとの関係

Apache SolrElasticsearchなどの一部の検索エンジン (別名、情報検索) システムは、ドキュメント指向データベースの定義に適合するのに十分なドキュメントのコア操作を提供します。

リレーショナルデータベースとの関係

リレーショナルデータベースでは、まずデータがいくつかの定義済みタイプに分類され、各タイプの個々のエントリ(レコード)を保持するためのテーブルが作成されます。テーブルは各レコードのフィールド内のデータを定義します。つまり、テーブル内のすべてのレコードは全体的に同じ形式になります。管理者はテーブル間の関係も定義し、検索で最もよく使用されると思われる特定のフィールドを選択して、それらのインデックスを定義します。リレーショナル設計の重要な概念は、繰り返される可能性のあるデータは通常、独自のテーブルに配置され、これらのインスタンスが互いに関連している場合は、それらをグループ化するための列(外部キー)が選択されるというものです。この設計はデータベースの正規化として知られています。[ 6 ]

例えば、アドレス帳アプリケーションでは通常、連絡先名、オプションの画像、1つ以上の電話番号、1つ以上の郵送先住所、1つ以上の電子メールアドレスを保存する必要があります。標準的なリレーショナルデータベースでは、これらの行ごとにテーブルが作成され、各データビットごとに定義済みのフィールドが設定されます。CONTACTテーブルにはFIRST_NAME、LAST_NAME、IMAGE列が含まれ、PHONE_NUMBERテーブルにはCOUNTRY_CODE、AREA_CODE、PHONE_NUMBER、TYPE(自宅、勤務先など)が含まれます。PHONE_NUMBERテーブルには、連絡先の作成時に割り当てられた一意のID番号を保持する外部キー列「CONTACT_ID」も含まれています。元の連絡先を再作成するために、データベースエンジンは外部キーを使用してテーブルグループ全体から関連項目を検索し、元のデータを再構築します。

対照的に、ドキュメント指向データベースでは、テーブルの概念に直接対応する内部構造が存在しない可能性があり、フィールドやリレーションシップも通常、定義済みの概念として存在しません。代わりに、オブジェクトのすべてのデータは単一のドキュメントに配置され、データベースに単一のエントリとして保存されます。アドレス帳の例では、ドキュメントには連絡先の名前、画像、その他の連絡先情報がすべて単一のレコードとして格納されます。このエントリにはキーを介してアクセスされ、データベースはキーを使用してドキュメントを取得し、アプリケーションに返すことができます。関連データを取得するために追加の作業は必要ありません。これらすべてが単一のオブジェクトで返されます。

ドキュメント指向モデルとリレーショナルモデルの重要な違いは、ドキュメントの場合、データ形式が事前に定義されていないことです。ほとんどの場合、あらゆる種類のドキュメントをあらゆるデータベースに保存でき、それらのドキュメントの種類や形式はいつでも変更できます。例えば、CONTACTにCOUNTRY_FLAGフィールドを追加したい場合、このフィールドは新しいドキュメントを挿入する際に追加できます。データベースや既に保存されている既存のドキュメントには影響しません。データベースからの情報検索を容易にするために、ドキュメント指向システムでは通常、管理者がデータベースに特定の種類の情報を検索するためのヒントを提供することができます。これは、リレーショナルモデルにおけるインデックスと同様に機能します。また、ほとんどのシステムでは、ドキュメント自体の内容とは別にメタデータを追加することもできます。例えば、エントリをアドレス帳の一部であることを示すタグを付けることで、プログラマーは「すべてのアドレス帳エントリ」など、関連する種類の情報を取得できます。これはテーブルに似た機能を提供しますが、概念(データのカテゴリ)と物理的な実装(テーブル)が分離されています。

古典的な正規化リレーショナルモデルでは、データベース内のオブジェクトは個別のデータ行として表現され、取得時に付与される構造以外に固有の構造は持たない。そのため、プログラミングオブジェクトとそれに対応するデータベース行を相互に変換する際に問題が発生し、これはオブジェクト・リレーショナル・インピーダンス・ミスマッチと呼ばれる。[ 7 ]ドキュメントストアは、プログラミングオブジェクトをより密接に、あるいは場合によっては直接的にストアにマッピングする。これらはしばしばNoSQLという用語で販売されている。

実装

名前 出版社 ライセンス サポートされている言語 注記 RESTful API
エアロスパイクエアロスパイクAGPLプロプライエタリCC#JavaScalaPythonNode.jsPHPGoRustSpring FrameworkAerospikeはフラッシュに最適化されたインメモリ分散キーバリューNoSQLデータベースであり、ドキュメントストアモデルもサポートしています。[ 8 ]はい[ 9 ]
アレグログラフフランツ株式会社 独自のJavaPythonCommon LispRubyScalaC#Perlデータベースプラットフォームは、単一のデータベースでドキュメントストアとグラフデータモデルをサポートします。JSON JSON -LDRDF、全文検索、ACID2フェーズコミットマルチマスターレプリケーションPrologSPARQLをサポートします。 はい[ 10 ]
アランゴDBアランゴDB ビジネスソースライセンスCC#JavaPythonNode.jsPHPScalaGoRubyElixirデータベース システムは、1 つのデータベース コアと統合クエリ言語 AQL (ArangoDB Query Language) を使用して、ドキュメント ストア、キー/値、グラフ データ モデルをサポートします。 はい[ 11 ]
ベースXBaseXチーム BSDライセンスJavaXQueryXML、JSON、バイナリ形式のサポート、クライアント/サーバーベースのアーキテクチャ、同時構造検索と全文検索および更新。 はい
キャッシュインターシステムズ株式会社 独自のJavaC#Node.js健康、ビジネス、政府のアプリケーションでよく使用されます。 はい
雲母クラウドアント株式会社 独自のErlangJavaScalaCApacheが支援するCouchDBプロジェクトのオープンソースフォークであるBigCouchをベースにした分散データベースサービス。JSONモデルを使用します。 はい
クラスターポイントデータベースクラスターポイント株式会社 無料でダウンロードできる 独自のJavaScriptSQLPHPC#JavaPythonNode.jsCC++ACID準拠のトランザクション高可用性データ レプリケーションおよびシャーディング、関連性ランキングを備えた組み込みの全文検索エンジン、JS/SQLクエリ言語GISを備えた分散ドキュメント指向 XML/JSON データベース プラットフォーム。サービスとしての従量課金制データベースとして、またはオンプレミスの無料ソフトウェア ダウンロードとしてご利用いただけます。 はい
カウチベースサーバーカウチベース株式会社ApacheライセンスCC#JavaPythonNode.jsPHPSQLGoSpring FrameworkLINQ分散型 NoSQL ドキュメント データベース、JSON モデル、および SQL ベースのクエリ言語。 はい[ 12 ]
カウチDBApacheソフトウェア財団ApacheライセンスHTTPリクエストを送信できる言語 REST/HTTP経由のJSON。マルチバージョン同時実行制御と限定的なACID特性を備えています。ビューとクエリにはmapreduceを使用します。[ 13 ]はい[ 14 ]
クレートDBCrate.io株式会社 Apacheライセンスジャワ使い慣れたSQL構文を使用して、クラスター全体にわたるリアルタイム分散クエリを実行できます。バイナリオブジェクト(BLOB)のサポートが組み込まれたLucene / Elasticsearchエコシステムをベースとしています。 はい[ 15 ]
コスモスDBマイクロソフト 独自のC#JavaPythonNode.jsJavaScriptSQLMicrosoft Azureプラットフォームの一部である Platform-as-a-Service (PaaS) です。従来の Azure DocumentDB を基盤として拡張されています。 はい
ドキュメントDBアマゾンウェブサービス独自のオンラインサービス 各種、REST完全に管理されたMongoDB v3.6互換データベースサービス はい
ダイナモDBアマゾンウェブサービス独自のJavaJavaScriptNode.jsGoC# .NETPerlPHPPythonRubyRustHaskellErlangDjangoGrailsキーバリュー型およびドキュメント型データ構造 をサポートする、完全に管理された独自のNoSQLデータベースサービスはい
エラスティックサーチシェイ・バノンServer Side Public Licenseと Elastic License の二重ライセンスです。ジャワJSON、検索エンジン。 はい
存在する存在する LGPLXQueryJavaXML over REST/HTTP、WebDAV、Lucene 全文検索、バイナリデータのサポート、検証、バージョン管理、クラスタリング、トリガー、URL 書き換え、コレクション、ACLS、XQuery 更新 はい[ 16 ]
インフォミックスIBM 独自版、無料版あり[ 17 ]各種(MongoDB APIと互換性あり) JSON、レプリケーション、シャーディング、ACID 準拠を備えた RDBMS。 はい
ジャックラビットアパッチ財団 ApacheライセンスジャワJavaコンテンツリポジトリの実装 ?
HCL ノート( HCL ドミノ) 塩酸独自のLotusScriptJava、Notes 式言語 マルチバリューはい
マークロジックマークロジックコーポレーション 開発者向け無料ダウンロード付きの 独自仕様JavaJavaScriptNode.jsXQuerySPARQLXSLTC++JSON、XML、RDFトリプルに対応した分散ドキュメント指向データベース。フルテキスト検索ACIDトランザクション、高可用性災害復旧、認定セキュリティ を内蔵。はい
モンゴDBMongoDB株式会社 DBMSにはサーバーサイドパブリックライセンス、クライアントドライバにはApache 2ライセンス[ 18 ]CC++C#JavaPerlPHPPythonGoNode.jsRubyRust[ 19 ] Scala [ 20 ]レプリケーションとシャーディング、BSONストア (バイナリ形式JSON ) を備えたドキュメント データベース。 はい[ 21 ] [ 22 ]
MUMPSデータベース ? プロプライエタリAGPL [ 23 ]おたふく風邪健康アプリケーションでよく使用されます。 ?
オブジェクトデータベース++Ekkyソフトウェア 独自のC++C#TScriptバイナリネイティブC++クラス構造 ?
オープンリンク ヴァーチュオーソオープンリンクソフトウェア GPLv2プロプライエタリC++C#JavaSPARQLミドルウェアデータベースエンジンのハイブリッド はい
オリエントDBオリエントテクノロジーズ ApacheライセンスジャワJSON over HTTP、SQL サポート、ACIDトランザクション はい
Oracle NoSQLデータベースオラクル社 Apacheライセンス独自ライセンスC、C#、Java、Python、node.js、Go シェアードナッシング(共有なし)で水平スケーラブルなデータベース。スキーマレスJSON、固定スキーマテーブル、キー/バリューペアをサポートします。ACIDトランザクションもサポートします。 はい
クイズクアルコム独自のRESTJavaXQueryXSLTCC++Python統合されたフルテキスト検索、 JSON、テキスト、バイナリ のサポートを備えた分散ドキュメント指向XML データベース。はい
レイヴンDBレイヴンDB株式会社 AGPL、商用、無料 C#C++JavaNodeJSPythonRubyPHPGoRavenDBは、RavenDB Ltd.が開発したC#で書かれたオープンソースのドキュメント指向のクロスプラットフォームデータベースです。Windows 、LinuxMac OSAWSAzureGCPでサポートされていますはい
RedisJSONレディスRedis ソース利用可能ライセンス (RSAL) パイソン全文検索機能を統合したJSON[ 24 ]はい
DBを再考する? Apacheライセンス[ 25 ]C++PythonJavaScriptRubyJavaレプリケーションとシャーディングを備えた分散ドキュメント指向JSONデータベース。 いいえ
SAP ハナSAP独自のSQLのような言語 ACIDトランザクションをサポート、JSONのみ はい
セドナセドナ ApacheライセンスC++XQueryXMLデータベースいいえ
シンプルDBアマゾンウェブサービス独自のオンラインサービス アーラン?
アパッチソルApacheソフトウェア財団Apacheライセンス[ 26 ]ジャワJSONCSVXML、その他いくつかの形式。[ 27 ]検索エンジン。 はい[ 28 ]
ターミナスDBターミナスDB ApacheライセンスPythonNode.js、JavaScript データベースシステムは、1つのデータベースコアと統合されたデータログベースのクエリ言語WOQL(Web Object Query Language)を使用して、ドキュメントストアとグラフデータモデルをサポートしています。 [ 29 ]はい

XMLデータベース実装

ほとんどの XML データベースはドキュメント指向データベースです。

参照

注記

  1. ^ドキュメント指向システムとキーバリューシステムは、運用上、頻繁に交換可能です。
  2. ^そして、一般的なキーバリューストア。

参考文献

  1. ^ Drake, Mark (2019年8月9日). 「NoSQLデータベース管理システムとモデルの比較」 . DigitalOcean . 2019年8月13日時点のオリジナルよりアーカイブ。 2019年8月23日閲覧ドキュメント指向データベース、またはドキュメントストアは、データをドキュメントの形式で保存するNoSQLデータベースです。ドキュメントストアはキーバリューストアの一種で、各ドキュメントには一意の識別子(キー)があり、ドキュメント自体が値として機能します。
  2. ^ 「データベース モデル カテゴリ別の DB-Engines ランキング」
  3. ^ a b c Davoudian, Ali; Chen, Liu; Liu, Mengchi (2019-03-31). 「NoSQLストアに関する調査」 . ACM Computing Surveys . 51 (2): 1– 43. doi : 10.1145/3158661 . ISSN 0360-0300 . 2025年5月31日閲覧 
  4. ^ a bコルベリーニ、アレハンドロ;マテオス、クリスティアン。ズニーノ、アレハンドロ。ゴドイ、ダニエラ。スキアフィーノ、シルビア (2017-01-01)。「ビッグデータの永続化: NoSQL の状況」情報システム63 : 1–23 .土井: 10.1016/j.is.2016.07.009hdl : 11336/58462ISSN 0306-4379 2025 年 5 月 25 日に取得 
  5. ^ Truică, Ciprian-Octavian; Apostol, Elena-Simona; Darmont, Jérôme; Pedersen, Torben Bach (2021). 「忘れ去られたドキュメント指向データベース管理システム:ネイティブXML DODBMSの概要とベンチマーク、JSON DODBMSとの比較」ビッグデータ研究25 100205. arXiv : 2102.02246 . doi : 10.1016 /j.bdr.2021.100205 . ISSN 2214-5796 . 2025年6月2日閲覧 
  6. ^ 「データベース正規化の基礎の説明」。Microsoft 2023年7月14日。
  7. ^ Wambler, Scott (2023年3月22日). 「オブジェクトとリレーショナルのインピーダンスミスマッチ」 Agile Data .
  8. ^ 「ドキュメント | Aerospike - Key-Value Store」 . docs.aerospike.com . 2021年5月3日閲覧
  9. ^ "Documentation | Aerospike" . docs.aerospike.com . 2021年5月3日閲覧
  10. ^ 「AllegroGraph の HTTP プロトコル」
  11. ^マルチモデル高可用性NoSQLデータベース」ArangoDB
  12. ^ドキュメントは2012年8月20日にWayback Machineアーカイブされています。Couchbase。2013年9月18日閲覧。
  13. ^ "Apache CouchDB" . Apache Couchdb . 2011年10月20日時点のオリジナルよりアーカイブ
  14. ^ 「HTTP_Document_API - Couchdb Wiki」2013年3月1日時点のオリジナルよりアーカイブ2011年10月14日閲覧。
  15. ^ 「Crate SQL HTTP Endpoint(アーカイブコピー)」 。 2015年6月22日時点のオリジナルよりアーカイブ2015年6月22日閲覧。
  16. ^ eXist-db オープンソースネイティブXMLデータベース. Exist-db.org. 2013年9月18日閲覧。
  17. ^ 「Informixバージョン12のエディションを比較する」 IBM 2016年7月22日。
  18. ^ 「MongoDB ライセンス」
  19. ^ 「新しいMongoDB Rustドライバー」 MongoDB 2018年2月1日閲覧
  20. ^ 「コミュニティでサポートされているドライバーリファレンス」
  21. ^ 「HTTPインターフェース - MongoDBエコシステム」。MongoDBドキュメント
  22. ^ 「MongoDBエコシステムドキュメント」 . GitHub . 2019年6月27日.
  23. ^ 「GT.M ハイエンドTPデータベースエンジン」。2023年9月26日。
  24. ^ 「RedisJSON - Redis 用の JSON データ型」
  25. ^ 「The Linux Foundationに著作権を譲渡し、RethinkDBをASLv2の下で再ライセンス」 github.com 20201月27日閲覧
  26. ^ "solr/LICENSE.txt at main · apache/solr · GitHub" . github.com ". 2022年12月24日閲覧
  27. ^ 「レスポンスライター::Apache Solrリファレンスガイド」 . solr.apache.org . 2022年12月24日閲覧
  28. ^ 「マネージドリソース::Apache Solrリファレンスガイド」 . solr.apache.org . 2022年12月24日閲覧
  29. ^ 「TerminusDBとオープンソースのインメモリドキュメント指向グラフデータベース」 terminusdb.com . 2023年8月9日閲覧

さらに読む