1

私は最初の JSON-RPC/JSON-REST API に取り組んでいます。JSON の便利さの 1 つは、構造化されたデータを簡単に表すことができることです (ユーザーは複数の電子メール アドレスや複数のアドレスを持っている場合があります)。

たとえば、Facebook Graph API は、JSON オブジェクトとして返すのに便利な種類のものをうまく表しています :

ただし、このような API をリレーショナル データベースに実装すると、構造化されたオブジェクトを非常に多くのテーブル (JSON オブジェクトの各リストに対して少なくとも 1 つ) に分割し、要求に応答するときに分割を解除することになります。そう:

  • 多くのモデリングが必要です (JSON オブジェクトと SQL テーブルの個別のモデル)。
  • モデル間に不整合が忍び寄る: たとえば、user_id (SQL の場合) と userID (JSON の場合)
  • あるモデルと別のモデルの間でマーシャリングを行うのは非常に時間がかかります (面倒で、エラーが発生しやすく、無意味なボイラープレートです)。

この状況で役立つ設計パターンは何ですか?

4

1 に答える 1

1

デザインパターンを探しているかどうかわかりません。これをより適切に処理するツールを探します。

これらのオブジェクトを TEXT フィールドに格納するだけでなく、クエリを実行できるようにしたいと考えています。多くのデータベースは XML を十分にサポートしているため、JSON を (ライブラリを使用して) XML に変換し、それをデータベースに格納します。

また、JSON ドキュメント ベースのデータベースを検討することもできます。それはあなたが行きたい場所に確実にあなたを連れて行きます。

これらをクエリできる必要がない場合、または非常に小さなフィールドのサブセットのみをクエリする必要がある場合は、オブジェクトをテキストとして保存し、それらのクエリ可能なフィールドを実際の列に抽出します。この方法では、データの大部分に触れる必要はありませんが、関心のあるいくつかのフィールドを照会することはできます。(さらに、検索を高速化するためにそれらにインデックスを付けることができます。)

于 2013-07-09T22:48:11.400 に答える