2017-06-25 5 views
1

最高のパフォーマンスとスケーラビリティを得るためにJSONデータをどのように保存すべきかと思います。JSONFieldまたはFileFieldを使用してJSONデータを保存する必要がありますか?

私は2つのオプションがあります。

  1. 最初のものはJSONFieldを使用することです、私はする必要はありませんので、それはパフォーマンスと件のデータを扱うに来るときおそらく簡潔に私の利点を提供していますそれらを毎回ファイルから取り出してください。

  2. 私の2番目の選択肢は、FileFieldsにJSONファイルとしてJSONデータを保存することです。これは、JSONの膨大な量がDataBase(ファイルの場所のみ)に格納されないため、最良の選択肢と思われます。私の意見ではスケーラビリティのための最良の選択ですが、ファイルをテンプレートに表示する前に毎回ファイルを読み込まなければならないため、ユーザのパフォーマンスには最適ではないかもしれません。

私は彼らがそれをデータベース&スケーラビリティに複雑にすることなく可能な限り高速に再利用できるようにするために店舗JSON件のデータの間の最良の方法は何だ、私は合理的に考えているかどうかを知りたいですか?

答えて

1

Jsonフィールドは、インデックス作成のためにパフォーマンスが優れていることは明らかです。その非常に良い機能は、ネイティブデータアクセス機能です。つまり、jsonを解析してからクエリを読み込む必要はなく、モデルフィールドから直接クエリすることができます。今ではあなたは巨大なjsonデータを持っているので、ファイルはモデルフィールドよりも良い選択肢ですが、ファイルは記憶域の利点しか持っていないようです。 Google検索からのいくつかのランダムな記事からの引用 :JSONフィールドに268メガバイトのファイルのテストは、233メガバイト(フォーマットされたJSONファイル)

あるので

PostgresのJSONフィールドは、ファイルシステム上のJSONファイルよりも、ほぼ11%の余分なデータをとります

ファイルに保存するには、jsonを解析してファイルを読み込むことと、ディスクベースの操作であるため時間がかかるクエリが含まれていることがあります。 Scalebilityはjsonフィールドの問題ではありませんが、データベースのサイズが大きくなるため、データの移動が難しくなる可能性があります。

データベース容量の不足がなければ、jsonfieldを選択する必要があります。

関連する問題