SQL Server oder PostgreSQL

Suspekta

Benutzer
Beiträge
7
Hallo,
ich möchte ein größeres Projekt das zur Zeit mit einer MySQL-Datenbank läuft modernisieren.
Die Frage die ich mir stelle welches Datenbanksystem ich verwenden sollte.
SQL Server von Microsoft oder PostgreSQL. Mal von den kosten des SQL Server abgesehen; welches Datenbanksystem würdet ihr empfehlen und warum. Das würde mich sehr interessieren
Danke und
LG
 
Werbung:
Ich persönlich empfinde Postgres als die deutlich angenehmere Datenbank. Es sind ganz viele Kleinigkeiten die das Leben als Entwickler einfach viel einfacher machen (die besseren Fehlermeldung sollte man nicht unterschätzen)

Neulich haben wir ein Reporting System von SQL Server auf Postgres umgestellt, dabei wurde auch eine Replikation von der produktiven Datenbank zum Reportingserver eingerichtet (war vorher alles SQL Server). Nachdem wir das in 15 Minuten eingerichtet hatten, meinte der alte SQL Server Hase nur "Boah, das wäre mit SQL Server viel umständlicher gewesen".

Was ich aber nur empfehlen kann: wenn ihr euch für Postgres entscheidet, tut es euch nicht an, das auf Windows laufen zu lassen. Postgres läuft zwar auch gut und stabil unter Windows, aber praktische alle interessanten und notwendigen Erweiterungen (z.B. Backuptools) laufen nur unter Linux.

Und wenn ihr migriert: lasst euch nicht täuschen: was MySQL als "Database" bezeichnet ist in Wahrheit eine "Schema" - also MySQL "Datenbanken" sollte in Postgres Schemata werden!

Vielleicht interessiert Dich auch diese Gegenüberstellung: SQL Feature Comparison
 
Hallo,
danke für die schnelle Antwort. Ich habe PostgeSQL bei mir erstmal lokal auf dem Rechner unter Windows installiert. Ein einfaches Backupprogramm habe ich auch schon gefunden ^^ Aber klar laufen diese Datenbanken besser unter Linux und seinen Ablegern ... Wobei ich mich mit Linux nicht wirklich gut auskenne werde ich die Datenbank auf einem Windows-Server laufen lassen, da kenne ich mich besser aus ... Gibt es mal abgesehen von diversen Tools noch weitere Gründe gegen eine Windowsinstallation.
Würdest du immer PostgreSQL dem MSSQL vorziehen?
 
Würdest du immer PostgreSQL dem MSSQL vorziehen?
Eigentlich ja. Mir persönlich fällt kein Grund ein SQL Server vorzuziehen.

Kannst Dir ja mal diese Meinungen dazu durchlesen (sind aber schon etwas älter)

* Top 10 Reasons I like Postgres Over SQL Server
* Ten Reasons PostgreSQL is Better Than SQL Server

SQL Server hat in der Enterprise Version(!) einige Vorteile was Ausfallsicherheit und Load-Balancing angeht. Auch das Monitoring ist dort etwas besser und detaillierter. Aber das bezahlt man natürlich auch. Die Integration mit Fremdsystem ist dort auch etwas besser ("Linked Server"). Postgres hat zwar Foreign Data Wrappers, aber ausser dem Postgres und dem Oracle FDW gibt es sonst keine weiteren stabilen und gepflegten FDWs.

Gibt es mal abgesehen von diversen Tools noch weitere Gründe gegen eine Windowsinstallation?
Lizenzkosten? ;)

Nach meiner Erfahrung ist NTFS als Filesystem für Datenbanken einfach nicht so performant wie die Linux-Alternativen (ext4 et al). Ich kann das aber nicht mit harten Fakten belegen, und Microsoft würde mir vermutlich auch vehement widersprechen.
 
Hallo,
was mit zu dem Thema noch einfällt ist der Support. Bei einem MSSQL kann ich zum Systemhaus um die Ecke gehen (ihr wisst was ich meine)
Wie sieht es hier in der PostgeSQL Welt aus?
LG
 
Gibt es mal abgesehen von diversen Tools noch weitere Gründe gegen eine Windowsinstallation.

