powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Какую ORM посоветуете?
25 сообщений из 889, страница 1 из 36
Какую ORM посоветуете?
    #38197332
Фотография _=ДОБРЫНЯ=_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет
До этого с ORM не сталкивался, а теперь столкнулся с этой необходимостью.
Посоветуйте пожалуйста платную/бесплатную ORM для высоконагруженной системы.
БД будет использоваться ms sql server 2012 prof. Причем будет 2-е БД, одна для записи, другая для чтения. Они будут синхронизироваться через определенный интервал времени. кол-во инсертов предпологается около 200000 в час, селектов - около 4000000 с подзапросами.
Разработка приложения на .net. Архитектура - 3-х звенка.
Главные требование: скорость работы по максимум, меньше всего багов, нормальный суппорт, нормальный интерфейс для маппинга, малогеморойный переход на другую БД (если понадобится).
...
Рейтинг: 0 / 0
Какую ORM посоветуете?
    #38198170
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_=ДОБРЫНЯ=_Привет
До этого с ORM не сталкивался, а теперь столкнулся с этой необходимостью.
Посоветуйте пожалуйста платную/бесплатную ORM для высоконагруженной системы.
БД будет использоваться ms sql server 2012 prof. Причем будет 2-е БД, одна для записи, другая для чтения. Они будут синхронизироваться через определенный интервал времени. кол-во инсертов предпологается около 200000 в час, селектов - около 4000000 с подзапросами.
Разработка приложения на .net. Архитектура - 3-х звенка.
Главные требование: скорость работы по максимум, меньше всего багов, нормальный суппорт, нормальный интерфейс для маппинга, малогеморойный переход на другую БД (если понадобится).

При таких требованиях ORM самоубийство
...
Рейтинг: 0 / 0
Какую ORM посоветуете?
    #38198190
pirovindos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По-моему, таких ORM пока не существует. Нужно искать другое решение.
...
Рейтинг: 0 / 0
Какую ORM посоветуете?
    #38198535
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_=ДОБРЫНЯ=_,

FoxPro!
ORM - зло!
<:o)

А если серьезно, ORM это проекция ЯП высокого уровня на ЯП низкого уровня.
Это как попросить - "А можно я буду писать на классическом xBase вместо SQL." :-)
...
Рейтинг: 0 / 0
Какую ORM посоветуете?
    #38198690
Фотография _=ДОБРЫНЯ=_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это поятно.
Ну а каку-то платную орм для оптимизации запросов и генерирование минимальных запросов для работы?
Кто-то пользовлся LightSpeed от mindscape? как она в работе?
...
Рейтинг: 0 / 0
Какую ORM посоветуете?
    #38198958
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_=ДОБРЫНЯ=_,

Опять же, есть SQL Manager его для визуального генерирования простых запросов должно хватить :-)
...
Рейтинг: 0 / 0
Какую ORM посоветуете?
    #38199954
pirovindos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ORM вроде не для этого совсем "для оптимизации запросов и генерирование минимальных запросов для работы"...
...
Рейтинг: 0 / 0
Какую ORM посоветуете?
    #38201125
Фотография _=ДОБРЫНЯ=_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pirovindosORM вроде не для этого совсем "для оптимизации запросов и генерирование минимальных запросов для работы"...
согласен. но так же для удобства работы с базой разработчику. Ведь удобно когда за тебя что-то делается и это легко поддерживать. но орм орм-у рознь.
...
Рейтинг: 0 / 0
Какую ORM посоветуете?
    #38201282
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_=ДОБРЫНЯ=_,

Надеюсь вас скоро попустит, т.к. написали вы просто фантастические вводные.
...
Рейтинг: 0 / 0
Какую ORM посоветуете?
    #38201405
Фотография _=ДОБРЫНЯ=_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злой Бобр_=ДОБРЫНЯ=_,

Надеюсь вас скоро попустит, т.к. написали вы просто фантастические вводные.
Вы с подобным сталкивались?
...
Рейтинг: 0 / 0
Какую ORM посоветуете?
    #38201861
pirovindos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По-моему, ORM нужен чтобы скрыть от разработчика "работу с базой". Поэтому предлагаю требования к ORM формулировать не в терминах "кол-во инсертов" или "селектов", а в терминах предоставляемых ORM интерфейсов.
...
Рейтинг: 0 / 0
Какую ORM посоветуете?
    #38203768
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_=ДОБРЫНЯ=_согласен. но так же для удобства работы с базой разработчику. Ведь удобно когда за тебя что-то делается и это легко поддерживать. но орм орм-у рознь.

