2011-01-04 11 views
4

私はコンテンツソリューションの統合のための技術アーキテクチャーに取り組んでいます。ソリューションプロバイダからのデータは、数百万行まで実行され、3NFに正規化されています。定期的なスケジュール(毎日の可能性が最も高い)で更新され、そのデータは非常に細かいアトミック性のレベルに分割されます。データベースの正規化と迅速な検索

このデータを検索して照会する必要があります。現在の傾向として、正規化されたデータをそのまま残し、そのデータ(OLTPからOLTP)から非正規化データベースを作成します。 「転送」は、生のコピーパワーに加えて必要なビジネスロジックを含むことができ、必要に応じて設定されたスケジュールで実行できる、カスタム作成プログラムです。非正規化されたデータベースは、その後、アトミック性を低減し、キーワードの検索とクエリを効率的に実行できるようにします。私は、正規化されていないデータベースのキーワード作業にLucene .NETを使用してみました。

丘から大声で歌い始める前に、私はこれについての専門家の意見と知覚された「ベストプラクティス」を求めていました。私が提供するデータを考慮して最善の方法を提案した方法ですか?おそらく私は正規化されたデータを検索するために「検索エンジン」を使うことができると示唆されました。これは私を怖がらせたが、質問を提起した。どのような検索エンジンとは?

意見、炎、悪い言語と助ける感謝:)私は正規化された形式で保存されたデータに基づいて、レポートデータベースとデータウェアハウスを構築している

+3

正規化された形式でデータを検索するのに問題はありますか?検索のための非正規化の恩恵を受けることができるデータベースはありますが、私の経験上、人々はパフォーマンスの問題があると考えるのがはるかに早いです。また、どのRDBMSを使用していますか? –

+0

返信Larryに感謝します。これはすべてMS SQLに基づいています。正規化されたデータに対してキーワードベースまたは半複合クエリを実行することは、絶対的な時代を要することを私は保証することができます。文明は早くなりました。 – dooburt

+0

このようにする前に、すべてのインデックス、FKをチェックして、最終的に%プロセッサと%メモリを監視します。私は最近、ここで素敵で無料の診断ツールを見つけました:http://sqlcop.lessthandot.com/ –

答えて

2

。転送プログラム(ETL)にはかなりの作業が含まれています。データフィードについての説明があれば、その作業の一部がフィーダによって実行されている可能性があります。

最近、何百万という行がたくさんありません。レポート指向のビューを既存のデータベースに取り込むことができます。それを試してみてください。

OLAP指向データベースを構築する最大のメリットは、スピードではありません。柔軟性です。 「このレポートが大好きですが、今は月ごとではなく毎週、四半期ごとに見たいと思っています。 "製造業のカテゴリではなくマーケティングのカテゴリでそれを分解できますか?Bam!Done!"等々。

+0

ウォルター、応答に感謝します。 ETLプログラムは、ここでのすべての要素に基づいた私の好むアプローチです。 OLAPデータは、例えば、レポートa、b、c、dの多数の要求とと​​もに、記述した内容を正確に処理することです。私は、正規化されたデータのマテリアライズド・ビューのアイデアを試していましたが、コントロールできない要因があり、そうしたソリューションを実現しにくいものにしていました。 – dooburt

0

共振可能に正規化されたモデル(3NF/BCNF)は、最も多くのシナリオで最も優れた平均性能と最小限の修正量を提供します。それは大きいので、私はそこから始めるだろう。要件が不明瞭であるため、最も賢明な選択肢のようです。

実際には、最も賢明なことは、彼らがもう少し「カリカリ」になるまで、要件の上に行くことになります。)また

、あなたはあなたのデータプロバイダからいくつかの初期の抽出物を手に入れることができればそれを試してみてデータ配信の気持ちを感じることができます(すべての人が1カ国に住んでいるわけではなく、一部の国では他の国よりも多くの人が住んでいるわけではありません) 。これは大きなポイントであり、オプティマイザが適切な判断を下すことが重要です。

それ以外は、私はウォルターの言葉に同意し、彼にも私の投票権を与えました。