Kosten (vor allem wenn Du Enterprise-Features haben möchtest), Sicherheit, Performance, Stabilität, Wartbarkeit, in der Regel Fehlermeldungen mit denen man etwas anfangen kann.

Und frag Admins, die schon länger mit beiden Systemen gearbeitet haben, alle anderen erzählen Dir nur von den Dingen, die sie kennen und nichts von den Dingen, die sie nicht kennen.
 
Zuletzt bearbeitet:
Hallo,
was mit zu dem Thema noch einfällt ist der Support. Bei einem MSSQL kann ich zum Systemhaus um die Ecke gehen (ihr wisst was ich meine)
Wie sieht es hier in der PostgeSQL Welt aus?
LG

Da gibt es einige, die Support anbieten. Zum Beispiel wir. Bei Interesse könnt ihr mich gern direkt mal ansprechen, dann können wir gern einen Call organisieren und ich erkläre Euch, wie professioneller Support für PostgreSQL läuft. Und ich denke, wir machen das um Größenordnungen besser als das Systemhaus um die Ecke ...

Ach ja: PostgreSQL und Windows: typisches Problem unter Windows sind Virenscanner. Falls ihr Euch das wirklich antun wollt, PG unter Windows zu betreiben, dann Virenscanner deinstallieren oder zumindest aufpassen, daß dieser nicht im Datenverzeichniss von PG rumpfuscht. Davon abgesehen ist die Performance gefühlt deutlich schlechter, und gescheite PITR-fähige Backup-Programme nicht verfügbar. Von daher auch von mir ganz klare Empfehlung: Linux.
 
Ach ja: PostgreSQL und Windows: typisches Problem unter Windows sind Virenscanner. Falls ihr Euch das wirklich antun wollt, PG unter Windows zu betreiben, dann Virenscanner deinstallieren oder zumindest aufpassen, daß dieser nicht im Datenverzeichniss von PG rumpfuscht.

Das gilt für alle Möglichen Applikationen und Datenbanken. Für den SQL Server gibt es von MS Empfehlungen was die Virescanner Aunahmen betrifft.
 
Es ist ja schon viel für Postgres geschrieben worden. Ich sehe das genauso. Dabei würde ich mich auch nicht von der "Windows" Frage verrückt machen lassen. Nicht unter Windows zu laufen, sondern auf Linux, sehe ich als Vorteil. Ich finde es mittlerweile nur noch ärgerlich, wenn ich nun unter Windows 10 den kleinen orangen Punkt am Start Button sehe, der den Zwang zum Neustart signalisiert. Vielleicht haben sie das in der Serveredition besser im Griff, als auf einem Pro oder "Ultimate", aber meine Erfahrungen sind weniger als bescheiden. Wenn es bspw. mit dem Neustart getan wäre, ok. Nein, vorher gibt gerne mal unerklärbare Effekte, gerade mit RDP, als ob die Installer selber nicht wüssten, ab wann sie einen Reboot brauchen. Naja, eine never ending story..
Aber eins noch: Wenn Microsoft anfängt, Linux in Windows einzubauen und bedeutende Produkte wie z.B. MS SQL Server unter Linux rauszubringen oder etwa eigenen Sourcecode nicht mit eigener Software verwaltet, sondern mit git, sollte einem vielleicht spätestens soetwas zu denken geben.

Man muss wirklich kein Nerd sein, um heute mit Linux zurecht zu kommen.

Eigentlich wollte ich nur fragen, ob man erfahren könnte, wie die Entscheidung ausgefallen ist und warum, reine Neugier.
 
