powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / linq2sql vs хранимые процедуры
25 сообщений из 119, страница 1 из 5
linq2sql vs хранимые процедуры
    #37097825
Shakill_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
веб-приложение работает с базой ms sql, которую я сопровождаю. разработчик этого приложения осваивает и активно применяет Linq2Sql. с его слов, это гораздо удобнее при разработке, нежели использование хранимок, последующий разбор датасетов по объектам и прочее. а так как все это дело под веб, то проблем с распространением изменений не возникает

есть ли серьезные основания пытаться убедить разработчика отказаться от использования linq2sql, помимо того что я не могу влиять на оптимальность этих запросов?
...
Рейтинг: 0 / 0
linq2sql vs хранимые процедуры
    #37098072
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть !

+ ХП :

безопасность
проще организовать транзакции
Можно одинаково хорошо использовать в разных приложениях
Много специалистов про SQL
...
Рейтинг: 0 / 0
linq2sql vs хранимые процедуры
    #37098178
Shakill_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LSVЕсть !
+ ХП : спасибо за комментарий, я в ответ как бы поставлю себя на место разработчика

безопасность можно наглядный пример?
проще организовать транзакциитут будет аргумент, что приложение из разряда отчетности, только читает данные, и посему один запрос - одна транзакция
Можно одинаково хорошо использовать в разных приложениях в основном, запросы получаются довольно специфичными и вероятность использования в других приложениях мала
Много специалистов про SQL imho средний сишарпер скорее владеет линк2скл, чем не владеет. а их сейчас тоже немало
...
Рейтинг: 0 / 0
linq2sql vs хранимые процедуры
    #37098338
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shakill_безопасность можно наглядный пример?
проще организовать транзакциитут будет аргумент, что приложение из разряда отчетности, только читает данные, и посему один запрос - одна транзакция
Можно одинаково хорошо использовать в разных приложениях в основном, запросы получаются довольно специфичными и вероятность использования в других приложениях мала
Много специалистов про SQL imho средний сишарпер скорее владеет линк2скл, чем не владеет. а их сейчас тоже немало1. Юзер имеет право только на ХП. Ничего другого он не увидит.
2. Это не аргумент. Завтра может появится нужда.
3. Это не аргумент.
4. А я шарпа в глаза не видел. :) А SQL прост и везде почти одинаков и время над ним не властно. Огромный охват специалистов.
...
Рейтинг: 0 / 0
linq2sql vs хранимые процедуры
    #37098623
Фотография Chop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shakill_, нет аргументов
все аргументы сводятся к тому, что " это я знаю, а это - не знаю, вот на это могу влиять, а на это - нет "

как пример - LSV - " я шарпа в глаза не видел. "
сомневаюсь, что ковырять код приложения на шарпе пустят человека, который шарпа в глаза не видел
:)

Shakill_ , какая тебе вообще разница, что юзает разработчик?
если ему так удобней и он, в отличие от тебя знает и линк, и хранимки, то ты его никак не убедишь

может просто не можете поделить зоны ответственности?
тогда с этого и начинай ставить вопрос
...
Рейтинг: 0 / 0
linq2sql vs хранимые процедуры
    #37098909
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shakill_веб-приложение работает с базой ms sql, которую я сопровождаю. разработчик этого приложения осваивает и активно применяет Linq2Sql. с его слов, это гораздо удобнее при разработке, нежели использование хранимок, последующий разбор датасетов по объектам и прочее. а так как все это дело под веб, то проблем с распространением изменений не возникает

есть ли серьезные основания пытаться убедить разработчика отказаться от использования linq2sql, помимо того что я не могу влиять на оптимальность этих запросов?
Процедуры - это один из способов разделения уровней приложения.

Т.е. сервер - это не надёжно хранящийся массив байтов, а именно сервер - система, хранящая данные и отвечающая на запросы на получение и изменение данных от других систем.

СУБД отвечает за их целостность, оптимальность операций над ними и т.п. За неё отвечают отдельные специалисты. И интерфейс к СУБД - как раз процедуры. Больше на роль интерфейсов между уравнями ничего и нет.

Так же есть какой то сервер бизнес-логики, есть клиент - это всё отдельные компоненты. Хотя ведь можно сказать, что они тоже не нужны - приложение может и рисовать, и хранить данные, и содержать логику, и всё это на каком то мышкорисовательном средстве разработки.

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

В некоторых системах типа САП-а обычные процедуры не используются, но процедуры там всё равно есть, просто для этого сделан свой язык, среда выполнения и все необходимые инструменты.

Разработчик Linq2Sql, конечно, не может правильно оценить такие вещи, тут нужен архитектор, способный взглянуть на всё это шире, не как программист.
...
Рейтинг: 0 / 0
linq2sql vs хранимые процедуры
    #37099206
