Datenbanksystem gesucht

OP #3443716
Lesenswert?

Hallo,

ich bin auf der Suche nach einem Datenbanksystem, um im 
Heim-/Hobbybereich ein paar kleine Projekte umzusetzen.
Jetzt hab ich mir etwas Gedanken gemacht was ich brauche, bzw. haben 
möchte.

Forderungen:
- relationales Datenbanksystem
- Datenbank läuft unter Windows
- Datenbank ist über Netzwerk ansprechbar (LAN)
- kostenfreies System (oder MS Access, das ist in meinem Officepaket 
enthalten)

Wünsche:
- Datenbank läuft unter Linux (Raspberry Pi)
- Datenbank lässt sich über ODBC ansprechen (wollte sie mit PureBasic 
verwenden)
- mehrere Nutzer mit unterschiedlichen Zugangsrechten
- gute Zukunftsaussichten (Datenbank ist auch in 10 Jahren auf aktuellen 
Systemen noch nutzbar)
- verbreitetes System, für das eine gute Hilfe/Community verfügbar ist


Falls ich ein wichtiges Merkmal für Datenbanken vergessen habe bitte ich 
um Verzeihung, ich bin noch dabei mich einzuarbeiten.
Kurze Erklärungen was Vorteile bzw. Problemstellen bei bestimmten 
Systemen sind wäre sehr hilfreich.

Vielen Dank im Voraus
Gruß Kai
#3443730
Lesenswert?

Bei Schrumpf-Versionen kommerzieller DB Systeme, wie MS SQL Express, ist 
die 10-Jahre Frage offen, da sich die Lizenzbedingungen von Version zu 
Version ändern können. Ausserdem kriegst du das ziemlich schlecht auf 
den RPi drauf.

Vorteilhaft sind sie, wenn man sich damit auf den kommerziellen Einsatz 
solcher DBs vorbereiten will.
#3443739
Lesenswert?

A. K. schrieb:
> Ausserdem kriegst du das ziemlich schlecht auf
> den RPi drauf.

Sorry, ich hatte nur das gelesen:
"Datenbank läuft unter Windows"
"mehrere Nutzer mit unterschiedlichen Zugangsrechten"
und das

Kai S. schrieb:
> (oder MS Access, das ist in meinem Officepaket
> enthalten)


deshalb hatte ich Linux geistig ausgeklammert.
Dann sind deine Tipps natürlich die besseren :-)
Gast #3444955
Lesenswert?

Kai S. schrieb:
> - gute Zukunftsaussichten (Datenbank ist auch in 10 Jahren auf aktuellen
> Systemen noch nutzbar)
> - verbreitetes System, für das eine gute Hilfe/Community verfügbar ist

Also wenn ich Windows stand heute prognostizieren müsste, würde ich 
sagen, Windows hat sich in spätestens 10 Jahren selbstständig vom Markt 
geräumt...

PostgreSQL, MySQL/MariaDB, vielleicht auch SQLite, Berkely...
(Firma: JDCC) #3445908
Lesenswert?

Ich nutze SQLite für Websachen. Multiuser brauche ich da weniger,
die Zugriffsrechte liegen ebenfalls in SQLite-Datenbanken.

Ein Riesenvorteile ist: es ist keine Administration etc, notwendig.
Wir haben in der Firma 30 Server laufen - mit mySQL wäre das ein
immenser Aufwand. Mit SQLite brauche ich noch nicht einmal etwas
installieren.
#3447138
Lesenswert?

Wenn hauptsächlich lesend darauf zugegriffen wird, würde SQLite 
ausreichen.
Aber wenn mehrere Benutzer gefordert sind, sollte man sich davon ganz 
schnell wieder verabschieden.
Wenn dann noch Linux als System hinzukommt, fällt der MS Kram flach.
Also nimm MySql bzw. MariaDB

Das ist bewährt, erprobt & funktioniert, die Community ist riesig und 
die Chance, das man auch in 10 Jahren noch Support bekommt ist auch 
gross, wenn natürlich niemand mit Sicherheit dazu etwas sagen kann. 
Kommt auch ein wenig darauf an, was Oracle mit MySql vorhat. Bei MariaDB 
sieht es aber auch nicht danach aus, dass das Projekt morgen 
eingestampft wird.
#3447149
Lesenswert?

