Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL  [new]
Gluck_13
Member

Откуда: Санкт-Петербург
Сообщений: 207
Добрый день!

Имеется проект с БД 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 мар 15, 18:33    [17391261]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67534
Блог
Насколько я помню, у MSSQL имеется бесплатная редакция Express. Это наиболее простой и безболезненный вариант предложить клиентам бесплатную СУБД с возможным последующим переходом на взрослую.
16 мар 15, 18:53    [17391307]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54848

Gluck_13
Стоит задача поддержки бесплатной СУБД (дополнительно к MS SQL).
Рассматриваются варианты MySQL и PostgreSQL.

Забудь. Ни одно мелкомягкое поделие не будет нормально работать с любой другой СУБД.

Posted via ActualForum NNTP Server 1.5

16 мар 15, 19:13    [17391349]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Gluck_13,

Всегда полагал, что такие веши, как EF, изначально и создавались, как слой абстракции от конкретной СУБД для "разработчиков не баз данных".

Само по себе использование EF ставит под вопрос эффективность решения в целом.
16 мар 15, 21:48    [17391861]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709
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 мар 15, 23:46    [17392181]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL  [new]
Gluck_13
Member

Откуда: Санкт-Петербург
Сообщений: 207
softwarer
Насколько я помню, у MSSQL имеется бесплатная редакция Express. Это наиболее простой и безболезненный вариант предложить клиентам бесплатную СУБД с возможным последующим переходом на взрослую.


Дело в том, что у клиентов уже "взрослые" данные, не помещающие в 10 GB SQL Express (либо близко к тому). А ограничение памяти в 1GB сводит на нет эффективность кэширования. Кроме того, в свете последних событий, цена клиентской лицензии "взрослой" СУБД стала "кусаться" на фоне клиентской лицензии нашего ПО.
17 мар 15, 01:40    [17392335]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL  [new]
Gluck_13
Member

Откуда: Санкт-Петербург
Сообщений: 207
pkarklin
Gluck_13,

Всегда полагал, что такие веши, как EF, изначально и создавались, как слой абстракции от конкретной СУБД для "разработчиков не баз данных".

Само по себе использование EF ставит под вопрос эффективность решения в целом.


Это понятно, 95% приложения и живет за этим слоем абстракции. А использование определенных подходов к построению LINQ-запросов, а также собственный механизм, обеспечивающий в LINQ2EF обращение к временным таблицам и динамическому SQL, позволяет достичь производительности, сопоставимой с "голым" T-SQL. Остальные 5% вполне возможно также спрятать за слоем абстракции от конкретной СУБД.

Речь идет о выборе СУБД, в которой те же подходы не вызовут существенного (в разы) понижения производительности относительно MS SQL. Чтобы LINQ запросы (а они бывают весьма замысловатыми), транслируемые EF посредством провайдера этой СУБД, приводили к тем же результатам, что и для MS SQL. Ну и чтобы набор возможностей был аналогичен, либо имелись адекватные замены (типы данных, уровни изоляции - часто используем SNAPSHOT, MARS и т.п.).
17 мар 15, 02:02    [17392355]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5825
Gluck_13
Это понятно, 95% приложения и живет за этим слоем абстракции. А использование определенных подходов к построению LINQ-запросов, а также собственный механизм, обеспечивающий в LINQ2EF обращение к временным таблицам и динамическому SQL, позволяет достичь производительности, сопоставимой с "голым" T-SQL. Остальные 5% вполне возможно также спрятать за слоем абстракции от конкретной СУБД.

Речь идет о выборе СУБД, в которой те же подходы не вызовут существенного (в разы) понижения производительности относительно MS SQL. Чтобы LINQ запросы (а они бывают весьма замысловатыми), транслируемые EF посредством провайдера этой СУБД, приводили к тем же результатам, что и для MS SQL. Ну и чтобы набор возможностей был аналогичен, либо имелись адекватные замены (типы данных, уровни изоляции - часто используем SNAPSHOT, MARS и т.п.).


Ну если что, то для C# есть Hibernate - NHibernate.
Если не понравиться LINQ можно попробовать его.
17 мар 15, 07:05    [17392469]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28355
Gluck_13
pkarklin
Gluck_13,

Всегда полагал, что такие веши, как EF, изначально и создавались, как слой абстракции от конкретной СУБД для "разработчиков не баз данных".

Само по себе использование EF ставит под вопрос эффективность решения в целом.