Мне как разработчику удобно работать на прямую с БД.
Т.к. это намного проще и быстрее.
Но, как тому же разработчику, приходиться работать ч/з модели данных ибо АРХИТЕКТУРА.
И там где был бы один селект, который ТОЧНО возарщает одну строку, приходиться писать цикл с условием.
Есть конечно ORM которые "похожи" на SQL, но это еще большее извращение.
Т.к. фактически пишешь тот же селект, но с такими ограничениями, что смысла нет никакого.
Как разработчик говорю - ORM это не удобно, не гибко и глюкаво.
...
Рейтинг: 0 / 0
Какую ORM посоветуете?
    #38204005
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgulИ там где был бы один селект, который ТОЧНО возарщает одну строку, приходиться писать цикл с условием

проблема, скорее всего, не в ОРМ
...
Рейтинг: 0 / 0
Какую ORM посоветуете?
    #38251334
druff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul_=ДОБРЫНЯ=_согласен. но так же для удобства работы с базой разработчику. Ведь удобно когда за тебя что-то делается и это легко поддерживать. но орм орм-у рознь.

Мне как разработчику удобно работать на прямую с БД.
Т.к. это намного проще и быстрее.
Но, как тому же разработчику, приходиться работать ч/з модели данных ибо АРХИТЕКТУРА.
И там где был бы один селект, который ТОЧНО возарщает одну строку, приходиться писать цикл с условием.
Есть конечно ORM которые "похожи" на SQL, но это еще большее извращение.
Т.к. фактически пишешь тот же селект, но с такими ограничениями, что смысла нет никакого.
Как разработчик говорю - ORM это не удобно, не гибко и глюкаво.

основная задача ORM, что и указано напрямую в названии - переносить модель БД на объектную модель приложения и обратно, разве нет? Если вы переносите данные из БД в объекты приложения, то это уже ORM, возможно самописный и неосознанно используемый.

Топикстартеру, а чем стандартный ORM от microsoft не устраивает?
...
Рейтинг: 0 / 0
Какую ORM посоветуете?
    #38251385
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Какую ORM посоветуете?
    #38253087
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Old NickПри таких требованиях ORM самоубийство
Глупости. 100500 раз уже обсуждали, что не в ORM проблема, а в кривых запросах, которые можно писать и без ORM. При грамотном использовании ORM никаких проблем не возникает.

P.S. Автор, используй Entity Framework.
...
Рейтинг: 0 / 0
Какую ORM посоветуете?
    #38254712
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
druffосновная задача ORM, что и указано напрямую в названии - переносить модель БД на объектную модель приложения и обратно, разве нет? Если вы переносите данные из БД в объекты приложения, то это уже ORM, возможно самописный и неосознанно используемый.

Так ведь "не лезет".
Т.к. Схема БД и объектная модель приложения вещи "ортогональные".
Проблема в том, что "объектный подход" и "реляционный" в корне разнятся.
Соответственно прямого и универсального отображения объектов на реляционные отношения сделать практически невозможно.
Все ORM которые я видел, в т.ч. и от MS были таким убожеством, работая с ними я чувствовал связанным себя по рукам и ногам.
Я понимаю, что программистам, которые не знают SQL они могут показаться проще, но у SQL гораздо гибче и богаче любого ORM.
...
Рейтинг: 0 / 0
Какую ORM посоветуете?
    #38254916
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgulВсе ORM которые я видел, в т.ч. и от MS были таким убожеством, работая с ними я чувствовал связанным себя по рукам и ногам.
Не нужно какие-то феерические ограничения сопоставлять с убожеством ORM, можно сказать проще - ниасилил. В нормальных ORM всегда есть возможность использовать хранимые процедуры и кастом сиквел код, который типизированно намаплен на контекст. 90% рутинного кода выполняются через классический язык ORM движка, остальные 10% замороченного сиквела решаются через динамику с последующей типизацией. Баян, изъеженный годами.

mad_nazgulЯ понимаю, что программистам, которые не знают SQL они могут показаться проще, но у SQL гораздо гибче и богаче любого ORM.
Программист, хорошо разбирающийся в ORM, вовсе не означает, что он не разбирается в SQL. Это заблуждение тех же "специалистов", которые так и не осилили ORM и не поняли его сути и предназначения.
...
Рейтинг: 0 / 0
Какую ORM посоветуете?
    #38255015
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУВ нормальных ORM всегда есть возможность использовать хранимые процедуры и кастом сиквел код, который типизированно намаплен на контекст. 90% рутинного кода выполняются через классический язык ORM движка, остальные 10% замороченного сиквела решаются через динамику с последующей типизацией. Баян, изъеженный годами.