Sauber gemacht ist es (fast) egal welches DBMS man nutzt.
Hauptsache man beschränkt sich auf SQL und DDL die allgemein gültig ist, 
dann kann man die paar Spezialitäten einfach anpassen.
Insofern kann ich diese Angst "System XY gibt es in 10 Jahren nicht 
mehr" überhaupt nicht nachvollziehen.

Wichtiger wäre für halbwegs ernsthaftes Arbeiten ein funktionierendes 
Transaktionsverhalten mit commit() und rollback().
Gast #3447156
Lesenswert?

Udo Schmitt schrieb:
> Hauptsache man beschränkt sich auf SQL und DDL die allgemein gültig ist

warum sollte man so etwas machen.

Ich kaufe mir auch keine Porsche um damit 80km/h auf der Autobahn zu 
fahren nur damit ich später mich nicht umstellen muss wenn ich ein 
anderes Auto fahre.

Es gibt viele sinnvolle Erweiterungen in den verschieden Datenbank die 
einen das Leben viel leichter machen. Darum zu verzichten halte ich 
nicht für sinnvoll.

Schon die ersten 10 Zeilen zu selektieren geht bei jeder DB anders (Top, 
Limit, row ... )
Gast #3447202
Lesenswert?

Hallo A. B.,

A. B. schrieb:
> Wenn hauptsächlich lesend darauf zugegriffen wird, würde SQLite
> ausreichen.

SQLite ist aber keine Datenbank, sondern nur ein SQL-kompatibles 
Frontend für Dateien. Es ist auch weder netzwerk- noch 
mehrbenutzerfähig.

> Aber wenn mehrere Benutzer gefordert sind, sollte man sich davon ganz
> schnell wieder verabschieden.
> Wenn dann noch Linux als System hinzukommt, fällt der MS Kram flach.
> Also nimm MySql bzw. MariaDB
>
> Das ist bewährt, erprobt & funktioniert, die Community ist riesig und
> die Chance, das man auch in 10 Jahren noch Support bekommt ist auch
> gross, wenn natürlich niemand mit Sicherheit dazu etwas sagen kann.
> Kommt auch ein wenig darauf an, was Oracle mit MySql vorhat. Bei MariaDB
> sieht es aber auch nicht danach aus, dass das Projekt morgen
> eingestampft wird.

Ich halte PostgreSQL für die bedeutend bessere Wahl. Das ist stabiler, 
bei größeren Datenmengen viel schneller (zumindest wenn 
Transaktionssicherheit gefordert ist) und hat die größere 
Funktionalität. Außerdem gehört es keinem kommerziellen Hersteller, der 
sicherlich kein Interesse an der Kannibalisierung seines Hauptproduktes 
hat.

Die Community von MySQL und MariaDB ist zwar riesig, aber da tummelt 
sich ein großer Haufen Wäbdisainer und andere Leute, die zwar eine 
Installation von MySQL oder MariaDB, aber trotzdem keine Ahnung und 
dennoch zu allem Möglichen und Unmöglichen etwas zu sagen haben. Eine 
kleine Community von fachlich Versierten ist besser als riesige 
Community von Laien.

HTH,
Karl
#3447211
Lesenswert?

Peter II schrieb:
> Schon die ersten 10 Zeilen zu selektieren geht bei jeder DB anders (Top,
> Limit, row ... )

Klar, man kann genauso nur 10 fetch machen. Ist halt (vieleicht) eine 
Zeile mehr.

Aber manche haben noch nie über den Tellerrand eines Betriebssystems 
oder DBMS geschaut...

Peter II schrieb:
> Ich kaufe mir auch keine Porsche um damit 80km/h auf der Autobahn zu
> fahren nur damit ich später mich nicht umstellen muss wenn ich ein
> anderes Auto fahre.

Nein, aber dein Vergleich wäre eher derart, daß du für jede Automarke 
eine genau passende Straße bauen willst.
macht auch niemand.
Gast #3447216
Lesenswert?

Udo Schmitt schrieb:
> Klar, man kann genauso nur 10 fetch machen. Ist halt (vieleicht) eine
> Zeile mehr.

und wesentlich ineffizienter. Es gibt halt Datenbanksystem mit mehr als 
100 Zeilen. Und Dort wird beim Top ein andere Ausführungsplan generiert. 
Auch werden weniger Zeilen gesperrt. Bei großen select's wird sonst auch 
noch alles in temp Tabelspace kopiert.
OP #3447227
Lesenswert?

SQLite ist auch im Bibliotheksumfang von PureBasic schon enthalten, sagt 
mir aber nicht zu, da die Client-Server-Aufteilung fehlt und ich 
definitiv über das Netzwerk darauf zugreifen möchte.