Windows 10 den kleinen orangen Punkt am Start Button sehe, der den Zwang zum Neustart signalisiert.
Das ist einstellungssache und kann deaktiviert werden.
Übrigens GIT gehört Microsoft. MS SQL Server unter Linux macht kein Mensch.
Ach ja: PostgreSQL und Windows: typisches Problem unter Windows sind Virenscanner. Falls ihr Euch das wirklich antun wollt, PG unter Windows zu betreiben, dann Virenscanner deinstallieren oder zumindest aufpassen, daß dieser nicht im Datenverzeichniss von PG rumpfuscht. Davon abgesehen ist die Performance gefühlt deutlich schlechter, und gescheite PITR-fähige Backup-Programme nicht verfügbar. Von daher auch von mir ganz klare Empfehlung: Linux.
Man muss halt Ausnahmen definieren. So wie auch auf einem Linux ein AV zu laufen hat, alles andere ist fahrlässig.
Du schreibst PITR kann also Postgres nicht. Es braucht also dazu Fremdsoftware.
SQL Server kann selbstredend PITR und selbstredend auch bis zum Crash recoveren. OHNE Fremdsoftware. Bitte vorher informieren.
Nach meiner Erfahrung ist NTFS als Filesystem für Datenbanken einfach nicht so performant wie die Linux-Alternativen (ext4 et al).
Wenn dein DB Server vom Filesystem lesen muss is was faul oder wenig zu tun. Das Sizing des Servers schlecht, und, und und.
Hallo,
ich möchte ein größeres Projekt das zur Zeit mit einer MySQL-Datenbank läuft modernisieren.
Die Frage die ich mir stelle welches Datenbanksystem ich verwenden sollte.
SQL Server von Microsoft oder PostgreSQL. Mal von den kosten des SQL Server abgesehen; welches Datenbanksystem würdet ihr empfehlen und warum. Das würde mich sehr interessieren
Danke und
LG
Für mich ganz klar: MS SQL Server. Wie du auch schon aus den anderen Posts für PG rauslesen konntest, is da doch sehr viel Gebastel gefragt. Postgresql kann kein Backup der Datenbanken machen. Das Tool pg_dump erzeugt ein Textfile mit den Befehlen zum wieder herstellen. Das is kein Backup und schon gar nicht sicher.
Außerdem wie sichert man damit eine 1 TB Datenbank???? Du mußt Drittanbieter Tools nutzen.
Kommen wir zum nächsten. Wie groß soll denn die Datenbank werden?
PG kennt keinen Job Scheduler. Was für ein DBMS essentiel ist.
Postgresql kann kein Point in Time Recovery -> Drittanbietertools gefragt. MS SQL Server kann das out of the box.
Und wenn Du SQL Server einfach nur ausprobieren möchtest, die Developer Edition (is gleich Enterprise Edition) ist kostenlos verfügbar.
 
... viele Falschaussagen gelöscht ...

Was Du schreibst ist Quatsch. Großer Quatsch.

  • AV-Software unter Linux ist Bullshit. Ja, ist Ansichtssache.
  • PostgreSQL kann natürlich PITR. Seit 25 Jahren oder so. Ohne Fremdsoftware, rein Out-of-the-Box.
  • PostgreSQL kann natürlich auch Backups. Im laufenden Betrieb, ohne (grobe) Einschränkungen im Berieb. Es gibt pg_dump (dieses kann in versch. Formaten Backups erzeugen), pg_dumpall und pg_basebackup. Damit kannst Du logische und physische Backups machen. Man kann sich enscheiden, wie man seine Backup-Strategie aufbaut. Viele unserer Kunden nutzen z.B. 'Barman' - was aber letztlich nur die Funktionen von PostgreSQL selbst nutzt.
  • ich kenne PostgreSQL-Datenbanken im 3-stelligen TB-Bereich, da gibt es keine obere Grenze. Du hast offenbar keine Ahnung, wer alles PostgreSQL nutzt - vermutlich hast Du eine Kreditkarte - mehrere globale Unternehmen diese Branche sind unsere Kunden.
  • Filesystem und Job-Scheduler: bei sowas hat man nicht versucht, das Rad neu zu erfinden. Warum auch, macht es nur unnötig komplex. In der Linux-Welt (heute 30. Geburtstag!) sind diese Dinge gut implementiert. Durch das Nutzen von OS-Funktionen dafür ist PG auch OS-unabhängiger. Großer Vorteil, läuft auch z.B. unter Windows.
  • PostgreSQL ist nicht nur kostenlos, sondern OpenSource unter BSD-Lizenz. Kein Vendor lock-in.
  • große, global gut vernetzte Entwickler-Community. Viele Firmen, die Support bieten.

Ich denke, fürs erste reicht das. Bitte in Zukunft erst mal sich informieren, bevor man so eine Sammlung an Falschaussagen schreibt, okay?
 