Хранимки можно использовать и без ORM ;-)
Зачем использовать лишнюю сущность, когда ее можно не использовать?!
Т.е. зачем нужна прослойка м/у SQL и программой?
Легкие вещи легко делаются и без ORM, а сложные в ORM не сделаешь.

МСУПрограммист, хорошо разбирающийся в ORM, вовсе не означает, что он не разбирается в SQL. Это заблуждение тех же "специалистов", которые так и не осилили ORM и не поняли его сути и предназначения.

ORM не поддерживает полностью стандарт SQL, соответственно он просто физически не может использовать все возможности SQL.
Зачем ограничивать себя, когда можно этого не делать?
...
Рейтинг: 0 / 0
Какую ORM посоветуете?
    #38255464
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ORM не поддерживает полностью стандарт SQL, соответственно он просто физически не может использовать все возможности SQL. И даже вызов ХП (с полноценным SQL) ??? :)
...
Рейтинг: 0 / 0
Какую ORM посоветуете?
    #38255853
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgulХранимки можно использовать и без ORM ;-)
Зачем использовать лишнюю сущность, когда ее можно не использовать?!
Слово - типизация. Если не о чём не говорит, дальнейший разговор бесмысленнен.
Начни читать отсюда, возможно, не так всё плохо и прозреешь: http://msdn.microsoft.com/en-us/data/gg699321.aspx

mad_nazgulЛегкие вещи легко делаются и без ORM, а сложные в ORM не сделаешь.
См. выше.

mad_nazgulORM не поддерживает полностью стандарт SQL, соответственно он просто физически не может использовать все возможности SQL.
Зачем ограничивать себя, когда можно этого не делать?
ORM поддерживает любой стандарт SQL в разрезе используемого провайдера БД. Всегда есть выход на нативный DbCommand и DbConnection. Более того, всё это чисто и аккуратно маппится на заранее подготовленные сущности. Вот тут у меня на сайте пример есть: http://codearticles.ru/articles/2147
Даже есть в программе 90% сложного сиквел кода, всё-равно нужно использовать ORM. ORM - это визитная карточка к любой БД. Но тебе пока не понять, я вижу из контекста, что опыта работы с ORM у тебя ноль.
...
Рейтинг: 0 / 0
Какую ORM посоветуете?
    #38256015
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVORM не поддерживает полностью стандарт SQL, соответственно он просто физически не может использовать все возможности SQL. И даже вызов ХП (с полноценным SQL) ??? :)

Дык это ХП надо писать.
Причем для разных СУБД свой ЯП ХП.
А SQL по большей части везде один. ;-)
...
Рейтинг: 0 / 0
Какую ORM посоветуете?
    #38256023
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУСлово - типизация. Если не о чём не говорит, дальнейший разговор бесмысленнен.
Начни читать отсюда, возможно, не так всё плохо и прозреешь: http://msdn.microsoft.com/en-us/data/gg699321.aspx


Говорит.
Возвращаемый RecordSet всегда имеет типизированные поля.
Нет вру, в Visual Basic по моему все ч/з Variant делалось.

Насчет ХП...
Для каждой БД, нужно будет писать свою ХП.
Т.о. вы жестко привязаны к конкретной БД. ;-)

МСУmad_nazgulЛегкие вещи легко делаются и без ORM, а сложные в ORM не сделаешь.
См. выше.


Это подтверждает мои слова.
Легкие вещи делаются легко, сложные никак.
Ах да, у нас есть ХП!
Вот только для каждой БД нужно писать свои ХП.
Да еще помнить, знает ли наш ORM особенности вызова ХП в данной БД. ;-)

МСУORM поддерживает любой стандарт SQL в разрезе используемого провайдера БД. Всегда есть выход на нативный DbCommand и DbConnection. Более того, всё это чисто и аккуратно маппится на заранее подготовленные сущности. Вот тут у меня на сайте пример есть: http://codearticles.ru/articles/2147
Даже есть в программе 90% сложного сиквел кода, всё-равно нужно использовать ORM. ORM - это визитная карточка к любой БД. Но тебе пока не понять, я вижу из контекста, что опыта работы с ORM у тебя ноль.

ORM - это не визитная карточка БД.
ORM - это всего лишь "синтаксический сахар".
Которым удобно пользоваться для несложных вещей. Ну например, вывести табличку в гриде, или создать формочку для редактирования. Для тех кто не знает SQL.

Для сложного отчета, ORM чтобы работать нужны ХП.
А нет, вы еще забыли про представления. ;-)
Когда все можно было бы сделать просто запросом.
Для чего в ORM нужен нативный DbCommand и DbConnection.
Вот как раз для таких случаев, когда ORM просто не хватает и писать нативный SQL.

