Arangodb-multimodel-first-database

提供:Dev Guides
移動先:案内検索

ArangoDB-マルチモデルの最初のデータベース

ArangoDBは、開発者によってネイティブのマルチモデルデータベースとして歓迎されています。 これは、他のNoSQLデータベースとは異なります。 このデータベースでは、データをドキュメント、キー/値のペア、またはグラフとして保存できます。 また、単一の宣言クエリ言語を使用して、データの一部またはすべてにアクセスできます。 さらに、異なるモデルを単一のクエリに組み合わせることができます。 また、そのマルチモデルスタイルにより、3つのデータモデルのいずれかまたはすべてで水平方向にスケーラブルなリーンアプリケーションを作成できます。

レイヤードvs. ネイティブマルチモデルデータベース

このセクションでは、ネイティブと多層マルチモデルデータベースの重要な違いを強調します。

多くのデータベースベンダーは製品を「マルチモデル」と呼んでいますが、キー/値またはドキュメントストアにグラフレイヤーを追加しても、ネイティブマルチモデルとしての資格はありません。

前のセクションで既に述べたように、同じクエリ言語と同じコアであるArangoDBを使用すると、1つのクエリで異なるデータモデルと機能をまとめることができます。 ArangoDBでは、データモデル間の「切り替え」はなく、クエリを実行するためにデータをAからBにシフトすることもありません。 「階層化」アプローチと比較して、ArangoDBのパフォーマンスが向上します。

マルチモーダルデータベースの必要性

[ファウラーの]基本的な考え方を解釈すると、より大きなソフトウェアアーキテクチャの一部である永続層のさまざまな部分にさまざまな適切なデータモデルを使用することの利点がわかります。

これによれば、たとえば、リレーショナルデータベースを使用して、構造化された表形式のデータを永続化できます。非構造化されたオブジェクトのようなデータのドキュメントストア。ハッシュテーブルのキー/値ストア。高度にリンクされた参照データのグラフデータベース。

ただし、このアプローチの従来の実装では、同じプロジェクトで複数のデータベースを使用することになります。 データの一貫性と複製の問題だけでなく、運用上の摩擦(より複雑な展開、より頻繁なアップグレード)につながる可能性があります。

3つのデータモデルのデータを統合した後の次の課題は、データ管理者がドキュメントクエリ、キー/値ルックアップ、グラフィクエリ、任意の組み合わせなどのさまざまなクエリを表現できる共通クエリ言語を考案して実装することです。これらの。

グラフィクエリ*とは、グラフ理論的な考慮事項を含むクエリを意味します。 特に、これらには、エッジから来る特定の接続機能が含まれる場合があります。 たとえば、 *ShortestPath、GraphTraversal 、および Neighbors です。

グラフは、関係のデータモデルとして最適です。 ソーシャルネットワーク、レコメンダーシステムなど、現実の多くの場合、非常に自然なデータモデルはグラフです。 関係をキャプチャし、各エッジと各頂点のラベル情報を保持できます。 さらに、JSONドキュメントは、このタイプの頂点データとエッジデータを格納するのに最適です。

ArangoDB─機能

ArangoDBにはさまざまな注目すべき機能があります。 以下の顕著な特徴を強調します-

  • マルチモデルパラダイム
  • ACIDプロパティ
  • HTTP API

ArangoDBは、すべての一般的なデータベースモデルをサポートしています。 以下は、ArangoDBでサポートされているいくつかのモデルです-

  • 文書モデル
  • キー/値モデル
  • グラフモデル

データベースからデータを取得するには、単一のクエリ言語で十分です。

4つのプロパティ Atomicity、Consistency、Isolation 、および Durability (ACID)は、データベーストランザクションの保証を示します。 ArangoDBはACID準拠のトランザクションをサポートしています。

ArangoDBを使用すると、ブラウザなどのクライアントはHTTP APIを使用してデータベースと対話できます。APIはリソース指向であり、JavaScriptで拡張可能です。