2008-09-25 7 views
10

Ich plane derzeit die Infrastruktur für mein zukünftiges Webprojekt. Ich möchte den Weg gehen, den Joel mit einer DB pro Kunde gemacht hat und jetzt darüber nachdenke, welche DB-Engine gut für mich sein wird. Das Beste wäre natürlich SQL Server, aber ich kann mir im Moment keine vollständige Version leisten und ich denke nicht, dass SQL Server Express eine gute Wahl für den geladenen Dienst sein wird. Jetzt denke ich stattdessen an PostgreSQL. Angesichts der Tatsache, dass meine Entwicklungsumgebung ASP.NET 3.5 mit sagen wir NHibernate oder LINQ to SQL sein wird, wie viel Mühe habe ich, wenn ich PostgreSQL anstelle von SQL Server verwenden?Planen, PostgreSQL mit ASP.NET zu verwenden: schlechte Idee?

Danke!

Antwort

3

Warum nicht mit SQL Server Express starten und migrieren, wenn Sie das Geld haben? Auf diese Weise können Sie sich dem zuwenden, was Sie für ideal halten, und die Umwandlungskosten senken.

+0

ich in der Produktion mit einem kleinen App SQL Server Express verwenden und unterstützt 9 dbs (von echten Kunden mit es) makellos. Sie müssen nur die Server-Ressourcen überwachen, um zu entscheiden, wann zu einer nicht freien SS-Edition gesprungen werden soll. – LaBracca

1

Wenn Sie mit PostgreSQL arbeiten, können Sie LINQ to SQL nicht verwenden. Derzeit arbeitet LINQ nur mit SQL Server (möglicherweise Oracle). Ich bin mir nicht sicher über NHibernate. Auch, wenn Sie PostgreSQL verwenden, das letzte Mal, als ich überprüft habe, hatten sie Windows-Unterstützung fallen gelassen. Sie werden also nach einer zweiten Box suchen, auf der Linux für die DB läuft.

[EDIT]

Es stellt sich heraus PostgreSQL unter Windows unterstützt wird. Ich kann mich nicht erinnern, wo ich gesehen habe, dass Unterstützung gestrichen wurde. Wie auch immer, ich habe gehört, dass es unter Linux sowieso besser läuft, also solltest du es vielleicht trotzdem versuchen.

+0

Postgres hat Windows-Versionen aller 8.x-Versionen: http://www.postgresql.org/download/windows – Powerlord

+0

Unterstützung für Postgres 8.0 .x unter Windows wurde vor einiger Zeit eingestellt. –

4

Ich denke nicht, dass es eine schlechte Idee ist, aber eine großartige Erfahrung.

Übrigens ist NHibernate der Weg zu gehen Linq zu Nhibernate ist unter starker Entwicklung und im Kofferraum verfügbar, wenn Sie also kümmern, "was mich nicht interessiert" über Linq nicht erschrecken, es zu benutzen.

11

NHibernate funktioniert OK mit PostgreSQL (ob die Datenbank auf Windows oder UNIX-ähnliche Betriebssysteme ist) und .NET funktioniert gut mit dem Npgsql DB-Provider.

Das einzige "Problem", das Sie bekommen, ist natürlich, dass PostgreSQL T-SQL nicht tut. Tatsächlich ist die PL/pgSQL-gespeicherte proc-Sprache näher an Oracle PL/SQL als an MS SQL Server T-SQL. Sie müssen also Ihre gespeicherten Prozeduren neu codieren und es wird einige Fehler geben, auf die Sie achten sollten, wenn Sie ADO.NET ausführen. Wenn Sie NHibernate verwenden, müssen Sie sich wahrscheinlich nicht viel Gedanken darüber machen. Keine LINQ to SQL, so viel Glück für Sie.

PostgreSQL ist skalierbar und funktioniert jetzt mit Windows (frühere Versionen haben Windows nicht offiziell unterstützt), und pgAdmin ist ein gutes Management-Tool dafür, Sie können die meisten Dinge tun, die Sie mit SQL machen können Server GUI-Tools damit in kurzer Zeit.

+4

Für Leute, die hier vorbei kommen (da diese Antwort 7 Jahre alt ist), verwende ich dieses genaue Setup und es funktioniert bis jetzt vollkommen in Ordnung. –

1

In diesen Tagen arbeitet Postgres wirklich schnell mit .net und es ist so gut oder sogar besser als die proprietäre mssql