だから、私は次の問題があります:
私はいくつかの時系列分析を行っており、10 ^ 7 のアイデンティティまたは ID (たとえば、国の各携帯電話) のようなモデルを持っています。
各 Id には関連付けられたイベント (たとえば、日) があり、最大 10^4 のイベントにまたがることができます。イベントと ID ごとに、異なる「属性」があります (たとえば、その日 Y に電話 X から送信されたメッセージの数)。
このような量の情報を処理するための mysql データベースを設計しようとしています。私は主に時間分布のクエリを実行することに関心があります (たとえば、その特定の日のメッセージ数、または X 日と Y 日の間のアクティブな電話の数)。
最初は、異なる値ごとにテーブルを使用していました。各テーブルでは、行が ID であり、各列が 1 日です。N 個の異なる属性がある場合、N 個の異なるテーブルを持つことになります。これにより、各テーブルに 10^4 列が存在するという問題が生じます。それが良い/標準的/効率的な慣行であるかどうかはわかりません。
2 つ目は、10^7*10^4 行 (いわゆる多対多の関係) を持つ 1 つのテーブルを 1 つ持つことでした。次の列は、その特定の日にその ID に関連付けられた属性です。
「歴史的な理由から」私はすでに mysql 以外のデータベースを作成しており (大量の .txt ファイルを使用)、それを移行しようとする前に、それが本当に価値があるかどうかを知りたいと思っています。ご存じかもしれませんが、現在、私の *.txt データベースのクエリは可能な限りコストがかかる可能性があります。通常、クエリに対してすべての .txt do を開く必要があります。これは、クエリごとに 10 ~ 30m 程度に変換されます。したがって、その制限を下回る提案は、実際には私の問題に非常に役立ちます。
時間をありがとう、ホルヘ