Фотография Chop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg...тут нужен архитектор, способный взглянуть на всё это шире, не как программист.+1
добавлю, и не как админ БД
вопрос в том, как приложение разделено по слоям
если бизнес-логика сидит на клиенте, то переносить ее на ХП - изврат чреватый многими неприятностями
...
Рейтинг: 0 / 0
linq2sql vs хранимые процедуры
    #37099262
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все зависит от того - что это за приложение
хп можно генерировать из пиложения, впрочем как и само приложение из другого
...
Рейтинг: 0 / 0
linq2sql vs хранимые процедуры
    #37099284
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chopalexeyvg...тут нужен архитектор, способный взглянуть на всё это шире, не как программист.+1
добавлю, и не как админ БД
вопрос в том, как приложение разделено по слоям
если бизнес-логика сидит на клиенте, то переносить ее на ХП - изврат чреватый многими неприятностямиЭто идеология разовых и маленьких программ. Конечно, если мы говорим про программы, работающие с базами данных.

Не разовые программы работают со многими БД, и много приложений работают с одной БД. Конечно, программисту клиента приятнее, что у него всё под контролем, но это всего лишь точка зрения программиста.

Просто не бывает чего то приличного без разделения на уровни. Не получится.

А выделение уровня в виде СУБД - это вполне доступный и нормальный путь.
...
Рейтинг: 0 / 0
linq2sql vs хранимые процедуры
    #37099287
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shakill_веб-приложение работает с базой ms sql, которую я сопровождаю. разработчик этого приложения осваивает и активно применяет Linq2Sql. с его слов, это гораздо удобнее при разработке, нежели использование хранимок,

Shakill_,

угостите этого вэбера вот этим топиком
...
Рейтинг: 0 / 0
linq2sql vs хранимые процедуры
    #37099988
Фотография Chop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgChopесли бизнес-логика сидит на клиенте, то переносить ее на ХП - изврат чреватый многими неприятностямиЭто идеология разовых и маленьких программ. Конечно, если мы говорим про программы, работающие с базами данных.гы...
1С тогда - разовая и маленькая программа?
...
Рейтинг: 0 / 0
linq2sql vs хранимые процедуры
    #37100156
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ChopalexeyvgЭто идеология разовых и маленьких программ. Конечно, если мы говорим про программы, работающие с базами данных.гы...
1С тогда - разовая и маленькая программа? 1С как раз разделяет уровни. Вы наверное с ней не работали?

Там ведь бизнес-логика и работа с данными не пишется на том языке, на котором программируется клиент. Не смешивается всё в кучу.

Клиент и сервер приложений написан на С++, но при этом разработан свой внутренний язык, и никто этот код на С++ даже не видит. Работа с данными и прикладная логика пишется на внутреннем языке.

Отсутствие уровней - это если бы всё реализовавалось прямо на том языке, на котором разработан клиент (или сервер приложений), то есть на С++.

Так что 1С, как и любая приличная платформа, использует деление на уровне как по архитектуре, так и по программированию.

При этом в 1С не стали использовать СУБД как отделного уровня в системе.
Ну так и это добавляет гемороя - трудно поручить СУБД специалистам (ДБА или Database developers) решить проблемы с производтельностью и т.п. Идёт поток запросов и разбирайся как хочешь - для полноценной работы DBA должен обязательно быть хорошим специалистом в 1С
...
Рейтинг: 0 / 0
linq2sql vs хранимые процедуры
    #37100912
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgТам ведь бизнес-логика и работа с данными не пишется на том языке, на котором программируется клиент. Не смешивается всё в кучу.

Клиент и сервер приложений написан на С++, но при этом разработан свой внутренний язык, и никто этот код на С++ даже не видит. Работа с данными и прикладная логика пишется на внутреннем языке.

ну и что? чем это Хорошо? если DSL полностью описывает DS, то вопросов нет. А что в 1С DS? и где DSL?
...
Рейтинг: 0 / 0
linq2sql vs хранимые процедуры
    #37101096
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosalexeyvgТам ведь бизнес-логика и работа с данными не пишется на том языке, на котором программируется клиент. Не смешивается всё в кучу.

Клиент и сервер приложений написан на С++, но при этом разработан свой внутренний язык, и никто этот код на С++ даже не видит. Работа с данными и прикладная логика пишется на внутреннем языке.

ну и что? чем это Хорошо? если DSL полностью описывает DS, то вопросов нет. А что в 1С DS? и где DSL?Не знаю, где в 1С DS.

Это хорошо тем, что прикладному программисту легче разбираться в этом внутреннем языке. Даже если он не полностью описывает DS и если даже непонятно, что такое DS для 1С

Просто на С++ прикладные программисты ничего бы не писали и прикладных применений у 1С не было бы.
...
Рейтинг: 0 / 0
linq2sql vs хранимые процедуры
    #37101394
Фотография Chop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg1С как раз разделяет уровни. Вы наверное с ней не работали?работал, работал...
твою логику понял и готов согласиться
...
Рейтинг: 0 / 0
linq2sql vs хранимые процедуры
    #37103334
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgПроцедуры - это один из способов разделения уровней приложения.

