|
Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL
|
|||
---|---|---|---|
#18+
Добрый день! Имеется проект с БД MS SQL ~1500 таблиц. DAL построен на Entity Framework. Количество хранимок и UDF в БД незначительно. Продукт коробочный, БД стоит на стороне заказчика, квалифицированного DBA у заказчика, как правило, не имеется. Стоит задача поддержки бесплатной СУБД (дополнительно к MS SQL). Рассматриваются варианты MySQL и PostgreSQL. Если кто-то имел опыт поддержки в одном проекте нескольких СУБД, прошу поделиться. MySQL видится более распространенной и простой в установке и обслуживании, но имеются следующие опасения (если я в чем-то не прав, прошу поправить): 1. 1С не поддерживает MySQL, но поддерживает PostgreSQL. Это технически обоснованно или сложилось исторически? 2. У MySQL нет аналога конструкции Apply (Lateral Join). Значит ли это, что запрос с выборкой головной записи и первой по дате из подчиненной коллекции в Entity Framework будет неэффективным? 3. MySql не поддерживает оконные функции (ROW_NUMBER). Значит ли это, что запрос с Paging [LINQ Select(...).Skip(X).Take(Y)] будет неэффективным? 4. Отсутствие поддержки GUID в MySql (у нас в БД почти во всех таблицах (кроме неизменяемых справочников) это - первичный ключ). В качестве альтернативы предлагается CHAR(36). Но это увеличит длину ключа (а, следовательно, и всех индексов) более, чем вдвое. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2015, 18:33 |
|
Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL
|
|||
---|---|---|---|
#18+
Насколько я помню, у MSSQL имеется бесплатная редакция Express. Это наиболее простой и безболезненный вариант предложить клиентам бесплатную СУБД с возможным последующим переходом на взрослую. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2015, 18:53 |
|
Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL
|
|||
---|---|---|---|
#18+
Gluck_13Стоит задача поддержки бесплатной СУБД (дополнительно к MS SQL). Рассматриваются варианты MySQL и PostgreSQL. Забудь. Ни одно мелкомягкое поделие не будет нормально работать с любой другой СУБД. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2015, 19:13 |
|
Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL
|
|||
---|---|---|---|
#18+
Gluck_13, Всегда полагал, что такие веши, как EF, изначально и создавались, как слой абстракции от конкретной СУБД для "разработчиков не баз данных". Само по себе использование EF ставит под вопрос эффективность решения в целом. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2015, 21:48 |
|
Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL
|
|||
---|---|---|---|
#18+
1. 1С не поддерживает MySQL, но поддерживает PostgreSQL. Это технически обоснованно или сложилось исторически? это обусловлено тем, что mysql-говно собачье, а PG СУБД. 2. У MySQL нет аналога конструкции Apply (Lateral Join). Значит ли это, что запрос с выборкой головной записи и первой по дате из подчиненной коллекции в Entity Framework будет неэффективным? не обязательно, надо смотреть планы. 3. MySql не поддерживает оконные функции (ROW_NUMBER). Значит ли это, что запрос с Paging [LINQ Select(...).Skip(X).Take(Y)] будет неэффективным? тоже не обязательно. 4. Отсутствие поддержки GUID в MySql (у нас в БД почти во всех таблицах (кроме неизменяемых справочников) это - первичный ключ). В качестве альтернативы предлагается CHAR(36). Но это увеличит длину ключа (а, следовательно, и всех индексов) более, чем вдвое. это не очень страшно. плохо, но не смертельно. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2015, 23:46 |
|
Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL
|
|||
---|---|---|---|
#18+
softwarerНасколько я помню, у MSSQL имеется бесплатная редакция Express. Это наиболее простой и безболезненный вариант предложить клиентам бесплатную СУБД с возможным последующим переходом на взрослую. Дело в том, что у клиентов уже "взрослые" данные, не помещающие в 10 GB SQL Express (либо близко к тому). А ограничение памяти в 1GB сводит на нет эффективность кэширования. Кроме того, в свете последних событий, цена клиентской лицензии "взрослой" СУБД стала "кусаться" на фоне клиентской лицензии нашего ПО. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2015, 01:40 |
|
Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL
|
|||
---|---|---|---|
#18+
pkarklinGluck_13, Всегда полагал, что такие веши, как EF, изначально и создавались, как слой абстракции от конкретной СУБД для "разработчиков не баз данных". Само по себе использование EF ставит под вопрос эффективность решения в целом. Это понятно, 95% приложения и живет за этим слоем абстракции. А использование определенных подходов к построению LINQ-запросов, а также собственный механизм, обеспечивающий в LINQ2EF обращение к временным таблицам и динамическому SQL, позволяет достичь производительности, сопоставимой с "голым" T-SQL. Остальные 5% вполне возможно также спрятать за слоем абстракции от конкретной СУБД. Речь идет о выборе СУБД, в которой те же подходы не вызовут существенного (в разы) понижения производительности относительно MS SQL. Чтобы LINQ запросы (а они бывают весьма замысловатыми), транслируемые EF посредством провайдера этой СУБД, приводили к тем же результатам, что и для MS SQL. Ну и чтобы набор возможностей был аналогичен, либо имелись адекватные замены (типы данных, уровни изоляции - часто используем SNAPSHOT, MARS и т.п.). ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2015, 02:02 |
|
Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL
|
|||
---|---|---|---|
#18+
Gluck_13Это понятно, 95% приложения и живет за этим слоем абстракции. А использование определенных подходов к построению LINQ-запросов, а также собственный механизм, обеспечивающий в LINQ2EF обращение к временным таблицам и динамическому SQL, позволяет достичь производительности, сопоставимой с "голым" T-SQL. Остальные 5% вполне возможно также спрятать за слоем абстракции от конкретной СУБД. Речь идет о выборе СУБД, в которой те же подходы не вызовут существенного (в разы) понижения производительности относительно MS SQL. Чтобы LINQ запросы (а они бывают весьма замысловатыми), транслируемые EF посредством провайдера этой СУБД, приводили к тем же результатам, что и для MS SQL. Ну и чтобы набор возможностей был аналогичен, либо имелись адекватные замены (типы данных, уровни изоляции - часто используем SNAPSHOT, MARS и т.п.). Ну если что, то для C# есть Hibernate - NHibernate. Если не понравиться LINQ можно попробовать его. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2015, 07:05 |
|
Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL
|
|||
---|---|---|---|
#18+
Gluck_13pkarklinGluck_13, Всегда полагал, что такие веши, как EF, изначально и создавались, как слой абстракции от конкретной СУБД для "разработчиков не баз данных". Само по себе использование EF ставит под вопрос эффективность решения в целом. Это понятно, 95% приложения и живет за этим слоем абстракции. А использование определенных подходов к построению LINQ-запросов, а также собственный механизм, обеспечивающий в LINQ2EF обращение к временным таблицам и динамическому SQL, позволяет достичь производительности, сопоставимой с "голым" T-SQL. Остальные 5% вполне возможно также спрятать за слоем абстракции от конкретной СУБД. Речь идет о выборе СУБД, в которой те же подходы не вызовут существенного (в разы) понижения производительности относительно MS SQL. Чтобы LINQ запросы (а они бывают весьма замысловатыми), транслируемые EF посредством провайдера этой СУБД, приводили к тем же результатам, что и для MS SQL. Ну и чтобы набор возможностей был аналогичен, либо имелись адекватные замены (типы данных, уровни изоляции - часто используем SNAPSHOT, MARS и т.п.).А что вы уже попробовали? Заточили слой доступа данных конкретно под MS SQL, глядишь с другой СУБД тупо не заведётся. Ставьте PostgreSQL и тестируйте основные сценарии. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2015, 09:45 |
|
Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL
|
|||
---|---|---|---|
#18+
skyANAА что вы уже попробовали? Заточили слой доступа данных конкретно под MS SQL, глядишь с другой СУБД тупо не заведётся. Ставьте PostgreSQL и тестируйте основные сценарии. Чтобы что-то попробовать, надо определиться с выбором. В простеньких тестовых приложениях все работает нормально с любым сервером. Чтобы добраться до тех деталей, в которых кроется дьявол, надо будет затратить, как минимум, 2-3 чел.мес, и было бы обидно после таких затрат столкнуться с непреодолимыми трудностями. Поэтому и хотелось бы услышать мнение тех, кто уже проходил такой путь. Кстати, уже второй человек предлагает PostgreSQL. Значит ли это, что MySQL и рассматривать не стоит? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2015, 10:36 |
|
Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL
|
|||
---|---|---|---|
#18+
Gluck_13skyANAА что вы уже попробовали? Заточили слой доступа данных конкретно под MS SQL, глядишь с другой СУБД тупо не заведётся. Ставьте PostgreSQL и тестируйте основные сценарии. Чтобы что-то попробовать, надо определиться с выбором. В простеньких тестовых приложениях все работает нормально с любым сервером. Чтобы добраться до тех деталей, в которых кроется дьявол, надо будет затратить, как минимум, 2-3 чел.мес, и было бы обидно после таких затрат столкнуться с непреодолимыми трудностями. Поэтому и хотелось бы услышать мнение тех, кто уже проходил такой путь. Кстати, уже второй человек предлагает PostgreSQL. Значит ли это, что MySQL и рассматривать не стоит? PG - очень приличная субд. Для любых целей. С нее на майскл еще никто не уходил ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2015, 10:50 |
|
Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL
|
|||
---|---|---|---|
#18+
Gluck_13Речь идет о выборе СУБД, в которой те же подходы не вызовут существенного (в разы) понижения производительности относительно MS SQL. Чтобы LINQ запросы (а они бывают весьма замысловатыми), транслируемые EF посредством провайдера этой СУБД, приводили к тем же результатам, что и для MS SQL. Ну и чтобы набор возможностей был аналогичен, либо имелись адекватные замены (типы данных, уровни изоляции - часто используем SNAPSHOT, MARS и т.п.). Бесперспективняк. Начальным выбором технологии доступа вы сами загнали себя в мышеловку. Выхода уже нет. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2015, 12:25 |
|
Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL
|
|||
---|---|---|---|
#18+
Gluck_13Кстати, уже второй человек предлагает PostgreSQL. Значит ли это, что MySQL и рассматривать не стоит? Волею судеб (заказчика) приходиться использовать MySQL в текущем проекте... Я и не знал, что знаю столько материных слов и ругательств. P.S. По мне, если есть возможность не использовать MySQL, то не нужно его использовать. PostgreSQL мне нравиться, более того мне нравиться как его развивают. Имея строгую типизацию и нормальный ACID, он вместе с тем более гибок, чем NoSQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2015, 12:41 |
|
Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL
|
|||
---|---|---|---|
#18+
mad_nazgulВолею судеб (заказчика) приходиться использовать MySQL в текущем проекте... Я и не знал, что знаю столько материных слов и ругательств.а можно какую-то конкретику? (я с ним вообще не знаком, просто интересно) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2015, 12:50 |
|
Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL
|
|||
---|---|---|---|
#18+
SergSuper, просто достаточно посмотреть на диалект его SQL (INSERT IGNORE | ON DUPLICATE KEY UPDATE вместо нормального MERGE, нет CTE в том числе рекурсивных, вместо нормальной операции конкатенации строк || функция concat, совершено несуразные способы генерации пользовательских исключений, обработка курсоров тоже через зад делается особенно досрочный выход). Они его видать с потолка берут. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2015, 13:02 |
|
Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL
|
|||
---|---|---|---|
#18+
SergSupermad_nazgulВолею судеб (заказчика) приходиться использовать MySQL в текущем проекте... Я и не знал, что знаю столько материных слов и ругательств.а можно какую-то конкретику? (я с ним вообще не знаком, просто интересно) Ну например сегодня 2 часа потратил на "баг". Один и тот же запрос, с одними и теми же параметрами, через один и тот же JDBC драйвер в Tomcat и JBoss давал разные результаты. Причем по трассеру видно, что все одинаково. Но какой-то не явный параметр соединения к БД дает развлечение на два часа. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2015, 14:22 |
|
Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL
|
|||
---|---|---|---|
#18+
mad_nazgulкакой-то не явный параметр соединения к БД дает развлечение на два часа. Это как в MS SQL "SET ANSI_NULLS ON", например?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2015, 14:31 |
|
Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovmad_nazgulкакой-то не явный параметр соединения к БД дает развлечение на два часа. Это как в MS SQL "SET ANSI_NULLS ON", например?.. Фиг его знает. Самое смешное, что параметры соединения были одинаковые. С PostgreSQL таких странностей не наблюдал. Или вот пример сейчас - BETWEEN работает не так как ? <= date AND date <= ? Как почитал зависит от типа и передаваемой строки. В общем, я узнаю о себе много нового. Я не знал, что могу говорить такие маты :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2015, 16:02 |
|
Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL
|
|||
---|---|---|---|
#18+
DB2 Express???? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 09:39 |
|
Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL
|
|||
---|---|---|---|
#18+
mad_nazgulDimitry Sibiryakovпропущено... Это как в MS SQL "SET ANSI_NULLS ON", например?.. Фиг его знает. Самое смешное, что параметры соединения были одинаковые. С PostgreSQL таких странностей не наблюдал. Или вот пример сейчас - BETWEEN работает не так как ? <= date AND date <= ? Как почитал зависит от типа и передаваемой строки. В общем, я узнаю о себе много нового. Я не знал, что могу говорить такие маты :-) нечетатели доки такие нечетатели. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 16:14 |
|
Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL
|
|||
---|---|---|---|
#18+
ScareCrowнечетатели доки такие нечетатели. Для нормальных СУБД, поведение стандартных вещей определяется спецификацией SQL, не документацией. ;-) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2015, 06:58 |
|
Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL
|
|||
---|---|---|---|
#18+
xz321DB2 Express????Вообще про него никто не вспоминает почему-то. А ведь и 1С поддерживает, и ограничений на размер БД нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2015, 07:35 |
|
Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL
|
|||
---|---|---|---|
#18+
Дикий Биллxz321DB2 Express????Вообще про него никто не вспоминает почему-то. А ведь и 1С поддерживает, и ограничений на размер БД нет. не знаю... может еще informix вспомнить??? имхо, теряет рынок ибм ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2015, 11:19 |
|
Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL
|
|||
---|---|---|---|
#18+
Ivan DurakДикий Биллпропущено... Вообще про него никто не вспоминает почему-то. А ведь и 1С поддерживает, и ограничений на размер БД нет. не знаю... может еще informix вспомнить??? имхо, теряет рынок ибм Картинка со статьи 2010го года. Microsoft 15.5%, IBM 14.8%. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2015, 06:42 |
|
Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL
|
|||
---|---|---|---|
#18+
Gluck_13 Кстати, уже второй человек предлагает PostgreSQL. Значит ли это, что MySQL и рассматривать не стоит? "я хочу продать свой фольксваген, и пересесть на ауди или мерседес, мне также рекомендуют форд, так стоит мне попробовать еще и запорожец? " да, конечно же попробуй, вдруг понравиться... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2015, 07:19 |
|
Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL
|
|||
---|---|---|---|
#18+
Дикий БиллIvan Durakпропущено... не знаю... может еще informix вспомнить??? имхо, теряет рынок ибм Картинка со статьи 2010го года. Microsoft 15.5%, IBM 14.8%. это что за картинка? как подсчитана? судя по всему это что-то типа проданных лицензий посчитанно и то не факт. Или только для банков. В реальном мире тут майксл и тот же постгрес за счет количества баз в одном только вебе обойдут всех кроме оракла разве что. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2015, 09:42 |
|
Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL
|
|||
---|---|---|---|
#18+
Ivan DurakДикий Биллпропущено... Картинка со статьи 2010го года. Microsoft 15.5%, IBM 14.8%. это что за картинка? как подсчитана? судя по всему это что-то типа проданных лицензий посчитанно и то не факт. Или только для банков. В реальном мире тут майксл и тот же постгрес за счет количества баз в одном только вебе обойдут всех кроме оракла разве что.Там же написано "структура рынка". Бесплатные продукты на рынок влияние не оказывают. Посчитан либо доход от продажи лицензий, либо все доходы соответствующих компаний от СУБД. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2015, 21:21 |
|
Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL
|
|||
---|---|---|---|
#18+
SТUDЕNТIvan Durakпропущено... это что за картинка? как подсчитана? судя по всему это что-то типа проданных лицензий посчитанно и то не факт. Или только для банков. В реальном мире тут майксл и тот же постгрес за счет количества баз в одном только вебе обойдут всех кроме оракла разве что.Там же написано "структура рынка". Бесплатные продукты на рынок влияние не оказывают. Посчитан либо доход от продажи лицензий, либо все доходы соответствующих компаний от СУБД. еще как оказывают! Если оракл массово меняют на pg из-за цены - это еще какое влияние на рынок ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2015, 22:04 |
|
|
start [/forum/topic.php?all=1&fid=35&tid=1552338]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 10ms |
total: | 153ms |
0 / 0 |