Übrigens GIT gehört Microsoft.
Blödsinn.
GitHub gehört Microsoft. Das ist nicht das Gleiche wie "git".

Du schreibst PITR kann also Postgres nicht. Es braucht also dazu Fremdsoftware.
Natürlich kann Postgres PITR - auch ohne Fremdsoftware - nur machen (kostenlose!) Tools das Leben deutlich einfacher.

Postgresql kann kein Backup der Datenbanken machen.
Das ist schlicht falsch.

Das Tool pg_dump erzeugt ein Textfile mit den Befehlen zum wieder herstellen. Das is kein Backup und schon gar nicht sicher.
Du hast Recht, das ist kein Backup, das ist ein Dump

Außerdem wie sichert man damit eine 1 TB Datenbank???? Du mußt Drittanbieter Tools nutzen.
Man muss nicht, aber man kann. Aber man kann auch inkrementelle Backups mit Boardmitteln machen. Es wird halt einfacher wenn man externe Tools verwendet.

Postgresql kann kein Point in Time Recovery -> Drittanbietertools gefragt. MS SQL Server kann das out of the box.
Blödsinn. Das ist mit Bordmitteln problemlos möglich, nur machen es die kostenlose Tools halt einfacher.

Wenn das Backup bei SQL Server so super ist, warum gibt es dann auch für SQL Server mehrere Backup Tools von Drittanbietern?

Dass Postgres keinen eingebauten Scheduler hat, stimmt. Ich halte das nicht für "essentiell", da das problemlos auch mit dem im Betriebssystem vorhandenen Schedulern geht. Ist es einfacher in der Datenbank? Meistens ja, aber wenn man das wirklich hat, hat man die Wahl zwischen verschiedenen Lösungen.

Die OpenSource Welt tickt halt anders als die Microsoft Welt. Bei Microsoft muss man das nehmen was eingebaut ist, und hat ansonsten wenig Auswahl. In der OpenSource Welt stellt man sich einen Satz von Tools selber, nach seinen Bedürfnissen zusammen.

Beides hat seine Vor- und Nachteile.
 
Das ist einstellungssache und kann deaktiviert werden.
Ja, aber nur weil ich mir die Augen zuhalte, ist das Problem nicht behoben.

MS SQL Server unter Linux macht kein Mensch.
Kann ich gut verstehen, es gibt ja insgesamt recht wenig Gründe oder sagen wir Szenarien, überhaupt MSSQL einzusetzen. Das Betriebssystem selbst ist nicht mal mehr einer. Man kann also sowohl die Lizenzkosten für MSSQL als auch die für Windows Server Lizenzen sparen, plus die Reboots für Updates.
 
Werbung:
So ich war lange nicht hier aktiv, einfach der Zeit geschuldet. Vielleicht mache ich jetzt mal wieder ein bischen mehr bevor akretschmer tatsächlich noch alle MSSQL User auf Postgre holt...

Ich denke ein wesentlicher Grund ist eine bereits vorhandene Umgebung mit MSSQL, so ist es bei mir. Ich finde PG auch atraktiv, habe aber tatsächlich kein Problem mit MSSQL bzw. habe dort deutlich mehr Erfahrung. Die Features die ich (in meiner vergleichbar kleinen Umgebung) brauche habe ich auch in MSSQL (bisher nur Express vom Funktionsumfang). Es ist wirklich kein schlechtes Produkt, auch wenn es von MS kommt.

Ich habe ein bischen mit PG gespielt, ist schon eine Weile her, ich glaube Version 9. Mein Bastelprojekt hat mit reinem SQL das Dateisystem ausgelesen, alle html-Dateien importiert, das XML zerlegt und daraus Daten gewonnen. Wobei die Daten Fließtext sind, das ist natürlich eine Fummelei. Mit MSSQL war das einlesen einfach wenn man erstmal wusste wie. Mit PG fing es an das man erstmal nur in einem bestimmten Pfad alles ablegen musste und auch dann habe ich das nie zum laufen gebracht. Sicherheit ist ja toll und der Anwendungsfall sicherlich nicht gewöhnlich aber es hat mir vor allem gezeigt wie grundverschieden beide DBMS sind wenn man etwas spezielles machen will.
 
Zurück
Oben