いつ、どのように店極めて大量のトラフィックデータを簡単に検索?

StackOverflow https://stackoverflow.com/questions/2343754

  •  23-09-2019
  •  | 
  •  

質問

交通会計システムで大量のデータセットインターネットの送信されるパケットを通じてクラウドのゲートウェイ-ルータ(タイムスタンプは、ユーザidの先またはソースipのバイト数。

このデータを保存するためには、少なくとも数日間です。簡単に検索すべきできるように取り組んでいます。

何よりもすることができるのか?いいアイデア:

  • ファイルを作成しユーザ毎日追加毎にデータセットです。

    • 利点:あるんじゃないでしょうか非常に高速で、データページに与えた一貫したファイルのレイアウト。
    • 欠点:なので簡単に見ることが可能で例えばすべてのUDP交通のすべてのユーザー
  • 使用データベース

    • 利点:で非常に盛んになって特定のデータのSQLクエリ。
    • 欠点:なんなのかがある場合データベースエンジンを効率的に扱うテーブルにある何百万もの人々がデータセット
  • このと組み合わせることが可能にアプローチ:の使用はSQLiteデータベースファイルはそれぞれのユーザーです。

    • 利点:この情報を簡単に入手できる一つのユーザー利用のSQLクエリは彼のファイルです。
    • 欠点:って全体の情報だのは難しいものでした。

もし他の誰かが非常に良い考えたんですか?

深く感謝する。

正しい解決策はありません

他のヒント

最初に、 のデータウェアハウスツールキット 先日ご寄付頂いたものです。

やっているデータの倉庫仕事に必要な取り組まなければならないようにデータの倉庫仕事です。きを読む必要はあり、適切なデザインパターンのためこのようなものです。

【ご注意データの倉庫は平均してクレイジーなビッグやや複雑です。このタスキーマ、スマートに取り扱うよう、大量のデータのない更新しました。]

  1. SQLデータベースは遅いのが遅いの良い柔軟な検索を行うのかについて

  2. のファイルシステムです。この恐るべきもの更新がない更新、まだ積しています。

典型的なDWアプローチは、この関係ではないかと思います。

  1. を定義する"スター-スキーマは"データです。に測定可能な事実の属性("寸法"が開かれている。おが登場する#のバイトです。もの(住所、タイムスタンプは、ユーザid等) は寸法のこと。

  2. の元データをマスターの寸法データベースです。この比較的小さい(IPアドレス、ユーザーは、日寸法など) 各寸法まですべての属性がございまいになっています。この成人が常時付加する属性。

  3. "ならではの負荷プロセス"をお録を解決し、寸法、アドレス、ユーザー等) と合併し、元のキーの対策(バイト単位)。この変更も可能で、寸法を新しく追加する場合は、新しいアドレスです。一般的に、読みも行ってルックアップおよび書きも行うことにより、適切にFKの生活の場としていました。

  4. 保存しこれらのファイルを読み込んだときつまみのディスク。これらのファイルな更新しました。かにする。シンプルな表記のように、CSVで簡単にバルク負荷します。

誰かい分析をしdatamart.

選択されたIPアドレスまたはフレームなどについて一覧を取得し、当該事実に関連するマスターの寸法データやバルク負荷、datamart.

すべてのSQLクエリにしたいこマートがあります。多くの質問をすdevolveる SELECT COUNT(*)SELECT SUM(*) 様々な GROUP BYHAVINGWHERE 条項.

私は正しい答えは本当に「データセット」の定義に依存だと思います。あなたがあなたの質問に言及するとして、あなたは、各レコードの情報の個々のセットを格納しています。タイムスタンプ、ユーザID、送信先IP、送信元IP、バイトなどの数..

SQL Serverは、任意の実際の困難もなく、レコードの数百万人の何百ものデータ・ストレージのこのタイプを渡すの完全に可能です。確かにこのタイプのロギングがそれを処理するためにいくつかの良いハードウェアを必要としているが、それはあまりにも複雑ではありません。

私の意見では他のソリューションは非常に硬く、かつ重要な要件である、それの音から報告するつもりされています。

あなたは、読み取りよりもの多くのの多くの書き込み活性を有する例1であるので、

、あなたをブロックしないように、あなたの書き込みをしたい、とあなたはあなたが「合理的に速い」であることを読み取っなくしたいです重要。これは典型的なビジネス・インテリジェンス・ユースケースです。

あなたはおそらく、データベースを使用し、各レコードの合流複雑で、複数の挿入を避けるために、「非正規化」スキーマとしてにデータを保存する必要があります。巨大なログファイルとしてあなたのテーブルを考えます。

(クラッシュした場合には、あなたが最後を失うことができ、彼らはあなたがひどく、ここで気にはならない緩和ACID制約を、提供:

この場合は、「新しいと空想」のNoSQLデータベースのいくつかは、あなたが探しているおそらくあります彼らが持っていないので、あなたのログの行が)、しかし、彼らは各トランザクションでディスクに同期ジャーナルに、挿入するためのより良い実行します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top