0

現時点で Web 開発プロジェクトが実行可能かどうかを判断しようとしていますが、これまでのところ、提案されたデータベースの合計行数 (3000 万行、5 列、約 3 GB のストレージ) が十分に予算の制限内にあることがわかりました。ストレージ要件の観点からですが、ユーザーがデータベースに対して行う予想される大量のクエリのため、サーバーが適切なパフォーマンスを (予算内で) 提供するために管理する非現実的な負荷が発生するかどうかはわかりません。

このグリッドを使用します (300,000 行のパフォーマンス ベンチマークのライブ デモ - http://demos.telerik.com/aspnet-ajax/grid/examples/performance/linq/defaultcs.aspx )。「製品名」ボックスに検索用語を挿入して Enter キーを押すと、クエリから結果が表示されるまでに 1.6 秒かかります。私(初心者)には、全体で1.6秒かかる300,000行は、3,000万行ではるかに長くかかる必要があるように思われるので、理解しようとしています

  • 行が追加されて 3000 万になると、時間の増加はどうなるでしょうか
  • 検索グリッドを同時に使用する人が 1000 人増えるごとに、時間の増加はどのくらいになるでしょうか。
  • 遅延を許容レベルまで下げるために必要なハードウェア要件

うまくいけば、それを理解できれば、実現可能性についてより現実的な評価を得ることができます. 参考までに: データベースは定期的に更新する必要はありません。読み取り専用のためです。

この問題は、この 3 点について紙でプロトタイプを作成できますか?

大まかな見積もりでも - 最適化を考慮しない場合、5,000 人のユーザーが 1 回あたり 10 秒未満の検索を行うのに数百ドル、数千ドル、または数万ドルかかるでしょうか?

[AJAX Grid 用の asp.net RadControls になります。これらのクラウド ホスト サーバーの 1 つ: 4,096MB RAM 160GB ディスク容量、および Microsoft® SQL Server® 2008 R2 および SQL Server 2012 のいずれか]

4

1 に答える 1

2

データベースは定期的に更新する必要はありません。読み取り専用の目的のためです。

検索フィルターは部分文字列検索を許可しているため、db インデックスは役に立たず、検索は行ごとに行われます。

あなたのデータはおそらく5GB程度のメモリに収まるようです。私はすべてをメモリに保存し、そこで検索します。

于 2012-07-23T16:53:57.253 に答える