Neue Datenbank

mgm_tf

Benutzer
Beiträge
8
Hallo,

wir suchen nach einer neuen Datenbank. Derzeit haben wir den Advantage Database Server im Einsatz. Leider ist die Zukunft dieser für mich tollen und einfachen Datenbank ungewiss.

Als wichtigen Entscheidungsfaktor ist der Kostenfaktor. Wie viel kostet die Datenbank pro Benutzer.

Hier einige Anforderungen die wir an die Datenbank stellen:

Die Datenmenge liegt hier von 1 GB aufwärts bis 100 ~ 150 GB (kann natürlich auch mehr werden). Wobei die Datenmenge nicht unbedingt einen Rückschluss auf die Anzahl der Benutzer hat.

Die Anzahl der Benutzer beträgt zwischen 1 und 100. Gerade hier bei wenigen Arbeitsplätzen ist der Kostenfaktor der Datenbank entscheidend.

Die Datenbank soll zu 99% auf einem Windowsrechner (Server) laufen.

Was soll die SQL-Datenbank alles können?
* Normale Abfragen (SELECT mit Subselect,...)
* Volltextsuche
* Stored Procedure
* Functions
* Trigger
* Transaktionen
* Bei einigen Kunden ist auch eine Replikation notwendig

Welche Datenbank würdet ihr empfehlen?
Welche Kosten kommen ca pro User für den Kunden?

Was haltet ihr von folgenden Datenbanken?
* MSSQL
* Oracle
* Postgres
 
Werbung:
MSSQL wäre nur in der Express Variante Lizenzkostenfrei, die kommt aber nicht mit 100GB oder Replikation daher, das wäre dann kostenpflichtig.
Zu Oracle kann ich leider nichts über die Lizensierung sagen.
Postgres ist Lizenzkostenfrei. Hier sind ggf. Kosten für externen Support, Hosting oder Programmieraufwand etwas höher aber das dürfte sich in Grenzen halten. Wenn ihr die DB selbst ausrollen wollt und in euer Produkt integriert dann würde ich PG nehmen.
 
Als wichtigen Entscheidungsfaktor ist der Kostenfaktor. Wie viel kostet die Datenbank pro Benutzer.
Bei vielen Benutzern kann auch eine Lizenzierung auf CPU Basis günstiger sein. Das läßt sich pauschal nicht beantworten, sondern muss individuell bestimmt werden - oder ist das eine Fat Client Desktopanwendung?
Die Kosten sind sicherlich auch anders, wenn ihr im Jahr 100 oder 50000 Lizenzen kauft.

Was soll die SQL-Datenbank alles können?
Ich vermisse da sowas wie Backup/Recovery. Was ist denn gefordert? Reicht es wenn einmalig pro Nacht einfach alles kopiert wird (wobei dann natürlich auch ggf. Fehler in der DB mit gesichert werden) oder muss ein echtes Sicherungskonzept erstellt werden. Falls ja, was fordert der Kunde hier und was kann die Datenbank?
Kostenlose Express Editionen (gibts auch von Oracle) würd ich für ein kommerzielles Projekt nicht verwenden. Im Fall der Fälle brauchst Du von irgendwoher Supportunterstützung (außer die Daten sind nichts wert). Support muss je nach Lizenzmodell noch oben drauf gerechnet werden.
Dann gibt's noch die Möglichkeit die DB in der Cloud laufen zu lassen. In dem Fall werden diverse administrative Aufgaben schon erledigt, man muss sich aber mehr Gedanken um den Datenschutz machen.
Dafür sind alle User in einigen, wenigen Instancen, die dafür entsprechend konfiguriert sind. Ihr verkauft dann quasi die Datenbanknutzung weiter, dafür muss natürlich die Anwendung angepasst werden.

Replikation ist nicht gleich Replikation. Auch hier müssen die Anforderungen geprüft werden. Master / Slave, Multi Master, was passiert bei DDL wie reagiert die Replikation dann etc. etc.

Ich hab den Eindruck ihr zäumt das Pferd von hinten auf und reduziert alles auf die Kosten ohne das Preis-/Leistungsverhältnis zu untersuchen. Manch einer mag jetzt einwenden, dass PGSQL hier unschlagbar wäre, aber wenn ich z.B. die Anforderung hab die Daten zu verschlüsseln aber keinen Zugriff aufs Filesystem bekomme, ist die DB damit schon mal aus dem Rennen.

Davon abgesehen ist das Pflichtenheft sehr überschaubar. Die doppelte Nennung von Stored Procedures und Functions erweckt den leichten Eindruck, dass hier nach Buzzwords und nicht nach echten Anforderungen der Anwendung ausgesucht wird.

Welche Datenbank würdet ihr empfehlen?
Du kannst mit jeder der genannten DB alles richtig machen oder auch irgendwann feststellen, dass die Wahl suboptimal war. Für eine echte Evaluierung sind das zu wenig Informationen.
 
