2

私は新しいプロジェクトを始めるつもりです。.NET アプリケーションで数百ギガのデータを処理する必要があります。このプロジェクトについて詳細を説明するのは、まだ非常に早い段階です。概要は次のとおりです。

  1. 同じテーブルに対する大量の書き込みと大量の読み取り、非常にリアルタイム
  2. クライアントはデータベース サーバーの拡張を非常に頻繁に要求するため、スケーリングは非常に重要です。
  3. 予測すると、集計クエリに関して非常に多くの使用が実装される可能性があります
  4. データの各行には、処理する属性が多数含まれる場合があります

私は解決策として以下を提案/しています:

  1. 永続性の分散ハッシュ テーブルの並べ替えを使用します (S3 ではなく社内のもの)。
  2. ノード間の分析プロセスには、Hadoop/Hive ライク (.NET の代替品はありますか?) を使用します。
  3. ASP.NET/Silverlight での GUI の実装 (必要に応じて多数の ajax 化を使用)

皆さんはどう思いますか?私はここで何か意味がありますか?

4

5 に答える 5

2

「予見すると、集計クエリに関して非常に多くの使用法が実装される可能性があります」

これは、データ ウェアハウスの特徴です。

これが DW 処理のトリックです。

  1. データはフラットです。事実と次元。ほとんどがロードされ、更新されないため、最小限の構造です。

  2. 集計を行うには、すべてのクエリが単純である必要がありますSELECT SUM() or COUNT() FROM fact JOIN dimension GROUP BY dimension attribute。すべてのクエリがこの形式になるようにこれを適切に行うと、パフォーマンスが非常に向上します。

  3. データは、集計するまでフラット ファイルに保存できます。次に、人々が実際に使用する予定のデータをロードし、データのマスター セットから「データマート」を作成します。

単純なフラット ファイルほど高速なものはありません。集計とレポート作成のために (必要に応じて) RDBMS データマートに読み込まれる数テラバイトのフラット ファイルを処理するために複雑なことは必要ありません。

RDBMS のツールを使用すると、単純なディメンション テーブルとファクト テーブルの単純な一括読み込みを非常に高速に実行できます。

超高速のフラット ファイル処理を使用して、すべての PK と FK を簡単に事前に割り当てることができます。これにより、一括読み込みがさらに簡単になります。

Ralph Kimball の Data Warehouse Toolkit ブックを入手してください。

于 2009-07-31T11:41:58.787 に答える
1

最新のデータベースは、ギガバイトで非常にうまく機能します。RDBMS が機能しなくなる傾向があるのは、テラバイトやペタバイトになったときです。そのような負荷が予想される場合は、HBase や Cassandra などを医師が注文したものである可能性があります。そうでない場合は、データベースの調整、キャッシング レイヤーの挿入 (memaced) などに十分な時間を費やしてください。

于 2009-08-02T20:25:59.333 に答える
0

「同じテーブルに対する大量の読み取りと書き込み、非常にリアルタイム」 - 整合性は重要ですか? それらの書き込みのいくつかはトランザクションですか? その場合は、RDBMS を使用してください。

スケーリングは難しい場合がありますが、クラウド コンピューティングを使用する必要があるという意味ではありません。DBMS でのレプリケーションは、通常、Web アプリケーション クラスター、ロード バランサーなどと共に、うまく機能します。

于 2009-07-31T18:55:50.447 に答える
0

整合性を維持する責任を RDBMS に与えます。そして、このプロジェクトをデータ ウェアハウスであるかのように扱います。すべてをクリーンに保ちます。多くのサードパーティ製ツールを使用する必要はありません。代わりに RDBMS ツールを使用してください。つまり、RDBMS が持つすべてのツールを使用し、適切に設計された物理データ モデル (インデックス、パーティションなど) の適切に作成されたストアド プロシージャを使用して、Db からすべてのデータを抽出する GUI を作成します。

Teradata は大量のデータを処理でき、スケーラブルです。

于 2011-04-04T17:25:17.230 に答える