Я был бы не против, если бы ORM полностью соответствовала SQL, но это не возможно даже теоретически.
Т.к. SQL ЯП более высокого уровня, чем ООП ЯП.
Соответственно ORM который будет 100% соответствовать SQL просто будет SQL.
Вообще работа с ORM мне чем то напоминает работу с xBase.
...
Рейтинг: 0 / 0
Какую ORM посоветуете?
    #38256025
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul,

вы пытаетесь кого-то убедить, что ОРМ - это плохо? или сами себе задаете вопросы?
если 1-е - то каждый сам для себя решает, надо ли ему ОРМ, если 2-е - возьмите и покурите какую-либо ОРМ, вопросы отпадут
...
Рейтинг: 0 / 0
Какую ORM посоветуете?
    #38256092
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgulГоворит.
Возвращаемый RecordSet всегда имеет типизированные поля.
Нет вру, в Visual Basic по моему все ч/з Variant делалось.
Далеко не только всё упирается в поля. Есть еще отношения один-ко-многим, многие-ко-многим и так далее.

mad_nazgulНасчет ХП...
Для каждой БД, нужно будет писать свою ХП.
Т.о. вы жестко привязаны к конкретной БД. ;-)
Как правило, "усредненный" проект содержит до 10% кода, который не решается средствами ORM. Этот код будет привязан к конкретной СУБД. Если нужно отмасштабироваться в разрезе смены хранилища, нам нужно переписать всего-лишь сиквел 10% кода. Для этого очень удобно подходит паттерн репозиторий или датасервис. Тут писал: http://codearticles.ru/articles/2155
Так же существует слабосвязность в проекте: http://codearticles.ru/articles/2301
Через которую можно элементарно отстыковывать логику работу с хранилищем и достыковывать новую. Всё это на ура решается с помощью ORM.

mad_nazgulЭто подтверждает мои слова.
Легкие вещи делаются легко, сложные никак.
Ах да, у нас есть ХП!
Вот только для каждой БД нужно писать свои ХП.
Да еще помнить, знает ли наш ORM особенности вызова ХП в данной БД. ;-)
Во-первых, хп писать не обязательно, можно хранить свой версионный код в своих репозиториях. Посмотри на ту же аксапту, ни одной хранимке, вся логика на сервере приложений, что и правильно. Во-вторых, я написал выше, даже если и есть хранимые процедуры, их количество минимально. Учить ORM ничему не надо, нужно использовать просто другой провайдер для подключения к другой БД. Все вызовы нативны. Посмотри тот же NHibernate, сколько он поддерживает БД.

mad_nazgulORM - это не визитная карточка БД.
ORM - это всего лишь "синтаксический сахар".
Которым удобно пользоваться для несложных вещей. Ну например, вывести табличку в гриде, или создать формочку для редактирования. Для тех кто не знает SQL.
Им удобно пользовать для любых вещей, и сложных и легких. Нужно просто иметь прямые руки и понимать, как можно гибко всё оборачивать данным механизмом. Вся работа с БД должна вестись через ORM и его прокси классы, которые пробрасываются через IDataService. Никаких проблем. И байдинг к гриду тут вообще не причем, смотри на вещи более абстрактно, а не формочками.

mad_nazgulДля сложного отчета, ORM чтобы работать нужны ХП.
А нет, вы еще забыли про представления. ;-)
Когда все можно было бы сделать просто запросом.
Для чего в ORM нужен нативный DbCommand и DbConnection.
Вот как раз для таких случаев, когда ORM просто не хватает и писать нативный SQL.
Выше написал - храним честный код в своих датасервисах, для отчетов пусть будет SqlReportDataService: IReportDataService. Даже если сменится БД, мы переписываем только этот сервис поставки на OracleReportDataService: IReportDataService. И все отчеты у нас продолжают работать без переписывания их логики. Нужно вставить какой-то фейк или протестировать юниты или модульность - вообще без проблем, подсовываем свой тестовый IReportDataService и репорт начинает рендериться по другой логике. Это как конструктор.

mad_nazgulЯ был бы не против, если бы ORM полностью соответствовала SQL, но это не возможно даже теоретически.
Т.к. SQL ЯП более высокого уровня, чем ООП ЯП.
Соответственно ORM который будет 100% соответствовать SQL просто будет SQL.
Вообще работа с ORM мне чем то напоминает работу с xBase.
ORM полность соотвествует SQL текущего провайдера, ты просто не умеешь это готовить.
...
Рейтинг: 0 / 0
25 сообщений из 889, страница 1 из 36
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Какую ORM посоветуете?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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