Т.е. сервер - это не надёжно хранящийся массив байтов, а именно сервер - система, хранящая данные и отвечающая на запросы на получение и изменение данных от других систем.

СУБД отвечает за их целостность, оптимальность операций над ними и т.п. За неё отвечают отдельные специалисты. И интерфейс к СУБД - как раз процедуры. Больше на роль интерфейсов между уравнями ничего и нет.

Так же есть какой то сервер бизнес-логики, есть клиент - это всё отдельные компоненты. Хотя ведь можно сказать, что они тоже не нужны - приложение может и рисовать, и хранить данные, и содержать логику, и всё это на каком то мышкорисовательном средстве разработки.

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

В некоторых системах типа САП-а обычные процедуры не используются, но процедуры там всё равно есть, просто для этого сделан свой язык, среда выполнения и все необходимые инструменты.

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

хранимые процедуры это конечно хорошо. Вот только что делать, если клиенты написаны с ООП подходом? Вы обьекты прямо на ХП маппить собираетесь?
...
Рейтинг: 0 / 0
linq2sql vs хранимые процедуры
    #37103351
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerS,

а какие пробемы?
...
Рейтинг: 0 / 0
linq2sql vs хранимые процедуры
    #37103419
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosа какие пробемы?
граф обьектов как тянуть собираетесь к примеру? Скажем Streets -> Houses -> Flats. Дома и квартиры будут сразу затянуты на клиента вместе с улицей, или через ленивую загрузку?
Получение обьектов по какому-либо критерию - все дома, где есть владелец квартиры Вася. Тоже будет отдельная ХП, верно?
...
Рейтинг: 0 / 0
linq2sql vs хранимые процедуры
    #37103704
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerSхранимые процедуры это конечно хорошо. Вот только что делать, если клиенты написаны с ООП подходом? Вы обьекты прямо на ХП маппить собираетесь?Заменить архитектора. Всего-то делов... :)
Расшифруйте, что значит с ООП подходом и чем это противоречит работе через ХП ? Все современные приложения написаны с ООП. И ?
...
Рейтинг: 0 / 0
linq2sql vs хранимые процедуры
    #37103799
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVРасшифруйте, что значит с ООП подходом и чем это противоречит работе через ХП ?
ничем не противоречит. Да вы не стесняйтесь, ответьте для начала на вопрос про графы
LSVВсе современные приложения написаны с ООП.

lol
...
Рейтинг: 0 / 0
linq2sql vs хранимые процедуры
    #37103834
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerSПолучение обьектов по какому-либо критерию - все дома, где есть владелец квартиры Вася. Тоже будет отдельная ХП, верно?Неверно. Зачем для этого отдельная ХП ? Достаточно одной с набором параметров-фильтров.
Гибкость этих фильтров конечно не очень высока, но в большинстве случаев вполне достаточна.

У нас подобным образом выполнена система отчетов. У отчетов может быть более 20 параметров, в т.ч. необязательных. Исключительно ХП.
Для добавления новых параметров правим только СКЛ-скрипт. Приложение само их увидит.
...
Рейтинг: 0 / 0
linq2sql vs хранимые процедуры
    #37103980
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не не, я не про отчетность. Это вообще тема отдельного разговора. Но раз уж про них заговорили, покажите-ка заодно как там у вас этот необязательный параметр реализован. Т.е. есть параметр Name, если он null, то не учавствует в фильтре, если не null, то учавствует.

Я говорю именно про граф объектов .

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
class Street
  Property int ID...
  Property string Name...
  Property List Houses...

class House
  Property int ID...
  Property string Number...
  Property List Flats...

class Flat
  Property int ID...
  Property int Number...
  Property Person Owner...

Итак, покажите как вы собрались реализовывать материализацию этих классов из БД использую интерфейс ХП.
...
Рейтинг: 0 / 0
linq2sql vs хранимые процедуры
    #37104411
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerSViPRosа какие пробемы?
граф обьектов как тянуть собираетесь к примеру? Скажем Streets -> Houses -> Flats. Дома и квартиры будут сразу затянуты на клиента вместе с улицей, или через ленивую загрузку?
Получение обьектов по какому-либо критерию - все дома, где есть владелец квартиры Вася. Тоже будет отдельная ХП, верно?
обе варианта присутствует
в режиме навигации - тянется точка входа в граф и ленивая загрузка по мере навигации по графу
в режиме макротипов - сразу грузится связанный подграф (никто ничего не подгружает)
...
Рейтинг: 0 / 0
linq2sql vs хранимые процедуры
    #37104462
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerS,

если Именно фильтрация , то можно явно задвать IsNull и т.д.
если имеется ввиду оптимизм, то настройки свойств типа для включения в результирующий запрос(если режим динамический скл)/хп(если режим статический скл)
...
Рейтинг: 0 / 0
linq2sql vs хранимые процедуры
    #37104465
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХП генерируются автоматически если включен режим - статический скл)
...
Рейтинг: 0 / 0
25 сообщений из 119, страница 1 из 5
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / linq2sql vs хранимые процедуры
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]