Comments 13
Есть мнение, что можно было пересесть с мерседеса не на жигули(Mysql), а хотя бы на Man(postgresql) :))
-3
Несмотря на то, что postgresql — действительно лучше mysql как сервер, иногда нужно тупо хранить какие-то данные просто в таблице без замашек на всякие крутые штуки, типа хранимых процедур, хитрых индексов, типов данных и т.п.
В нашем случае это как раз так — мы очень редко пишем в базу, чуть чаще читаем, а для всего остального используем масштабируемые key-value хранилища.
В нашем случае это как раз так — мы очень редко пишем в базу, чуть чаще читаем, а для всего остального используем масштабируемые key-value хранилища.
0
Банально в плане лицензий postgresql более лоялен, нежели mysql.
А «хитрыми» процедурами и индексами, вас никто и не заставляет пользоваться.
Если же необходимо key-value хранилище, к тому же не распределенное, то sqlite вам ещё больше подходит.
А если необходимо распределенное, да вы еще и на C# пишете, то добро пожаловать в мир RavenDB
А «хитрыми» процедурами и индексами, вас никто и не заставляет пользоваться.
Если же необходимо key-value хранилище, к тому же не распределенное, то sqlite вам ещё больше подходит.
А если необходимо распределенное, да вы еще и на C# пишете, то добро пожаловать в мир RavenDB
+2
Подскажите MS Sql > PostgreSql migration tool, please
0
wiki.postgresql.org/wiki/Converting_from_other_Databases_to_PostgreSQL#Microsoft_SQL_Server
www.enterprisedb.com/downloads/add-on-components-bundles — бесплатно, ну и вообще, с инсталлером идут всякие тулзы, там же можно доставить всякое
dbconvert.com/ru/convert-mssql-to-postgre-pro.php — платно
www.enterprisedb.com/downloads/add-on-components-bundles — бесплатно, ну и вообще, с инсталлером идут всякие тулзы, там же можно доставить всякое
dbconvert.com/ru/convert-mssql-to-postgre-pro.php — платно
0
Спасибо, очень познавательно.
0
Прекрасно!!! Спасибо.
С гуидами печаль, конечно. Все сконвертить в строку — оно конечно можно, но если данных гигабайы? Ссыкотно.
Кстати, еще одной практикой хранения гуидов в мускуле является binary[16]
С гуидами печаль, конечно. Все сконвертить в строку — оно конечно можно, но если данных гигабайы? Ссыкотно.
Кстати, еще одной практикой хранения гуидов в мускуле является binary[16]
+1
Как-то непонятно
>>Работа с базой MSSQL в нашем случае осуществляется через LINQ провайдер.
Через какой LINQ провайдер? «Linq provider» уж слишком обощенный термин. Провайдер есть в Linq-2-Sql, в Nhinbernate, в EF и уже очень многих ORM.
Мне видится, что если бы проект был написан с использование NHibernate или EF, то проблемы перевода практически не было.
>>Работа с базой MSSQL в нашем случае осуществляется через LINQ провайдер.
Через какой LINQ провайдер? «Linq provider» уж слишком обощенный термин. Провайдер есть в Linq-2-Sql, в Nhinbernate, в EF и уже очень многих ORM.
Мне видится, что если бы проект был написан с использование NHibernate или EF, то проблемы перевода практически не было.
0
>>Через какой LINQ провайдер?
LINQ-2-SQL
LINQ-2-SQL
0
L2S — это ORM. У которого есть LINQ-провайдер. Как и у EF, и у NH, и у BLToolkit. У каждого свой.
Все совершенно верно заметил A1lfeG, реализация некоторых общих extension-методов LINQ может отличаться у разных провайдеров. Плюс, отдельно взятые провайдеры могут поддерживать свои, уникальные методы. Все это, кстати, в общем случае делает LINQ «протекшей абстракцией», благодаря чему часто в работающем проекте LINQ-провайдер нельзя заменить простой заменой реализации интерфейса IQueryProvider, а можно только портировать код, использующий LINQ.
Все совершенно верно заметил A1lfeG, реализация некоторых общих extension-методов LINQ может отличаться у разных провайдеров. Плюс, отдельно взятые провайдеры могут поддерживать свои, уникальные методы. Все это, кстати, в общем случае делает LINQ «протекшей абстракцией», благодаря чему часто в работающем проекте LINQ-провайдер нельзя заменить простой заменой реализации интерфейса IQueryProvider, а можно только портировать код, использующий LINQ.
+1
И так, еще к слову о «Работа с базой MSSQL в нашем случае осуществляется через LINQ провайдер».
Вся работа с базой не может осуществляться через LINQ-провайдер. Только чтение. LINQ-провайдер формирует только SELECT-запрос.
Вся работа с базой не может осуществляться через LINQ-провайдер. Только чтение. LINQ-провайдер формирует только SELECT-запрос.
0
Не сочтите за рекламу, но в той же ситуации я подумал и предложил купить лицензию на www.devart.com/dotconnect/mysql/
Код на дотнете менять не пришлось вообще. Хранимые процедуры переписывали, потому что синтаксис другой и оптимизация кривая.
Код на дотнете менять не пришлось вообще. Хранимые процедуры переписывали, потому что синтаксис другой и оптимизация кривая.
0
Следующим неприятным сюрпризом может стать тот факт, что BLToolkit не экранирует названия полей, поэтому не стоит использовать в ваших таблицах для имени поля всякие ключевые слова типа Key. При трансляции LINQ-выражения в SQL-запрос он упадет с синтаксической ошибкой.На текущий неактуально. Когда я встретился с сей проблемой, то вместо поиска обходных путей прикрутил к BLToolkit экранирование для MySQL.
0
Only those users with full accounts are able to leave comments. Log in, please.
Подводные камни при миграции с MSSQL на MySQL и BLToolkit