Это понятно, 95% приложения и живет за этим слоем абстракции. А использование определенных подходов к построению LINQ-запросов, а также собственный механизм, обеспечивающий в LINQ2EF обращение к временным таблицам и динамическому SQL, позволяет достичь производительности, сопоставимой с "голым" T-SQL. Остальные 5% вполне возможно также спрятать за слоем абстракции от конкретной СУБД.

Речь идет о выборе СУБД, в которой те же подходы не вызовут существенного (в разы) понижения производительности относительно MS SQL. Чтобы LINQ запросы (а они бывают весьма замысловатыми), транслируемые EF посредством провайдера этой СУБД, приводили к тем же результатам, что и для MS SQL. Ну и чтобы набор возможностей был аналогичен, либо имелись адекватные замены (типы данных, уровни изоляции - часто используем SNAPSHOT, MARS и т.п.).
А что вы уже попробовали?

Заточили слой доступа данных конкретно под MS SQL, глядишь с другой СУБД тупо не заведётся.
Ставьте PostgreSQL и тестируйте основные сценарии.
17 мар 15, 09:45    [17392980]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL  [new]
Gluck_13
Member

Откуда: Санкт-Петербург
Сообщений: 207
skyANA
А что вы уже попробовали?

Заточили слой доступа данных конкретно под MS SQL, глядишь с другой СУБД тупо не заведётся.
Ставьте PostgreSQL и тестируйте основные сценарии.


Чтобы что-то попробовать, надо определиться с выбором. В простеньких тестовых приложениях все работает нормально с любым сервером. Чтобы добраться до тех деталей, в которых кроется дьявол, надо будет затратить, как минимум, 2-3 чел.мес, и было бы обидно после таких затрат столкнуться с непреодолимыми трудностями. Поэтому и хотелось бы услышать мнение тех, кто уже проходил такой путь.

Кстати, уже второй человек предлагает PostgreSQL. Значит ли это, что MySQL и рассматривать не стоит?
17 мар 15, 10:36    [17393314]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3796
Gluck_13
skyANA
А что вы уже попробовали?

Заточили слой доступа данных конкретно под MS SQL, глядишь с другой СУБД тупо не заведётся.
Ставьте PostgreSQL и тестируйте основные сценарии.


Чтобы что-то попробовать, надо определиться с выбором. В простеньких тестовых приложениях все работает нормально с любым сервером. Чтобы добраться до тех деталей, в которых кроется дьявол, надо будет затратить, как минимум, 2-3 чел.мес, и было бы обидно после таких затрат столкнуться с непреодолимыми трудностями. Поэтому и хотелось бы услышать мнение тех, кто уже проходил такой путь.

Кстати, уже второй человек предлагает PostgreSQL. Значит ли это, что MySQL и рассматривать не стоит?

PG - очень приличная субд. Для любых целей. С нее на майскл еще никто не уходил
17 мар 15, 10:50    [17393392]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54848

Gluck_13
Речь идет о выборе СУБД, в которой те же подходы не вызовут существенного
(в разы) понижения производительности относительно MS SQL. Чтобы LINQ запросы (а они
бывают весьма замысловатыми), транслируемые EF посредством провайдера этой СУБД, приводили
к тем же результатам, что и для MS SQL. Ну и чтобы набор возможностей был аналогичен, либо
имелись адекватные замены (типы данных, уровни изоляции - часто используем SNAPSHOT, MARS
и т.п.).

Бесперспективняк. Начальным выбором технологии доступа вы сами загнали себя в мышеловку.
Выхода уже нет.

Posted via ActualForum NNTP Server 1.5

17 мар 15, 12:25    [17393978]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5825
Gluck_13
Кстати, уже второй человек предлагает PostgreSQL. Значит ли это, что MySQL и рассматривать не стоит?


Волею судеб (заказчика) приходиться использовать MySQL в текущем проекте...
Я и не знал, что знаю столько материных слов и ругательств.

P.S. По мне, если есть возможность не использовать MySQL, то не нужно его использовать.
PostgreSQL мне нравиться, более того мне нравиться как его развивают.
Имея строгую типизацию и нормальный ACID, он вместе с тем более гибок, чем NoSQL.
17 мар 15, 12:41    [17394091]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
mad_nazgul
Волею судеб (заказчика) приходиться использовать MySQL в текущем проекте...
Я и не знал, что знаю столько материных слов и ругательств.
а можно какую-то конкретику?
(я с ним вообще не знаком, просто интересно)
17 мар 15, 12:50    [17394149]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 11118
SergSuper,

