|
ORM vs sql
|
|||
---|---|---|---|
#18+
LelouchViPRosзайди в БД и замени key на GUID и попробуй запусти еще раз компиляцию? есть ошибки? теперь запусти есть ошибки? 1. Если обновить модель то будет ошибка) а L2S по-моему даже вылетит на создании контекста. 2. Key это поле после group by, его нет в таблице если что. ну тогда о какой строгой типизации речь? и нафига столько гемора, если все равно Ашибка гарантирована? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2012, 23:22 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
ViPRosзайди в БД и замени key на GUID А если полить бензином сервер с БД и поджечь, работать будет? Странное занятие, так просто менять типы в хранилище. Найми себе хорошего проектировщика DBD и освободи свою жизнь от создания схемы данных. P.S. Сахават, хватит откровенно гнать. Уже не смешно. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2012, 23:22 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
ViPRosзайди в БД и замени key на GUID и попробуй запусти еще раз компиляцию? есть ошибки? теперь запусти есть ошибки? что за фигня? в бд поменяли и нигде больше не меняли? так при таком подходе оно упадёт при любом подходе. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2012, 23:23 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
EnomayМСУ Но так или иначе, самое ценное в ORM - это типизация хранилища, как следствие родной человеческий интелиссенс, с которым одно удовольствие работать. Рутинные же SELECT FROM WHERE в прошлом. на самом деле самое ценное в ORM - это возможность работать с объектами, а не строками в таблицах. это существенно при использовании ООП. Ну а я что сказал? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2012, 23:30 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
МСУViPRosзайди в БД и замени key на GUID А если полить бензином сервер с БД и поджечь, работать будет? Странное занятие, так просто менять типы в хранилище. Найми себе хорошего проектировщика DBD и освободи свою жизнь от создания схемы данных. P.S. Сахават, хватит откровенно гнать. Уже не смешно. Муся, я ниче не гоню. Я задал 2 вопроса по просбе Еномая 1. про хардкод 2. строгую типизацию и жду ответа ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2012, 23:44 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
SolYUtorХм. Они конечно пошли дальше... Они отказались от SQL и много чего еще... Ну вот как раз от sql не отказывались, прочитай внимательней. Просто некоторые кейсы, которые нужно было оптимизировать, реализовали напрямую. Но тут дело даже не в этом, там сравнивается с тем, сколько может выдавать простая база на простом железе, а это больше 20k. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2012, 23:50 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
МСУА ну-ка расскажи, как ты по большим объемам отчеты снимаешь? По боевой базе? Или с большими объемами не работаешь? Данила, проснулся и сразу в бой :) Зачем мне рассказывать о том, чем я не занимаюсь? МСУЧто за детский сад, зы? DLINQ Это же уже обсудили, нужно было перечитать топ вначале, раз отстал на пару страниц. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2012, 23:50 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
зыДанила, проснулся и сразу в бой :) Если бы :) С работы приехал, все праздники похерились... зыЗачем мне рассказывать о том, чем я не занимаюсь? Ок. Просто меня смутило, как ты стал открещиваться от олапов. зыЭто же уже обсудили, нужно было перечитать топ вначале, раз отстал на пару страниц. Хм, вроде всё прочитал. Видел предложили штатными средстами разрулить, я предложил более гибкий DLINQ - вещь! ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2012, 23:57 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
Пойду-ка я спать, завтра зайду - чую зы ответную херачит на пергаменте ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2012, 00:03 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
зыНу вот как раз от sql не отказывались, прочитай внимательней. Просто некоторые кейсы, которые нужно было оптимизировать, реализовали напрямую. Отказались. Работает только в режиме поиска по ключу, вот и результаты близки к memcached (хотя и опережают его). Хотя я не отрицаю того факта, что совместная работа с SQL по-прежнему возможна. зыНо тут дело даже не в этом, там сравнивается с тем, сколько может выдавать простая база на простом железе, а это больше 20k. Вернуть три поля, по ключу, когда вся БД в памяти - ОК, может. А как насчёт другой работы: Insert, update, delete, транзакции на несколько таблиц... Ляжет он на пару-тройку порядков раньше. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2012, 00:08 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
МСУРечь не о "случайном" изменении базы, а о подобной возможности. Я учавствовал в проектах, в которых заложена поддержка различных БД (Oracle, MS SQL). И это круто. Как будешь решать такую задачу, дублировать дата-слой под каждую БД? зыНельзя тупо поменять базу, ничего не поменять в коде и получить +500% в скорости. Можно. И скорость тут не причем. Ну отлично. Когда мне нужно будет решать эту задачу — я этим займусь :) Я с самого начала преложил отойти от сферического коня в вакууме, потому что его обсуждение бессмысленно. Иногда быстрее и эффективнее написать решение конкретной проблемы, не стараясь заложить в неё все возможные юскейсы, подстилки и прочую бутафорию. Это все стоит денег и отнимает время, а на конкуретном рынке нет ни того ни другого. Возьми вконтакт, например. Даже имея предмет прямого копирования, они занимались с самого начала такой ерундой, как полная абстракция от хранилища данных? Да они бы таким образом не взлетели. МСУИ это тоже. SQL vs NOSQL - разные подходы, сомневаюсь, что такой переход возможен. Давай возьмем лучше Oracle и MSSQL, самые распространенные корпоративные сервера. Переход безболезненный. Без ORM это практически невозможно. Зачем переходить с oracle на mssql и обратно? Забыли, что понадобится новая фича, которая есть в другом сервере? Или лицензия закончилась? Или разница между ними в +500% производительности на тех же данных с теми же запросами? А вот переход на nosql — возможная реальность, на mongodb много case studies, почитай. МСУзыА если внезапно начнет глючить в неумелых руках, то ошибки можно искать долго и упорно. Зы, не аргумент. Неумелым рукам и мороженое противопоказано, подавится и умрет. Да поверь, на проде в безобидных местах под нагрузкой начинались такие необъяснимые финты с пулом и прочими внутренностями, что пришлось в срочном порядке выпиливать нафиг, благо он там не сильно нужен был. Я конечно не уверен в идеальной прямости рук программистов, но я уверен в том, что это достаточно умные люди. На форумах коммьюнити встречались такие же случаи, но без ответа. Хибернейт — это очень большой и очень черный ящик. А, как известно, надежность систем уменьшается с возрастанием их сложности. МСУзыОсобенно коварны транзакции и кэш. В некоторых случаях кэш вообще нафиг не нужен, а он есть. Зы, ну вот что ты фантазируешь, а? ;) фантазирую о чем? уточни МСУТы имеешь ввиду, если несколько нод в кластере. Так вот пишется либо свой балансировщик, либо вынос кеша на слой БД. Второе проще. Это как встроенная возможность хранения ASP.NET сессии в БД для такой кластерной архитектуры. Ничего сложного. 1) зачем писать свой балансировщик для монстра, если можно просто поднять скорость выкинув монстра? все дело в конкретной проблеме. Тем более что ты говоришь об этом, как будто описанная тобой задача - как два пальца обоссать. 2) да, кэшировать в БД, чтобы быстрее делать выборки из БД — это самое оно. МСУЕсли не умеешь водить - не садись, мне не нравятся такие аргументы. Хибер не сложен, верь мне. как только ты накрутишь в нем все дополнительные фишки, раскидаешь настройки по конфигам — он будет очень сложным. Я не знаю, может под .net его как-то упростили или недоделали, что ты в нем так уверен, он ведь из явы пришел. Ну и не нравятся аргументы — пожалуйста, кушай наздоровье, я ж не настаиваю МСУНа больших наборах только OLAP поможет. Для поиска - полнотекст. Другого не дано. Какие размеры для тебя большие? Для меня - несколько терабайт (разумеется, никаких блобов). божеж ты мой, зачем ты приплел сюда OLAP и полностекст? я тут 11871560 привел конкретный пример. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2012, 00:11 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
МСУЕсли бы :) С работы приехал, все праздники похерились... а я проболел, так что разделяю похеренные праздники МСУХм, вроде всё прочитал. Видел предложили штатными средстами разрулить, я предложил более гибкий DLINQ - вещь! да вот буквально тут вроде поставили точку 11871672 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2012, 00:14 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
SolYUtorОтказались. Работает только в режиме поиска по ключу, вот и результаты близки к memcached (хотя и опережают его). Хотя я не отрицаю того факта, что совместная работа с SQL по-прежнему возможна. да нененене, может мы разное читали? там ясно написано что для всех остальных запросов идет через обычный sql, а для самых быстрых - напрямую. Поэтому они и рады. И мемкэш выкинули, и от скуля не отказались. SolYUtorВернуть три поля, по ключу, когда вся БД в памяти - ОК, может. А как насчёт другой работы: Insert, update, delete, транзакции на несколько таблиц... Ляжет он на пару-тройку порядков раньше. да не спорю, просто обычно производительность измеряют на чтениях (ну или показах страниц) — все-таки показывать надо чаще, чем изменять. Ну и опять, все зависит от конкретики... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2012, 00:19 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
зыLelouchОтвет на ваш вопрос про поле по названию: превосходно, но это же вставка чистого SQL без проверок в compile time :) не нужно себе противоречить, и раз уж допускаешь исключения, то допускай их везде, в том числе на самом высоком уровне — в подходе. Это не SQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2012, 00:19 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
Это предикат написанный в форме строки. P.S. Впилите кнопку редактирования >< ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2012, 00:21 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
LelouchЭто предикат написанный в форме строки. P.S. Впилите кнопку редактирования >< неважно, если подразумевать истинное значение аббревиатуры — это очередная разновидность sql, которая зашита в строку и падает только во время выполнения. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2012, 00:22 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
зыLelouchЭто предикат написанный в форме строки. P.S. Впилите кнопку редактирования >< неважно, если подразумевать истинное значение аббревиатуры — это очередная разновидность sql, которая зашита в строку и падает только во время выполнения. Ок, 1 из 100 запросов упадет только во время выполнения. Это весомая причина делать оставшиеся 99 такими же... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2012, 00:25 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
LelouchОк, 1 из 100 запросов упадет только во время выполнения. Это весомая причина делать оставшиеся 99 такими же... да мы можем до утра спорить :) весомая причина в выборе инструмента тут может быть только одна — требуемая производительность. А аргументов без конкретной задачи у нас обоих нет. И мне кажется мы отклонились от сути в детали. Интересную книгу недавно читал о психологии "thinking, fast and slow". Там было хорошее наблюдение — при попытке ответить на сложный вопрос, если у вас нет ответа сразу, то человек склонен заменить его на более простой, на который у него есть ответ. Такая подмена зачастую подменяет предмет вопроса и остается незамеченной, но в результате данный ответ скорее всего неверен. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2012, 00:32 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
зыLelouchОк, 1 из 100 запросов упадет только во время выполнения. Это весомая причина делать оставшиеся 99 такими же... да мы можем до утра спорить :) весомая причина в выборе инструмента тут может быть только одна — требуемая производительность. А аргументов без конкретной задачи у нас обоих нет. И мне кажется мы отклонились от сути в детали. Интересную книгу недавно читал о психологии "thinking, fast and slow". Там было хорошее наблюдение — при попытке ответить на сложный вопрос, если у вас нет ответа сразу, то человек склонен заменить его на более простой, на который у него есть ответ. Такая подмена зачастую подменяет предмет вопроса и остается незамеченной, но в результате данный ответ скорее всего неверен. Ок, отвечу на более сложный - я при встрече с такой ситуацией напишу switch case по имени колонки, благо набор столбцов множество конечное (Но кстати я с такой ситуацией, когда надо использовать столбец по его названию еще ни разу не столкнулся) Это позволит остаться в рамках строгой типизации и проверки при компиляции, не сильно увеличив код (столбцов до 10 уж точно). Я вообще-то всего лишь ответил на Ваш вопрос о возможности, но нигде не написал что сделаю так. P.S. То средство построение SQL которое привели вы - костыль, к тому же плохо написанный. Даже в древней программе фирмы где я работаю, написанной на делфи + FB, похожий костыль хотя бы сам умел впихивать Join раньше Where, а order после where (чисто как пример) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2012, 00:49 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
зыЯ с самого начала преложил отойти от сферического коня в вакууме, потому что его обсуждение бессмысленно. То есть как это бессмысленно? Это достоинство ORM. Могу напомнить название сабжа. зыИногда быстрее и эффективнее написать решение конкретной проблемы, не стараясь заложить в неё все возможные юскейсы, подстилки и прочую бутафорию. Это все стоит денег и отнимает время, а на конкуретном рынке нет ни того ни другого. Стоп. Никто просто так закладывать такие возможности не будет. У одной компании при внедрении нашего софта - Oracle, у другой лицензия MS SQL, у третьей DB2. А теперь представь себе потери, если мы заложились только под сиквел. Система вида корпоративного документооборота + биллинговые педали со всевозможными вытекающими. Как правило, в биллинге обычно оракуль, в документообороте сиквел или оракуль. Опять будешь говорить - ситуация надуманная? зыВозьми вконтакт, например. Даже имея предмет прямого копирования, они занимались с самого начала такой ерундой, как полная абстракция от хранилища данных? Да они бы таким образом не взлетели. Возьми, например, 1С, Documentum, SAP, ... Эти системы не завязываются на один вид БД. Они смотрят вдаль и в свой кошелек. зыЗачем переходить с oracle на mssql и обратно? Выше всё объяснил. зыЗабыли, что понадобится новая фича, которая есть в другом сервере? Или лицензия закончилась? Или разница между ними в +500% производительности на тех же данных с теми же запросами? Насчет фичей - придется обломиться. Либо написать отдельные плагины для таких фич. В качестве архитектурного подхода рекомендую рассмотреть MEF. Загружай фичи конкретной СУБД и радуйся. Если без этого никак. зыДа поверь, на проде в безобидных местах под нагрузкой начинались такие необъяснимые финты с пулом и прочими внутренностями, что пришлось в срочном порядке выпиливать нафиг, благо он там не сильно нужен был. Я конечно не уверен в идеальной прямости рук программистов, но я уверен в том, что это достаточно умные люди. Ну мы щас говорим о средней температуре по больнице. Никакой конкретики и сути. Что-то там было, а что было - фиг знает. Ну сам понимаешь, ничего сказать не могу тут. Могу погадать, разве что, на кофе :) зыНа форумах коммьюнити встречались такие же случаи, но без ответа. Хибернейт — это очень большой и очень черный ящик. А, как известно, надежность систем уменьшается с возрастанием их сложности. Ну кто ж тебя так хибером напугал, зы? ;) Не бойся ты так. Всё там стабильно работает, данная ORM не первый год замужем. зыфантазирую о чем? уточни Обо всём, что я зацитировал. зы1) зачем писать свой балансировщик для монстра, если можно просто поднять скорость выкинув монстра? все дело в конкретной проблеме. Тем более что ты говоришь об этом, как будто описанная тобой задача - как два пальца обоссать. 2) да, кэшировать в БД, чтобы быстрее делать выборки из БД — это самое оно. 1. А в чем сложность его написать? Можешь вообще в отдельном облаке хостить свои кеши. 2. Не для больших наборов, только для общего хранения. С сессией тоже так сделать можно, не написав строчки кода. 3. Кстати, чем не нравится вариант кеширования на каждой ноде в кластере? Вообще ни строчки кода. зыЯ не знаю, может под .net его как-то упростили или недоделали, что ты в нем так уверен, он ведь из явы пришел. Ну и не нравятся аргументы — пожалуйста, кушай наздоровье, я ж не настаиваю Ну если не знаешь, зачем в спич полез? ) зыбожеж ты мой, зачем ты приплел сюда OLAP и полностекст? я тут 11871560 привел конкретный пример. Как зачем, ты ж сам первый начал. авторпревосходно, но это же вставка чистого SQL без проверок в compile time :) не нужно себе противоречить, и раз уж допускаешь исключения, то допускай их везде, в том числе на самом высоком уровне — в подходе. Ты же сам захотел динамику - поэтому без проверки. Типизированной динамики не бывает ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2012, 00:54 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
МСУСистема вида корпоративного документооборота + биллинговые педали со всевозможными вытекающими. Как правило, в биллинге обычно оракуль, в документообороте сиквел или оракуль. Опять будешь говорить - ситуация надуманная? Данила, я скажу то, что говорил с самого начала — ситуация конкретная, кушай ORM наздоровье. Следующие 5 цитат сразу скипну, потому что они не добавляют ничего нового, та же самая жвачка. МСУНу кто ж тебя так хибером напугал, зы? ;) Не бойся ты так. я просто боюсь сложных вещей, если я вижу что-то сложное, мне сразу кажется, что это можно сделать проще. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2012, 01:12 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
зыя просто боюсь сложных вещей, если я вижу что-то сложное, мне сразу кажется, что это можно сделать проще. Реально, кроме шуток, скачай себе последний хибер, открой пару блогов для стартапа и создай тестовый проект на чистом hbm. Проникнись хибером пару тройку дней. Обещаю, тебе очень понравится этот инструмент. Потом копни глубже, покури разные там флюенты, HILO, сложные мапы типа hierarchy mapping, сложные детачи и критерии, кастомные subquery с кастомными трансформаторами и иже. Хибер - это вещь. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2012, 01:20 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
МСУ, это мишура, фантики, доп.опции для авто. Обычно хочется всего и сразу, просто потому что оно есть и доступно. перефразируя 11872177 на тебя. Перед тобой ставят абстрактный вопрос — лучше использовать ORM или работать напрямую? Правильный ответ — "не знаю", потому что у абстрактного вопроса задача так же абстрактна. Но ты подсознательно формулируешь для себя новый вопрос "нравится ли мне работать напрямую? — нет. Нравится ли мне ORM? — да", и отвечаешь, что нужно использовать ORM полюбому, хотя уже исходный вопрос был заменен. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2012, 01:33 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
зыМСУ, это мишура, фантики, доп.опции для авто. Обычно хочется всего и сразу, просто потому что оно есть и доступно. В том-то и дело, что ORM - это всё и сразу. Но дело твоё. зылучше использовать ORM или работать напрямую? Правильный ответ — "не знаю", потому что у абстрактного вопроса задача так же абстрактна. Но ты подсознательно формулируешь для себя новый вопрос "нравится ли мне работать напрямую? — нет. Нравится ли мне ORM? — да", и отвечаешь, что нужно использовать ORM полюбому, хотя уже исходный вопрос был заменен. Да, нужно использовать ORM полюбому. Только так. Даже для тех же мемкешей есть свои порты в виде отдельного провайдера. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2012, 01:38 |
|
|
start [/forum/topic.php?fid=17&msg=37606096&tid=1350478]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
60ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 310ms |
total: | 471ms |
0 / 0 |