Ausgabe
Ich schreibe eine Anwendung für mein Unternehmen um, die eine Datenbank erfordert. Wir verwenden derzeit SQL Server 8 und ich werde die Datenbank aktualisieren. Meine Frage ist, welche Datenbank ich verwenden soll. Ich habe mir sowohl SQL Server 2008 r2 als auch PostgreSQL 9 angesehen.
Die Datenbank wird auf einer Windows Server 2008-Box gehostet und sowohl für die eigenständige App als auch für eine zugehörige, in .NET geschriebene Website verwendet.
Einige meiner Bedenken sind:
- Kosten (offensichtlich gewinnt hier PostgreSQL).
- Ist es bereit für die Primetime? Ich habe etwas darüber gelesen, dass es so gut wie SQL ist, hätte aber gerne etwas Input von denen, die es verwenden.
- Benutzerfreundlichkeit. Ich bin sehr vertraut mit SQL Server. Ich habe mit PostgreSQL experimentiert und obwohl es anders ist als SQL Server, bekomme ich den Dreh raus.
- Geschwindigkeit. Ist PostgreSQL so schnell wie SQL Server?
- Kann ich ADO.NET (.NET 4.0) mit PostgreSQL verwenden und die gleiche Funktionalität wie bei Verwendung von SQL Server erhalten (wird Linq oder Entity Framework verwenden)?
Ich werde unsere alte Datenbank in SQL Server 8 NICHT in die neue Datenbank konvertieren, daher mache ich mir keine Gedanken über eine Konvertierung.
Mich würde die Meinung der Leute zu den beiden interessieren und ob PostgreSQL eine akzeptable Lösung für eine Geschäftsanwendung angesichts des oben Gesagten ist.
TIA
Brian
Lösung
Dies hängt wirklich von Ihrer DB-Größe und Ihrer Komfortzone ab.
SQL Server Express Edition ist eine voll funktionsfähige kostenlose Datenbank mit einer Größe von bis zu 4 GB; vollkommen ausreichend für die meisten kleinen bis mittelgroßen Apps. (nebenbei – meiner Meinung nach war die MS-Lizenzierung das Beste, was der Open-Source-Community je passiert ist!!)
PostgreSQL ist eine voll funktionsfähige, kostenlose Datenbank ohne die 4-GB-Beschränkung – PostgreSQL folgt jedoch dem Oracle-Stil von SQL und Datenbankverwaltung. Wenn Sie damit nicht vertraut sind, können Sie auf einige Fallstricke stoßen.
Das Einwerfen von Dot Net in die Mischung fügt eine nicht unbedeutende Falte hinzu. Können Sie .Net mit PostgreSQL verwenden? Ja, aber Dot Net funktioniert besser mit SQL Server. Schreiben Sie gerne komplexen ODBC-Schnittstellencode? Wenn ja, bleibt PostgreSQL ein Anwärter. Wenn nicht, sind Sie mit SQL Server besser dran.
Beantwortet von – Steve G
Antwort geprüft von – David Marino (FixError Volunteer)