Udo Schmitt schrieb:
> Sauber gemacht ist es (fast) egal welches DBMS man nutzt.

Das ist auch meine persönliche Ansicht, allerdings bin ich nicht der 
begabteste Programmierer und merke oft garnicht, was ich teils an Code 
verbreche.

Udo Schmitt schrieb:
> Insofern kann ich diese Angst "System XY gibt es in 10 Jahren nicht
> mehr" überhaupt nicht nachvollziehen.

Das ist keien Angst, das ist bei mir eher Faulheit. Ich versuche zu 
vermeiden, jetzt mit einem System anzufangen, das schon auf dem 
absteigenden Ast ist und in absehbarer Zeit aufgegeben wird. Klar steckt 
da keiner drinnen, was die Zukunft bringt. Im Zweifelsfall wird das 
ganze halt protiert, muss aber ja nicht sein, wenn man es vermeiden 
kann.


Robert L. schrieb:
> wie ist denn die 10-Jahres Prognose für "PureBasic"

Die Aussichten für PureBasic sehe ich recht gut, da der Programmierer 
damit seinen Lebensunterhalt verdient und es nach meinem Eindruck sauber 
programmiert ist, was meist dazu führt, das es auch auf neueren Systemen 
lauffähig ist. Wenn es trotzdem schiefgehen sollte muss ich dann halt 
die Oberfläche in eine andere Sprache portieren, da PureBasic aber sehr 
dicht an C dran ist sehe ich da kein unlösbares Problem. Und PureBasic 
hat für mich den großen Vorteil, das es kaum langsamer als C-Code ist, 
sich aber auf den drei großen Betriebssystemen ohne Quellcodeänderungen 
compilieren lässt und dabei noch alle Funktionen super dokumentiert 
sind. Das kommt mir als mittelmäßigem Hobbyprogrammierer sehr entgegen.


Nachdem ich mir die genannten Lösungen mal etwas näher angeschaut habe 
werde ich wohl PostgreSQL ausprobieren. Von dem was ich gelesen hab 
klingt das recht elegant.

Gruß Kai
#3447282
Lesenswert?

Das mit dem Portieren einer Datenbank auf ein anderes DBMS ist so eine 
Sache!

Irgendwer hat es mal so oder ähnlich gesagt: Die Entscheidung für ein 
DBMS ist wie eine Ehe. Du kannst zwar den Partner wechseln, aber es wird 
teuer und es kostet Zeit und Nerven.

Nachdem ich vor einem Jahr eine Datenbank samt zugehörigen Applikationen 
von Oracle nach PostgreSQL migriert habe, bin ich mir sicher, dass ich 
mich nicht scheiden lassen werde! ;-)
#3447439
Lesenswert?

Karl Käfer schrieb:
> Das ist stabiler,
> bei größeren Datenmengen viel schneller (zumindest wenn
> Transaktionssicherheit gefordert ist) und hat die größere
> Funktionalität. Außerdem gehört es keinem kommerziellen Hersteller, der
> sicherlich kein Interesse an der Kannibalisierung seines Hauptproduktes
> hat.

ok, da brauchen wir dann eigentlich gar nicht weiter diskutieren %-)
Die Postgre vs mysql Diskussion ist so alt wie das Internet und von 
vielen persönlichen Vorlieben geprägt. Mit beiden DB Systemen wird der 
Threadersteller zu einem zufriedenstellenden Ergebniss kommen.

Wer vor Mysql aufgrund von Oracle Angst hat, nimmt eben MariaDB.

Bzgl der Portierung ist das so eine Sache. Kommt halt sehr stark darauf 
an, was man an Features der Datenbank verwendet hat.
Portieren kann man alles mit entsprechendem Aufwand.

Wir haben in der Firma ein Oracle Altsystem was mit PL/SQL und Oracle 
Forms umgesetzt wurde. Das portiert man nicht mal eben auf ein anderes 
System.
Rein auf SQL Ebene ist sowas dann eher möglich.

Aber es stimmt schon...jeden Tag wechselt man sein System nicht. Wobei 
es auch von Vorteil sein kann, sein System von vornerein so zu planen, 
das man die Datenbankengine austauschen kann, wenn man nicht 
sicherstellen kann, das man die gesamte Serverinstallation komplett 
selbst in der Hand hat, sondern Vorgaben bzgl. der Datenbank von 
Kundenseite gemacht werden können.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren