5

サーバーから txt ファイルを読み取り (PHP-mysql を使用)、それを mysql データベースに保存するサイトを作成しています (load in file クエリを使用)。これは一時データベースであり、このデータは ID やコードなどの追加情報とともに他のデータベースに移動されます。一時データベースは空になり、別の txt ファイルでダンプされます。

追加情報を含むデータベースは、より速いペースで成長しています。

テキスト ファイルは継続的に作成され、データベースは 1 日で 200 万レコードのように増加しています。おおよそ平均して約 15 ~ 20 個のファイルがあり、任意の時間間隔で発生します。ファイルが来ない特定の時間はありません。

グループごとのクエリを実行し、(追加情報を含むデータベース) のデータを 700 万レコードから約 47k に縮小し、レポート生成用に他のデータベースに保存します。このデータ (47K) は 4 日間 (レポート データベース) であり、レポート用です。そのため、月末には ID を含むメイン データベースのコードが 7,000 万レコードに増加する可能性があります。

日単位、週単位、月単位でテーブルから同時にレポートを生成する必要があります。

データベースはより速い速度で成長しているため、たとえば 1 月から 4 月までのレポートが必要な場合など、1 か月後にレポートを処理する方法..

膨大な速度で成長している同じテーブルで読み取り/書き込みが行われているため、そのシナリオをどのように処理するか。

4

1 に答える 1

1

データで何が起こっているのかを本当に知らなくても、txtファイルからデータベースに読み込むことはあまり意味がありません...それをマッサージして他のリンクコードを追加してから、txtファイルに再ダンプしますデータベースから除外するだけです。データベースに残します。

レコードが追加される速度 (ディスク容量も) は?

どのタイプのレポートが生成されていますか? 統計ですか? 一般集計?

一般的な集計だけの場合は、ロールアップされた数値のカテゴリ、分類などを含む別のテーブルをデータベースに保持します。その後、ダンプしたすべてのテキスト ファイルを再インポートする代わりに、そこからレポートを実行できます。時間単位 (または日単位) のような「要約」表を作成すると、レポート プロセスを簡単に簡素化できます。

データのサンプリングと予想されるレポート出力がなければ、単一のアプローチを固めるのは難しいでしょう。

---- コメントごとのフィードバック

過去に通話データ レコード (CDR) 情報を扱ったことがありますが、そこにもたくさんのがらくたがあります。私が重要だと考えるものの全体的な記録はかなり限られています。また、電話会社の 1 日の通話数は数百万件にすぎず、それらを追跡する必要があると、データベースのディスク容量が過負荷になる可能性があるため、何らかのアーカイブ プロセスは理にかなっていますが、一般的なロールアップはそれほど多くありません。すべての発信番号と宛先番号を呼び出した回数を追跡していたとしても...または異なる発信番号からの共通の宛先番号がいくつロールアップされ、全体的なレポート統計が制限される可能性があります.

--- 例: 政府が通話を追跡していない場合 (いいえ... 彼らはそうしている???)、何人の人が X さんに電話をかけているのか、X さんも何人電話をかけているのかを知りたいと思うかもしれません。懸念は、通信の両方向にあります。パターンが特定され、アラームがスローされると、出力テキスト ファイルが作成された後にダンプされない別の追跡テーブルにレコードを集中して保持できます...いいえ、私は政府やそのような機関で働いていません誰がこれを行うかもしれません。

-- 何を保持するか 保持しようとしている情報のタイプについて提案することしかできません... PBX システム、幹線の発信元、内線番号を気にしますか? 最初に必要な重要な要素を保持し、すべての記録保持ベースから役に立たない情報を取り除くことから始めます.

Origination Calling Number/Extension
Destination Number
International Country being called
Call Time Start
Call Duration

PBX システムと Call-Data-Records を扱ってから 10 年以上になりますが、これらがデータの共通のコアであることはわかっています。CDR のレイアウトによっては、呼び出される番号を標準化する必要がある場合があります。あるシステムが 1 つの完全な電話番号として保存し、別のシステムが国際電話のプレフィックス用に別々に保存する場合、ダイヤルの一致は見つかりません。

555-1234 対 +014 555-1234

偽の電話番号が合法的でないことはわかっていますが、私の発信元がどこにあるのかはご理解いただけると思います。

于 2013-05-30T11:55:31.320 に答える