просто достаточно посмотреть на диалект его SQL (INSERT IGNORE | ON DUPLICATE KEY UPDATE вместо нормального MERGE, нет CTE в том числе рекурсивных, вместо нормальной операции конкатенации строк || функция concat, совершено несуразные способы генерации пользовательских исключений, обработка курсоров тоже через зад делается особенно досрочный выход). Они его видать с потолка берут.
17 мар 15, 13:02    [17394236]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5825
SergSuper
mad_nazgul
Волею судеб (заказчика) приходиться использовать MySQL в текущем проекте...
Я и не знал, что знаю столько материных слов и ругательств.
а можно какую-то конкретику?
(я с ним вообще не знаком, просто интересно)


Ну например сегодня 2 часа потратил на "баг".
Один и тот же запрос, с одними и теми же параметрами, через один и тот же JDBC драйвер в Tomcat и JBoss давал разные результаты.
Причем по трассеру видно, что все одинаково.
Но какой-то не явный параметр соединения к БД дает развлечение на два часа.
17 мар 15, 14:22    [17394739]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54848

mad_nazgul
какой-то не явный параметр соединения к БД дает развлечение на два часа.

Это как в MS SQL "SET ANSI_NULLS ON", например?..

Posted via ActualForum NNTP Server 1.5

17 мар 15, 14:31    [17394783]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5825
Dimitry Sibiryakov
mad_nazgul
какой-то не явный параметр соединения к БД дает развлечение на два часа.

Это как в MS SQL "SET ANSI_NULLS ON", например?..


Фиг его знает.
Самое смешное, что параметры соединения были одинаковые.
С PostgreSQL таких странностей не наблюдал.

Или вот пример сейчас -
BETWEEN работает не так как ? <= date AND date <= ?
Как почитал зависит от типа и передаваемой строки.

В общем, я узнаю о себе много нового.
Я не знал, что могу говорить такие маты :-)
17 мар 15, 16:02    [17395387]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL  [new]
xz321
Guest
DB2 Express????
18 мар 15, 09:39    [17397756]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL  [new]
ScareCrow
Member

Откуда: Белый город
Сообщений: 17472
mad_nazgul
Dimitry Sibiryakov
пропущено...

Это как в MS SQL "SET ANSI_NULLS ON", например?..


Фиг его знает.
Самое смешное, что параметры соединения были одинаковые.
С PostgreSQL таких странностей не наблюдал.

Или вот пример сейчас -
BETWEEN работает не так как ? <= date AND date <= ?
Как почитал зависит от типа и передаваемой строки.

В общем, я узнаю о себе много нового.
Я не знал, что могу говорить такие маты :-)


нечетатели доки такие нечетатели.
18 мар 15, 16:14    [17400624]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5825
ScareCrow
нечетатели доки такие нечетатели.


Для нормальных СУБД, поведение стандартных вещей определяется спецификацией SQL, не документацией. ;-)
19 мар 15, 06:58    [17403172]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL  [new]
Дикий Билл
Member

Откуда:
Сообщений: 9652
xz321
DB2 Express????
Вообще про него никто не вспоминает почему-то. А ведь и 1С поддерживает, и ограничений на размер БД нет.
26 мар 15, 07:35    [17433198]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3796
Дикий Билл
xz321
DB2 Express????
Вообще про него никто не вспоминает почему-то. А ведь и 1С поддерживает, и ограничений на размер БД нет.

не знаю... может еще informix вспомнить???
имхо, теряет рынок ибм
26 мар 15, 11:19    [17434028]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL  [new]
Дикий Билл
Member

Откуда:
Сообщений: 9652
Ivan Durak
Дикий Билл
пропущено...
Вообще про него никто не вспоминает почему-то. А ведь и 1С поддерживает, и ограничений на размер БД нет.

не знаю... может еще informix вспомнить???
имхо, теряет рынок ибм

Картинка со статьи 2010го года. Microsoft 15.5%, IBM 14.8%.

Картинка с другого сайта.
27 мар 15, 06:42    [17438163]     Ответить | Цитировать Сообщить модератору
 Re: Выбор бесплатной СУБД под Entity Framework как альтернативы MS SQL  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709
Gluck_13

Кстати, уже второй человек предлагает PostgreSQL. Значит ли это, что MySQL и рассматривать не стоит?


"я хочу продать свой фольксваген, и пересесть на ауди или мерседес, мне также рекомендуют форд, так стоит мне попробовать еще и запорожец? "

да, конечно же попробуй, вдруг понравиться...
27 мар 15, 07:19    [17438195]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить