Планирование использования PostgreSQL с ASP.NET: плохая идея?

В настоящее время я планирую инфраструктуру для своего будущего веб-проекта. Я хочу пойти по тому же пути, что и Джоэл, имея по одной БД на каждого клиента, и теперь думаю, какой движок БД мне подойдет. Лучшим, конечно, был бы SQL Server, но я не могу позволить себе полноценную версию в данный момент и не думаю, что SQL Server Express будет хорошим выбором для загруженной службы. Теперь я подумываю использовать вместо этого PostgreSQL. Учитывая, что моей средой разработки будет ASP.NET 3.5 с, скажем, NHibernate или LINQ to SQL, сколько проблем у меня возникнет, если я буду использовать PostgreSQL вместо SQL Server?

Спасибо!

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
10
0
7 864
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Ответ принят как подходящий

Почему бы не начать с SQL Server Express и не перейти на него, когда у вас есть деньги? Таким образом вы сможете приблизиться к тому, что считаете идеальным, и снизить затраты на конверсию.

Я использую sql server express в производстве с небольшим приложением, и он поддерживает 9 дБ (реальных клиентов, использующих его) безупречно. Вам просто нужно следить за ресурсами сервера, чтобы решить, когда перейти на платную версию SS.

LaBracca 14.07.2014 17:05

Если вы выберете PostgreSQL, вы не сможете использовать LINQ to SQL. В настоящее время LINQ работает только с SQL Server (возможно, с Oracle). Я не уверен насчет NHibernate. Кроме того, если вы используете PostgreSQL, в прошлый раз, когда я проверял, они отказались от поддержки Windows. Итак, вы будете искать второй компьютер под управлением Linux для БД.

[РЕДАКТИРОВАТЬ]

Оказывается, PostgreSQL поддерживается в Windows. Не могу вспомнить, где я видел отмену поддержки. В любом случае, я слышал, что в Linux он работает лучше, так что вы, возможно, захотите сделать это в любом случае.

Postgres имеет версии Windows всех версий 8.x: postgresql.org/download/windows

Powerlord 25.09.2008 05:37

Поддержка Postgres 8.0.x в Windows некоторое время назад была прекращена.

Milen A. Radev 25.09.2008 13:59

Я не думаю, что это плохая идея, но отличный опыт.

Между прочим, NHibernate - это способ перехода от Linq к Nhibernate, который находится в стадии интенсивной разработки и доступен в магистрали, поэтому, если вам все равно, «что мне все равно» о Linq, не бойтесь его использовать.

NHibernate нормально работает с PostgreSQL (независимо от того, находится ли база данных в Windows или UNIX-подобных ОС), а .NET хорошо работает с ним с помощью поставщика базы данных Npgsql.

Единственная «проблема», с которой вы столкнетесь, - конечно, PostgreSQL не поддерживает T-SQL. Фактически, его язык хранимых процедур PL / pgSQL ближе к PL / SQL Oracle, чем к T-SQL MS SQL Server. Таким образом, вам придется перекодировать сохраненные процессы, и будут некоторые подводные камни, на которые следует обратить внимание, если вы будете использовать ADO.NET. Если вы используете NHibernate, вам, вероятно, не придется сильно об этом беспокоиться. Нет LINQ to SQL, так что вам не повезло.

PostgreSQL масштабируется и теперь работает нормально с Windows (более ранние версии не поддерживали Windows формально), а pgAdmin - хороший инструмент управления для него, вы сможете делать большинство вещей, которые вы можете делать с инструментами графического интерфейса SQL Server, с это в короткие сроки.

Для людей, которые приходят сюда (так как этому ответу 7 лет), я использую именно эту настройку, и пока она работает отлично.

Millie Smith 14.05.2015 16:51

В наши дни postgres работает очень быстро с .net, и он так же хорош или даже лучше, чем проприетарный mssql.

Другие вопросы по теме