状況:当社では、データフィードをデータベースに読み込むプロジェクトに取り組んでいます。これらのデータフィードには、多数のフィールドを含めることができます。これらのフィールドを特定の列と照合します。
現在、約120種類のフィールドがあります。それらはすべて列が必要です。すべての列をフィルタリングして並べ替えることができる必要があります。
問題は、これに最適なデータベース設計がわからないことです。私は仕事にMySQLを使用していますが、提案を受け付けています。現時点では、120列すべてのテーブルを作成することを計画しています。これが、最も自然な方法だからです。
オプション:他のオプションは、キーと値を格納するメタテーブルです。または、ドキュメントベースのデータベースを使用して、可変スキーマにアクセスし、必要に応じてスケーリングできるようにします。
質問: このすべてのデータを保存するための最良の方法は何ですか?行数は最大10万行になる可能性があり、非常に高速に選択、並べ替え、フィルタリングできるストレージが必要です。
更新: 使用法に関する詳細情報。XMLフィードは、このテーブルからライブで生成されます。1時間あたり100〜500のリクエストについて話していますが、これは増え続けるでしょう。フィールドは定期的に変更されることはありませんが、6か月に1回変更される可能性があります。また、データフィードも毎日更新されます。したがって、アイテムが更新されているかどうかを確認し、古いアイテムを削除して新しいアイテムを追加します。