Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Вычисления и компиляторы  [new]
начало
Member

Откуда: Киев
Сообщений: 97
Вопрос такой, для разного рода вычислений в mssql предпочтительней использовать sql clr чем родной t-sql, а можно ли как нибудь воспользоваться современными компиляторами фортран для этих целей. Ведь интел выпускает компиляторы для visual studio. Может кто то из вас делал нечто подобное, просто интересно.
21 авг 12, 10:47    [13041504]     Ответить | Цитировать Сообщить модератору
 Re: Вычисления и компиляторы  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
начало
для разного рода вычислений в mssql предпочтительней использовать sql clr чем родной t-sql
В общем случае не верно. И на самом деле CLR редкость.

Надо понимать где кончается RDBS и начинаются аппликативные вычисления (бизнес логика), которые должны делаться клиентом (аппликейшн сервером).
Пихать сие в скуль не есть эффективно, ну разве что в редких случаях, или когда у вас вся система одно-пользовательская и унифицирована на одной машине.

Почему не эффективно. Потому что запрос компилируется (в монолитный план), а любые "внешние" вычисления скалярные/MTVF функции вызываются - на что тратятся ресурсы (да, на обычный вызов), что сильно сказывается на выполнение.
Если у вас данные обрабатываются целиком, то значит это вообще не должно быть на скуле, а обрабатываться во внешнем приложении.

Visual Studio (VS) не визуал, это тут не причём. CLR это VM (как и Java). VS - это не компилятор, это IDE. Компилирует .Net Framework сам, VS для этого не нужен вааще.
Если вы хотите использовать внешний код, то его можно вызвать многими средствами, через:
1. CLR (новое)
2. OLE Aoutomation (старое)
3. Extended XPs (старое)

Но повторяю, очень вероятно что нужно банально получить данные на клиенте и там полноценно обработать.

начало
фортран
Вы троллите?
Да M$ предоставило механизм (интерфейс) для разрабов языков, позволяющие легче транслировать на CLR среду для других языков. Но CLR 4.0 как я понимаю на последнем скуле не обкатан. Поставляют трансляторы в основном не M$.

Как я понимаю Fujitsu поставлял в одно время Fortran для .Net. Но тут я ничего не скажу.
21 авг 12, 17:23    [13044967]     Ответить | Цитировать Сообщить модератору
 Re: Вычисления и компиляторы  [new]
начало
Member

Откуда: Киев
Сообщений: 97
Mnior
начало
для разного рода вычислений в mssql предпочтительней использовать sql clr чем родной t-sql
В общем случае не верно. И на самом деле CLR редкость.

Надо понимать где кончается RDBS и начинаются аппликативные вычисления (бизнес логика), которые должны делаться клиентом (аппликейшн сервером).
Пихать сие в скуль не есть эффективно, ну разве что в редких случаях, или когда у вас вся система одно-пользовательская и унифицирована на одной машине.

Почему не эффективно. Потому что запрос компилируется (в монолитный план), а любые "внешние" вычисления скалярные/MTVF функции вызываются - на что тратятся ресурсы (да, на обычный вызов), что сильно сказывается на выполнение.
Если у вас данные обрабатываются целиком, то значит это вообще не должно быть на скуле, а обрабатываться во внешнем приложении.

Visual Studio (VS) не визуал, это тут не причём. CLR это VM (как и Java). VS - это не компилятор, это IDE. Компилирует .Net Framework сам, VS для этого не нужен вааще.
Если вы хотите использовать внешний код, то его можно вызвать многими средствами, через:
1. CLR (новое)
2. OLE Aoutomation (старое)
3. Extended XPs (старое)

Но повторяю, очень вероятно что нужно банально получить данные на клиенте и там полноценно обработать.

начало
фортран
Вы троллите?
Да M$ предоставило механизм (интерфейс) для разрабов языков, позволяющие легче транслировать на CLR среду для других языков. Но CLR 4.0 как я понимаю на последнем скуле не обкатан. Поставляют трансляторы в основном не M$.

Как я понимаю Fujitsu поставлял в одно время Fortran для .Net. Но тут я ничего не скажу.


значит вычисления лучше не делать на субд, а вынести на апп сервер, скажем тот же код на c# но уже в приложении? Но не совсем понятно почему и что такое MTVF функции. Что касается фортрана я не имел ввиду трансляцию на CLR т.к смысл уже теряется, ведь VS может работать не только с CLR.
22 авг 12, 08:36    [13046888]     Ответить | Цитировать Сообщить модератору
 Re: Вычисления и компиляторы  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
начало
значит вычисления лучше не делать на субд, а вынести на апп сервер, скажем тот же код на c# но уже в приложении?
Да. Желательно.
начало
Но не совсем понятно почему и что такое MTVF функции.
Multistatement Table-Valued Function (аналог процедур, возвращающие таблицу)
Почему тормозит вызов? Так устроен скуль
начало
Что касается фортрана я не имел ввиду трансляцию на CLR т.к смысл уже теряется, ведь VS может работать не только с CLR.
Внешний вызов
1. CLR (как промежуточное звено)
2. OLE Aoutomation (вызов COM объекта)
3. Extended XPs (вызов DLL процедуры)
22 авг 12, 16:28    [13050540]     Ответить | Цитировать Сообщить модератору
 Re: Вычисления и компиляторы  [new]
начало
Member

Откуда: Киев
Сообщений: 97
Mnior,

я кажется понял что вы имеете ввиду, лучше не загружать mssql вычислениями т.к он должен обслуживать и других клиентов.
С помощью clr вытащить данные и через сом передать их в какой нибудь фортран для последующей обработки.
Теперь осталось поколдовать и посмотреть на сколько все это эффективно )
23 авг 12, 08:52    [13053032]     Ответить | Цитировать Сообщить модератору
 Re: Вычисления и компиляторы  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
начало
С помощью clr вытащить данные и через сом передать их в какой нибудь фортран для последующей обработки.
Желательно просто в приложении получить данные со скуля, обработать и если надо, результат обработки записать.
23 авг 12, 12:55    [13054765]     Ответить | Цитировать Сообщить модератору
 Re: Вычисления и компиляторы  [new]
начало
Member

Откуда: Киев
Сообщений: 97
Mnior
Желательно просто в приложении получить данные со скуля, обработать и если надо, результат обработки записать.


ну понятно, здесь уже все упирается в вычислительные мощности языка, в моем случае .net
23 авг 12, 13:27    [13055033]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить