|
Выбор бесплатной СУБД под 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 |
|
|
start [/forum/topic.php?fid=35&msg=38907872&tid=1552338]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
151ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 236ms |
total: | 479ms |
0 / 0 |