Was soll die SQL-Datenbank alles können?
* Normale Abfragen (SELECT mit Subselect,...)
* Volltextsuche
* Stored Procedure
* Functions
* Trigger
* Transaktionen
* Bei einigen Kunden ist auch eine Replikation notwendig

Welche Datenbank würdet ihr empfehlen?
Welche Kosten kommen ca pro User für den Kunden?

Was haltet ihr von folgenden Datenbanken?

Wenn die DB nix kosten soll kommt da ja nur eine in Betracht, PostgreSQL. Dein Pflichtenheft erfüllt diese schon mal locker. Replikation ist seit seit vielen Jahren ebenfalls drin, wahlweise asynchron oder synchron, bei Bedarf auch gemischt.. Vermutlich brauchst Du auch ein Backup. Das kannst Du für jede einzelne Transaktion sogar haben - also mit jedem COMMIT ist das Zeugs auch auf dem Backup und Du kannst PITR machen (Point In Time Recovery). Stored procedures / Funktionen kannst Du in etwa einem Dutzend verschiedener Programmiersprachen erstellen. Falls Bedarf / Interesse an Training, Support und/oder Remote DBA besteht - einfach mich fragen. Das ist unser Job, weltweit, 24*7*365.


Grüße aus Wien.
 
Kosten darf die Datenbank natürlich schon etwas. Nur muss hier die Relation zum Programm passen.
Bei dem Backup war es derzeit so, dass man entweder exclusiven Zugriff benötige oder mit einem sp_BackupDatabase, als dritte Variante war natürlichen den ganzen Server / PC zu sichern (z.B. Veam). Daher waren wir also nicht sehr verwöhnt.

Replikation ist nur bei einer Hand voll Kunden von 400 im Einsatz. Leider weiß ich noch nicht ganz wie Multi Master funktionieren. Aber einmal haben wir von 2 Filialen werden Daten in die Zentrale überspielt.
und von den Filialen werden Daten in die Zentrale gespielt und dann wieder an alle Filialen verteilt (das müsste dann Multimaster sein?).

Hauptsächlich wird der Zugriff über Fat Clients erfolgen.
Cloud scheidet eigentlich aus. Derzeit wollen wir die Daten bei den Kunden halten.

Ja das stimmt, dass Pflichtenheft ist derzeit noch etwas einfach. Aber wir hatten auch derzeit keine großen Ansprüche.
 
Wie sieht es eigentlich mit den Installationsaufwand und dann eventuellen Wartungsarbeiten aus? Muss ich dazu auf jeden Client etwas installieren oder kann ich einfach ein Programm ohne Installation aufrufen mit einem Login auf die Datenbank?
Ich habe gesehen, dass bei Postgres man das über die Weboberfläche machen kann.
 
Leider weiß ich noch nicht ganz wie Multi Master funktionieren. Aber einmal haben wir von 2 Filialen werden Daten in die Zentrale überspielt.
und von den Filialen werden Daten in die Zentrale gespielt und dann wieder an alle Filialen verteilt (das müsste dann Multimaster sein?).
Daten werden an verschiedenen Orten geändert, es gibt kein führendes System.

Subjektiv hängt mein Herz natürlich an der konzeptionellen Reinheit von Oracle.:cool:
Aber objektiv gesehen ist PostgreSql für euch vermutlich die erste Wahl.
 
Replikation ist nur bei einer Hand voll Kunden von 400 im Einsatz. Leider weiß ich noch nicht ganz wie Multi Master funktionieren. Aber einmal haben wir von 2 Filialen werden Daten in die Zentrale überspielt.
und von den Filialen werden Daten in die Zentrale gespielt und dann wieder an alle Filialen verteilt (das müsste dann Multimaster sein?).

MultiMaster-Replikation mit PostgreSQL ist möglich (Stichwort BDR), aber sehr aufwending und ich denke nicht, daß ihr das braucht. Einfacher wäre eine zentrale DB, zu der sich die Filialen connecten. Ich gehen mal davon aus, daß wir Deutschland bzw. Europa nicht verlassen.
 
Wie sieht es eigentlich mit den Installationsaufwand und dann eventuellen Wartungsarbeiten aus?

Installationsaufwand ist sehr gering, Wartungsarbeiten wie VACUUM laufen in einer Default-Konfiguration automatisch. Bei größeren Systemen ist ein Tuning angeraten.

Muss ich dazu auf jeden Client etwas installieren oder kann ich einfach ein Programm ohne Installation aufrufen mit einem Login auf die Datenbank?
Ich habe gesehen, dass bei Postgres man das über die Weboberfläche machen kann.

Das hat nix mit den Clients zu tun und erfolgt auch nicht über eine WEB-Gui.
 
Werbung:
Wir arbeiten mit Delphi und da kann man über die FireDac-Komponenten relativ viel ansprechen.
Vielleicht noch als weitere Info:
Wir haben ein ERP-System und eine Campingplatzverwaltung. Zum Einsatz kommt daher ein Fat Client aber auch ein Programm das mit Drittprogrammen kommunizieren kann (WebApp, Importprogrammen,...)
Das heißt wir sind sehr windowslastig
 
Zurück
Oben