Forum: PC-Programmierung Datenbanksystem gesucht


von Kai S. (kai1986)


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

von (prx) A. K. (prx)


Lesenswert?

Die üblichen Verdächtigen sind MariaDB als Nachfahr von MySQL, sowie 
PostgreSQL. Erfüllen alle genannten Forderungen und Wünsche.

: Bearbeitet durch User
von Udo S. (urschmitt)


Lesenswert?

MS SQL Express

von (prx) A. K. (prx)


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.

: Bearbeitet durch User
von Udo S. (urschmitt)


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 :-)

von Kai S. (kai1986)


Lesenswert?

Super, das klingt genau nach dem, was ich gesucht hab. Vielen Dank

Gruß Kai

von Sven P. (Gast)


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...

von xd (Gast)


Lesenswert?

xampp (mysql)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Um mal was anderes als das ewige MySQL zu nennen:

http://www.firebirdsql.org/

von Joachim D. (Firma: JDCC) (scheppertreiber)


Lesenswert?

SQLite. Sehr weit verbeitet und stabil.

Lizenzfrei bzw. public domain. Keine Administration notwendig.
Gibt es mW für so ziemlich alle OS.

: Bearbeitet durch User
von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

SQLite hat afaik keine Benutzer- oder gar Rechteverwaltung, es läuft 
nicht als alleinstehender Prozess und obendrein ist nicht 
mehrbenutzerfähig. Netzwerk- oder ODBC-Zugriff sind auch nicht 
vorgesehen.

Davon abgesehen ist SQLite sehr, sehr schick - ich nutze es auch, aber 
eben dafür, wofür es gedacht ist: Als embedded Datenbankengine.

von Joachim D. (Firma: JDCC) (scheppertreiber)


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.

von Mehmet K. (mkmk)


Lesenswert?

Rufus Τ. Firefly schrieb:
> ODBC-Zugriff sind auch nicht
> vorgesehen.

http://www.ch-werner.de/sqliteodbc/

von A. B. (funky)


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.

von Udo S. (urschmitt)


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().

von Peter II (Gast)


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 ... )

von Robert L. (lrlr)


Lesenswert?

wie ist denn die 10-Jahres Prognose für "PureBasic"

von Karl Käfer (Gast)


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

von Udo S. (urschmitt)


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.

von Peter II (Gast)


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.

von Kai S. (kai1986)


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

von Konrad S. (maybee)


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! ;-)

von A. B. (funky)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.