2009-04-06 22 views
2

SQL Serverストアドプロシージャ内で、単純な統計分析(信頼区間やANOVAなど)を行うパッケージやソースコードを知っている人はいますか?SQL Serverの統計計算

答えて

1

最近のバージョンのSQL Serverでは、ネイティブに.netオブジェクトを使用できます。だから、.netのパッケージはそうするでしょう。それ以外の場合、常に外部proc呼び出しがあります。

1

ストアドプロシージャ内で実行する必要がない限り、データを取得してSQL Server外で実行します。そうすれば、オープンソースや商用の統計ルーチンのいずれかを選択することができますし、おそらくそれも速いでしょう。

2

これらの計算がCPUを大量に消費するため、この処理を実行したくない場合があります。 SQL Serverは通常、CPUソケット(標準では約5kドル/ cpu、エンタープライズでは20kドル/ cpu)によってライセンスされているため、DBAはSQL Server上で多くのCPUを消費するアプリケーションに非常に敏感です。統計計算を開始して突然サーバーが別のCPUを必要とする場合、それは高価なライセンス提案です。

代わりに、これらの統計計算を別のアプリケーションサーバーで行うのが理にかなっています。ワイヤを介してアプリサーバーにデータを照会し、そこで番号を取得してから、更新ステートメントまたはストアドプロシージャを使用して結果を返します。はい、それ以上の作業ですが、アプリケーションが大きくなるにつれて、高価なライセンス請求書に直面することはありません。

+0

ライセンスが問題にならない場合はどうすればよいですか?私はそれをデータベース内に保持すると仮定しているので、サーバ間のネットワークトラフィックが減少し、待ち時間が短縮されます。思考? – Icono123

+0

@ Icono123計算に必要なデータの量によって異なります。サーバー上で計算をローカルで行うよりも、ワイヤを介してデータを送信する方が簡単な場合は、その答えに影響します。ライセンスは問題ではないことはまれです。 –

+0

ありがとう、あなたが政府のライセンスを扱うときは問題ではありません:) – Icono123

0

このような商用パッケージが存在するかどうかわかりません。これには複数の理由がありますが、そのうちのいくつかは上に概説されています。 達成しようとしているのは、SQL Serverに格納されたデータを処理する統計関数を構築しないようにする場合、データパッケージからデータをインポートして統計パッケージをデータベースサーバーに統合することです。例えば、R supports itは、あなたがそれを達成している、あなたはまだあなたがあなたのSQL Serverの内部の統計分析の実行をしたいのですがと感じたら、次のステップからあなたの統計パッケージを呼び出すになりCRAN

もありますコマンドラインインターフェイスを使用するストアドプロシージャSQL Serverのセキュリティを侵害しないように慎重に構成する必要がありますが、ここでの最適なオプションはおそらくxp_cmdshellです。