3

保存する必要がある大量のデータがあり、レポートを生成できる必要があります。それぞれが Web サイト上のイベントを表しています (1 秒あたり 50 以上のデータがあるため、明らかに古いデータを集計する必要があります)。

私はこれを実装するためのアプローチを評価しています。明らかに、信頼性が高く、可能な限り簡単にスケーリングできる必要があります。また、柔軟かつ効率的な方法でデータからレポートを生成できる必要があります。

一部の SO 担当者がそのようなソフトウェアの経験を持ち、推奨事項を作成したり、落とし穴を指摘したりできることを願っています。

理想的には、これを EC2 にデプロイしたいと考えています。

4

4 に答える 4

4

わお。あなたは大きな話題を切り開いています。

頭のてっぺんからいくつかのことが...

  1. トランザクション部分での挿入とレポート部分での読み取りのスキーマについて慎重に検討してください。非常に大量のデータがある場合は、それらを分離しておくことをお勧めします。
  2. トランザクションに関するリアルタイムのレポートと、履歴データに関する集約されたレポートとの間で許容できる遅延を慎重に検討してください。おそらく、定期的に実行してトランザクションを集計するプロセスが必要です。
  3. 同じレポートで、またはあるレポートから別のレポートへのドリルダウンとして、取引データと集計データ全体をレポートする要件を注意深く調べてください。
  4. いくつかの意味のあるクエリといくつかの現実的なデータ ボリュームを使用してプロトタイプを作成する
  5. Oracle / MSSQLなど、実際の製品品質のエンタープライズ対応データベースを手に入れましょう
  6. Crystal/BO / Cognosなど、他の誰かのコード/製品をレポートに使用することを検討してください。

私が言うように、巨大なトピック。もっと考えたら、リストに追加し続けます。

HTHと幸運

于 2008-10-31T22:44:27.023 に答える
1

ここでの回答はいずれもHadoopとHDFSをカバーしていないことに驚いています。これは、SOがプログラマーの質問であり、あなたの質問が実際にはデータサイエンスの質問であるためです。

多数のクエリと長い処理時間を処理する場合は、HDFS(ECの分散ストレージ形式)を使用してデータを保存し、コモディティハードウェアでバッチクエリ(つまり分析)を実行します。

次に、必要な数のEC2インスタンスをプロビジョニングし(データ処理要件の大きさに応じて数百または数千)、マップを実行してデータに対するクエリを減らし、レポートを作成します。

于 2013-01-13T14:12:23.087 に答える
1

@ Simonは多くの優れた点を指摘してくれました。

  1. タイムスタンプに正しいデータ型を使用してください - DBMS が適切な精度を持っていることを確認してください。
  2. 複数のスレッド/プロセスがイベントの実際のストレージを処理できるように、イベントのキャプチャをキューに入れることを検討してください。
  3. トランザクション ウェアハウスとデータ ウェアハウスのスキーマを分離する
  4. トランザクション データベースからデータ ウェアハウスへの定期的な ETL を真剣に検討してください。
  5. おそらく、24 時間 365 日 1 秒あたり 50 トランザクションにはならないことを覚えておいてください- ピーク トランザクションと平均トランザクション
  6. DBMS のパーティションテーブルを調査します。Oracle と MSSQL は両方とも、値 (日付/時刻など) で分割されます。
  7. 最初からアーカイブ/データ保持ポリシーを用意してください。あまりにも多くのプロジェクトが、データを削除/アーカイブする計画を立てずにデータの記録を開始しています。
于 2008-11-01T01:37:43.040 に答える
0

うわー..これは大きなトピックです。

データベースから始めましょう。あなたがデータに狂った量を持っているつもりなら、最初に何か良いものを手に入れてください。OracleとTeradataが好きです。

第二に、トランザクションデータの記録とレポート/分析の間には決定的な違いがあります。トランザクションデータを1つの領域に配置し、定期的にレポート領域(スキーマ)にロールアップします。

この2つの方法でアプローチできると思います

  • 問題にお金を投じる:クラス最高のソフトウェア(データベース、レポート作成ソフトウェア)を購入し、数人の巧みな技術者を雇って支援します

  • 自家製のアプローチを取る:今必要なものだけを構築し、すべてを有機的に成長させます。単純なデータベースから始めて、Webレポートフレームワークを構築します。この作業を行う多くの降下オープンソースツールと安価なエージェンシーがあります。

EC2アプローチに関する限り、これがデータストレージ戦略にどのように適合するかはわかりません。EC2が強いところで処理が制限されます。あなたの主な目標は、効率的な保管と回収です。

于 2009-02-11T14:20:44.583 に答える