Статистические расчеты в SQL Server - PullRequest
2 голосов
/ 06 апреля 2009

Кто-нибудь знает какие-либо пакеты или исходный код, который выполняет простой статистический анализ, например доверительные интервалы или ANOVA, внутри хранимой процедуры SQL Server?

Ответы [ 4 ]

2 голосов
/ 13 апреля 2009

Причина, по которой вы, вероятно, не хотите этого делать, заключается в том, что эти вычисления требуют значительных ресурсов процессора. SQL Server обычно лицензируется сокетом ЦП (примерно 5 тыс. Долл. / Процессор для Standard, 20 тыс. Долл. / Процессор для предприятия), поэтому администраторы баз данных очень чувствительны к любым приложениям, которые хотят сжечь много ресурсов ЦП на самом SQL Server. Если вы начали выполнять статистические вычисления, и вдруг серверу нужен другой процессор, это дорогостоящее лицензионное предложение.

Вместо этого имеет смысл выполнять эти статистические вычисления на отдельном сервере приложений. Запросите данные по проводной связи к вашему серверу приложений, проведите там вычисление числа, а затем отправьте результаты обратно через оператор обновления или сохраненный процесс. Да, это больше работы, но по мере роста вашего приложения вам не придется сталкиваться с дорогостоящим счетом за лицензирование.

1 голос
/ 08 апреля 2009

Если вам не нужно делать это внутри хранимого процесса, я получу данные и сделаю это вне SQL Server. Таким образом, вы можете выбрать любую из подпрограмм с открытым исходным кодом или коммерческой статистики, и это, вероятно, будет быстрее.

1 голос
/ 06 апреля 2009

В более поздних версиях SQL Server вы можете использовать объекты .net изначально. Так что любой пакет .net подойдет. Кроме этого всегда есть внешние вызовы процедур ...

0 голосов
/ 22 февраля 2012

Я не знаю, существует ли такой коммерческий пакет. Для этого может быть несколько причин, некоторые из которых были изложены выше. Если вы пытаетесь избежать создания статистических функций, которые обрабатывают ваши данные, хранящиеся в SQL Server, вы можете попытаться интегрировать статистические пакеты с вашим сервером базы данных, импортировав из него данные. Например, R поддерживает его , а также есть CRAN

Как только вы это сделаете и по-прежнему чувствуете, что хотите запустить статистический анализ внутри вашего SQL Server, следующие шаги будут вызывать ваш пакет статистики из хранимой процедуры с помощью команды линейный интерфейс. Ваш лучший вариант здесь, вероятно, xp_cmdshell , хотя он требует тщательной настройки, чтобы не поставить под угрозу безопасность вашего SQL Server.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...