私の Ruby On Rails アプリでは、ドキュメントごとに約 300x300 要素 (float 値、ほとんどが異なる) の (相対的な) 大きな行列を格納する必要があります。ドキュメントを取得するたびに、カスタム計算のために完全なマトリックスをロードする必要があります。マトリックスも頻繁に更新されます (そのため、書き込みパフォーマンスとメモリ キャッシュも問題になります)。
そのような行列を格納する良い方法は何ですか (パフォーマンスに関して)? 私の頭に浮かぶいくつかの選択肢:
row
、column
およびの列を含むテーブルvalue
。しかし、マトリックス全体 (約 90000 セル) を取得して保存することは、すべての要求に対して行うのは良い考えではないと思います (一部のメモリ キャッシュが役立ちます)。- シリアル化された行列をテキスト フィールド/列に格納します。パフォーマンスの観点から、1. と比較してどう思いますか?
- いくつかのドキュメント データベース (Mongo など) を使用し、マトリックス全体をドキュメントの 1 つのフィールド内に格納します (2. と比較して利点がどこにあるかはわかりません)。