|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
Алексей КМСУИспользовать ORM.LINQ2SQL! А почему не EntityFramework ? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 01:44 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
netivanАлексей К, все равно не согласен, медленнее будет полюбому, даже пусть 5 секунд против 2. Тут я делаю один запрос и получаю быстро то что надо. а тут надо будет делать 1000, а если у меня 1000 таких в секунду что получаем? Вообщем вывод - то какой- orm не на все способен.Пусть оно будет чуть медленнее, зато на сервер БД нагрузка более равномерная при многопользовательской работе. Транзакции получаются короче. Пока данные гоняются по сети СУБД "отдыхает" и готова принимать запросы от других пользователей. Поэтому я и говорю "медленно но верно". netivanДумаю на этом надо завершить дискуссию.Ваше право. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 06:08 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
Cat2Алексей Кпропущено... Вы что-то путаете. Мы с МСУ никогда не ругались. Все наши с ним дискуссии всегда были в рамках приличия. Прошу прощения. Они с SeVa ругаются Принято. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 06:09 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
Cat2MasterZivпропущено... Это сильно зависит от СУБД. Подготовленные запросы также во многих СУБД откомпилированы. Планы некоторые СУБД кэшируют и для простых запросов, а не только для процедур. Не все запросы простые.От "простоты" запроса не зависит, будет он кэшироваться или нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 06:13 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
Cat2MasterZivпропущено... Ну, это ты не прав. Просто не прав. Может что-то ещё бы привёл в виде примера -- я бы согласился. Но не транзакции. Допустим мы открываем транзакцию на клиенте из двух запросов. В промежутке между ними отвалилась сеть. Первый запрос заблокировал какие-то ресурсы. (я знаю про версионники! Но и в этом случае незавершенная транзакция ни к чему хорошему не ведет) Они, конечно, не будут заблокированы вечно. СУБД через разумный промежуток времени откатит эту "зависшую" транзакцию и снимет блокировки. Однако это все таки будет промежуток времени. Транзакция с сервера будет выполнена даже если клиент умрет страшной смертью Повторюсь . Между СП и БД хороший канал связи. Disconnected-режим работы с БД практически исключает такие случаи. Проблема надумана. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 06:18 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
Cat2Но даже если и знают, то не смогут сделать ничего того, что не позволдяют сделать хранимки. Повторюсь. Система безопасности не ограничивает управление транзакциями. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 06:25 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
thunder2Алексей Кпропущено... LINQ2SQL! А почему не EntityFramework ?Имелись ввиду все LINQ-ORM. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 06:27 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
Cat2Получить может. Соединится не может. Как это не может, если сиквел соединение у тебя работает в контексте виндовой аутентификации? Cat2Никакого доступа из Excelя не получится, если доступ дается не через разрешения на иаблицы, а через разрешения на ХП. Всё, что связано с БД - через хранимые процедуры? Проще убить себя об стену, чем писать даже самые тривиальные вещи на хп. В топку такую архитектуру. Во-вторых, как было уже сказано, транзакции вне безопасности, поэтому никто не запрещает пользователю начать транзакцию и уйти курить бабмбук. В-третьих, какого вообще ляда пользователю даже видеть, что там оно в базе? Хранилище должно хоститься в отдельной песочнице, не доступной для кого-то нибыло, не говоря уже про всех пользователей домена (системы). Cat2Разумеется, если используется ОРМ, то кому-то будут даны прямые права на таблицы и можно будет, при известных знаниях, лазать к базе чем угодно. Глупости. ORM так же отлично работает с хранимыми процедурами. Cat2При использовании хранимых процедур пользователи не знают их названий и не знают их параметров. Им вообще ничего нельзя знать. Cat2Но даже если и знают, то не смогут сделать ничего того, что не позволдяют сделать хранимки. Открыть и оставить транзакцию? Еще раз, пользователям нечего делать в базе. Даже если они будут играть по правилам хранимок и лазить через них к данным, ни к чему хорошему это не приведет. Всегда найдется узкое место, в котором хранимка отдает один результат (расширенный функционал), а ПО другой (урезанный функционал). Всё это накладывает очень сложный и порой практически не поддерживаемый опционал в разрезе администрирования системы. Зачем и кому нужны эти проблемы? Не проще ли закрыться от всего внешнего зла средним слоем (WCF, ASMX) и жить спокойно? Это удобно и для других систем из других баз и SQL серверов - все мы знаем о зле, таящимся в слове "линкед сервер". Будешь шарить сервер для того, чтобы твои хп заюзали другие системы? В случае же SOA подхода - никаких линкедов, весь софт общается с хранилищем через единый документированный шлюз - потребители могут быть кто угодно, начиная от codemonkey-поделок, кончая всякими 1С, аксаптами, сапами, CRM, ECM, ERP и иже системами. Cat2Ты как-то писал про "тупые хранилища". Приходится напомнить, что эти хранилища не тупые. Их можно тупо использовать и превратить в "тупые хранилища". Хранилище должно быть тупым, средний слой (SOA) должен быть умным. Только так ты получишь распределение. Cat2Настоящая правильно спроектированная база сама должна поддерживать целостность и непротиворечивость, огранирчения которой нельзя обойти никаким способом. Ну, разумеется, кроме снятия ограничений администратором. Целостность и непротиворечивость хранилища делай на базовом уровне (связи, ключи). А бизнес-логику, интеграционный слой, распределение и т.п. - вне базы. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 09:46 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
Алексей Кthunder2пропущено... А почему не EntityFramework ?Имелись ввиду все LINQ-ORM. Что такое LINQ-ORM? :) EF, L2S, NH - это тоже всё LINQ-ORM. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 09:46 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
МСУАлексей Кпропущено... Имелись ввиду все LINQ-ORM. Что такое LINQ-ORM? :) EF, L2S, NH - это тоже всё LINQ-ORM.Все ОРМ, поддерживающие трансляцию Expression Tree => SQL. Какая теперь разница... :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 10:01 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
Алексей КВсе ОРМ, поддерживающие трансляцию Expression Tree => SQL ORM с трансляцией вида [гавномаппинги] => [SQL] идут на помойку? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 11:12 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
МСУАлексей КВсе ОРМ, поддерживающие трансляцию Expression Tree => SQL ORM с трансляцией вида [гавномаппинги] => [SQL] идут на помойку? Да. Их эра закончилась. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 11:16 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
Алексей КnetivanАлексей К, все равно не согласен, медленнее будет полюбому, даже пусть 5 секунд против 2. Тут я делаю один запрос и получаю быстро то что надо. а тут надо будет делать 1000, а если у меня 1000 таких в секунду что получаем? Вообщем вывод - то какой- orm не на все способен.Пусть оно будет чуть медленнее, зато на сервер БД нагрузка более равномерная при многопользовательской работе. Транзакции получаются короче. Пока данные гоняются по сети СУБД "отдыхает" и готова принимать запросы от других пользователей. Поэтому я и говорю "медленно но верно". netivanДумаю на этом надо завершить дискуссию.Ваше право. :-) Погодите, давайте разебремся. База в любом случае многопользовательская и она выполнит параллельно сколько надо запросов. Можно сказать,что в процедуре пакетный запрос, а вы предлагаете разбить его на Х маленьких. Не совсем все же понял логику) ЗЫ Кстати спасибо вам за мысль про EF 4.2, и правда хорошая штука) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 12:00 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
Алексей КДа. Их эра закончилась. То есть хиберовские hbm-маппинги, HSQL и ICriteria идут прямиком на свалку? Куясе. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 12:19 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
netivanМожно сказать,что в процедуре пакетный запрос, а вы предлагаете разбить его на Х маленьких.Да. Только это всего-лиш один из возможных вариантов. Не надо это воспринимать как наиболее правильное решение. :-) netivanЗЫ Кстати спасибо вам за мысль про EF 4.2, и правда хорошая штука)Всегда пожалуйста. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 12:28 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
МСУАлексей КДа. Их эра закончилась. То есть хиберовские hbm-маппинги, HSQL и ICriteria идут прямиком на свалку?Да. МСУКуясе.Всё когда-то заканчивается. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 12:32 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
Алексей К, да я все к тому,что EF далеко не на все способен) Вот кстати интересно хинты в нем можно ставить?:) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 12:43 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
Алексей К, вы кстати не пробовали Ef 5 вашим способом вздрючить?) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 12:56 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
netivanВот кстати интересно хинты в нем можно ставить?Традиционно, через вьюху. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 12:58 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
netivanАлексей К, вы кстати не пробовали Ef 5 вашим способом вздрючить?)Пробовал, не получилось Он какой-то метод из класса Environment использует, который есть в 4.5 и которого нет в 4.0. Решил ждать следующей версии EF. Он теперь опенсорсный, что не может не радовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 13:01 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
Алексей К, он еще помойму DataXXX что-то использует. Вообщем ждем следующей, согласен ) Вопрос когда она будет ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 13:13 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
Алексей КМСУТо есть хиберовские hbm-маппинги, HSQL и ICriteria идут прямиком на свалку?Да Это ещё SolYUtor не слышит, а то палкой бы побил ща такое беспощадие к hbm P.S. Linq/Lambda/ExpressionTree-ориентированные мапы не панацея, отче. Какая по сути разница, какая обёртка в ORM, главное что-бы удобно было. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 13:43 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
МСУP.S. Linq/Lambda/ExpressionTree-ориентированные мапы не панацеяЭто большой шаг вперёд. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 13:54 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
МСУ, ОРМ в моем понимание весч простая такая - я работаю со своими объектами и нифига не знаю о БД но с ваших слов, это не так - надо знать какие то хранимки, вьюхи, сте (слово то какое) и т.д. и притом в каких то случаях надо не объектами своими работать, а с их суррогатами (трекинг твой как раз управляет этим как я понял), нектороые объекты как бы и не объекты вовсе (табличка в памяти у НЕТИВАНа) и т.д. потому грю что - ерунда это,токо время отнимает 2 Алексею ОРМ нужен был ток для того, чтоб прогер не думал о синхронизации состояний объектов в памяти и в БД (а это в основном целосностное изменение-запись - удаление), с селект мало у кого проблемы были, а вот с остальным (особенно в БД с наворочеными ОЦ) были, до сих пор мало кто разумеет что исть транзакшн и т.д. но ваши ОРМ неспособные все это делать прозрачно, они просто вызывают ваши ХП (как будьто без них низзя было их вызывать) понятно грю? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 14:30 |
|
|
start [/forum/topic.php?fid=20&msg=38057603&tid=1405536]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
34ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
others: | 312ms |
total: | 469ms |
0 / 0 |