Hallo alle zusammen,
da ich jetzt endlich mit meinen Zivildiesnst anfangen werde habe ich bald genug Zeit mich um mein Hobby zu kümmern. Da ich mit wxWidgets arbeite, will ich mich nun endlich mal mit Datenbanken befassen. Sprich : Pappy will ein neues Spielzeug!. Nun habe ich aber leider folgendes Problem. Welche Datenbank soll ich nehmen. Auf jeden Fall weiß ich, was ich von der Datenbank will.
sie sollte möglichst kostenlos sein
ich möchte damit wenn möglich auch kommerzielle Software produzieren
ich weiß nicht genau wie man das nennt aber ich habe davon gehört, dass es Datenbanken geben soll, die eigentlich nur aus einer Datei bestehen. Bei manchen muss man anscheinend einen extra Server mitlaufen lassen. Ich möchte wenn möglich keinen Server extra laufen lassen
da ich erstmal in die Thematik einsteigen will brauche ich nicht den gesamten Umfang an Funktionalitäten, die die richtig guten Datenbanken haben, sprich nur das nötigste
wäre klasse, wenn sie nicht Open-Source wäre, ich möchte meinen Quellcode nicht unbedingt rausgeben
da ich mit der Datenbank experimentieren will, sollte sie schon in der Lage sein mehr als nur ein paar Gb an Daten zu verwalten
ich möchte sie in meine wxWidgets Projekte einbinden, am besten mit den Klassen der API
Hui, die Liste ist ziemlich lang geworden. Aber ich denke(oder eher hoffe) mal, dass das die Sache einfacher machen wird.
Ja SQLite wird auch die einzige sinnvolle Datenbank sein, die deinen
ich weiß nicht genau wie man das nennt aber ich habe davon gehört, dass es Datenbanken geben soll, die eigentlich nur aus einer Datei bestehen. Bei manchen muss man anscheinend einen extra Server mitlaufen lassen. Ich möchte wenn möglich keinen Server extra laufen lassen
Punkt erfüllen kann. Alle anderen Alternativen brauchen einen eigenen DB Server. Unter den Full Scale Datenbanken setzt natürlich Postgress Maßstäbe, aber das ist etwas über deinen Anforderungen angesiedelt...
Oh ja, ich will ja nur ein bisschen damit arbeiten können und nichts mit extrem viel Speicherverbrauch machen. Wenn überhaupt komme ich vlt. an 10^6 Einträge mit einem maximalen Speicherverbrauch von 200Gb.
Ich habe für ein komerzielles Produkt mit Firebird gearbeitet. wxWidgets bietet über DatabaseLayer ganz einfach Zugriff darauf und sie funktioniert wie ein normaler mySQL Server.
Ob du den Zugriffslayer ins Programm einbindest oder in einen externen Server auslagerst ist doch vollkommen Wurst, vom Resourcenverbrauch her gesehen.
Wir arbeiten bei viel kleineren Projekten mit Datenbankservern, weil es sich damit auch auf andere Umgebungen leicht portieren lässt. Anpassung an vorhandene Datenbanksysteme von Kunden sind damit viel einfacher zu realisieren.
Und eine 200GB Datenbank würde ich auch nicht mehr als klein bezeichnen, auch wenn du sie nur zum testen verwendest...
Die Versionen 2.0 und höher von Berkeley DB sind unter einer Duallizenz verfügbar. Man hat die Wahl zwischen einer kommerziellen Lizenz und einer Open-Source-Lizenz. Nutzer, die die DB mit proprietärer Software ausliefern wollen, müssen sie sich lizenzieren lassen.
Die Versionen vor 2.0 stehen unter der BSD-Lizenz, womit sie auch kommerziell frei genutzt werden können.
MySQL ist vielleicht auch einen Versuch wert... Die haben ja auch diese embedded Variante...
Das Server einrichten ist für einen kleinen lokalen Server nichts schwieriges. Dabei gehts ja nicht um irgendwelche Sicherheitsaspekte, die man in Unternehmens- oder INetanwendungen beachten muss. Das Aufsetzen eines solchen Servers ist in 30min erledigt.