リレーショナルデータベースとドキュメントデータベースでタグ付けシステムを設定するためのアドバイスをいくつか見つけましたが、グラフ/マルチモデル データベースについては何も見つかりませんでした。
ArangoDB でドキュメント (「記事」と呼びましょう) のタグ付けシステムをセットアップしようとしています。Arango のようなマルチモデル (グラフ + ドキュメント) データベースにタグを格納するには、次の 2 つの明白な方法が考えられます。
- 各記事ドキュメント内の配列として (ドキュメント データベース スタイル)
- 各タグが一意のドキュメントであり、タグ ドキュメントを記事ドキュメントに接続するエッジを持つ個別のドキュメント クラスとして (リレーショナル データベース スタイルに近いもの)
実際、これらはこれを行うための2つの主な方法ですか? どちらも理想的ではないようです。例えば:
- 各記事ドキュメント内にタグを保存している場合、タグにインデックスを付けることができ、おそらく ArangoDB が使用するスペースを最適化しています。ただし、グラフ機能を使用してタグをリンクまたはトラバースすることはできません (または、個別に行う必要があります)。
- タグを個別のタグ ドキュメントとして保存している場合、ドキュメントのタグのリストを取得したいだけの場合、余分なオーバーヘッド (余分なクエリ) のように思えます。
これは明確な質問につながります: 後者のオプションに関して、接続された「タグ」ドキュメントを記事ドキュメント内に自動的に表示させる簡単な方法はありますか? tag.name
たとえば、接続されたタグ ドキュメントのプロパティを何らかの方法で「ミラーリング」した配列プロパティがありますか?
一般的なアドバイスも大歓迎です。