2010-12-04 14 views
0

こんにちは友だち
私は平均3KBのデータベースに何千ものテキストファイルを格納するアプリケーションを持っています。 と、より頻繁に検索した彼らに関する簡単な情報を格納する別のテーブル。 140,000レコードでは、データベースパフォーマンスが非常に遅くなります。DBストレージまたはファイルベースの決定に専門家のコメントが必要

私は、データベースのサイズは約80%削減、ディスク上のこれらのファイルを保存することができると考えました。これらのファイルは、表示(ファイルの内容と表示の読み取り)の目的でのみ格納されますが、データベース操作では格納されません。私のウェブサイトは約1000人のユーザーを抱えています。ディスク上にこれらのファイルを格納すると、ディスクI/O操作が増え、異なるセッションでファイルを読み取るとI/Oが増えることがあります。 1つのスレッドでのみファイルを読み取ることはできません)

関連のある人はいますか?
この決定をしてください。 ありがとうございました

+0

現在のデータベースの設定は何ですか?これは、サーバー、ワークステーション、または「通常の」コンピュータで実行されていますか? – Agos

+0

DBを最適化する必要があります。 140Kのレコードはそれほどではありません。 – Oded

+0

実稼働アプリケーションを最初にプロファイルして、実際にデータベース、ネットワーク待ち時間、またはそれに接続しているアプリケーションかどうかを確認することができます。 – odez213

答えて

1

私は文字通りあなたのコメントPlease make this decision for me. THANKS THANKSがかかります。

  • におけるメモリの少なくとも8ギグDBサーバ(より良いSQLキャッシュ)

    設定ミラーなどの2枚のディスクと 場所ミラー上の アプリケーションDBのログファイルをインストールします。レイド10でRAID 10と 場所デシベルないよう 湿布このディスク(速いログファイルの書き込み)

    設定4ディスクがすればいいではない 湿布このディスク(RAID 5よりも優れた読み取り性能)

    単一のディスクを というtempDBの場所として構成します。 このディスクを圧縮する(tempDBの分離アクティビティ)

    サーバー上でSQL Serverのみを実行します。

    索引が正しくあることを確認して、インデックスの動的管理ビュー を調べてください。

    は、あなたのDBはDBとインデックスの断片化

    エキスを削減し、データベースから「テキスト」 の各ファイルをリロードする保守計画 を持っていることを確認してください。 の前に、あなたの のツールでファイルを圧縮(zip) ファイルを読み込みます。 "text"ファイルを varbinaryデータ型に格納します。ファイルを解凍する アプリケーションを設定

    ベンチマークユーザーの 数がわかっている、あなたのアプリケーションと

    を比較検索(SQLは、「テキスト」およびネットワーククライアントへのIOを格納するためのディスクIOを減らす)を表示する前にあなたのベンチマークは実際に の値をクライアントの使用中に

    モニタのディスク待機、ネットワークIOと定期的なベースで メモリ。

まだパフォーマンスが悪い場合は、システムを評価するSQL DBAに依頼してください。私はこのサイトのperformanceDBAは契約ビジネスにあると信じています。

2

多くの情報がありますが、パフォーマンスの問題がどこから生じているかをより深く見てみることをお勧めします。クエリが効率的かどうか、クエリをサポートするインデックスがあるかどうか。

ファイルをデータベースに格納することに関しては、興味深いです。私は個人的な意見を述べることができます。これは、原則として、ファイルをディスクに保存し、ファイルへの参照を格納するだけです。データベース内のパス。しかし、ここでは多くの長所/短所を考慮する必要があります。その1つは、バックアップがデータベースのバックアップ以上のスパンになる必要があることです。

+0

あなたの意見をお寄せいただき、ありがとうございます。私はあなたに同意しますが、私は重いディスクIO(バックアップは私の主な関心事ではありません)を恐れています。あなたはこれについて本当の体験をしていますか? – Ehsan

+0

私は検索のためにLuceneを使用しています。その結果から私はレコードを取得するために(PKフィールド上で)データベースに対するクエリです。索引付けも複雑なクエリも含まれていません。私のLuceneエンジンは80ms未満で検索しますが、結果はゆっくりと取得されます – Ehsan

+0

@エサン、私はLuceneとの経験がありませんが、データベースから参照される大量の文書を保存する経験があります。私の場合、文書は大きな文書であり、データベース外の専用ストレージに問題なく保管されます。 –

関連する問題