vladoo hat gesagt.:
Welche Datenbank würdet ihr empfehlen? Sie soll kostenlos sein und Client/Server unterstützen.
Habe da an H2 gedacht. Wie ist diese?
Meine Erfahrungen zu H2:
Ich verwende im Produktivbetrieb eigentlich nur den "embedded" Modus und bin damit recht zufrieden. Meine Anwendungsfälle sind allerdings alle nach dem Muster "viel lesen, wenig Änderungen" gemacht. Außerdem handelt es sich (bei den Updates) nur um kurze Transaktionen. Das ist insofern wichtig, als das H2 bei Updates einen Tablelock macht.
die konkreten Projekte:
Volltextsuche für Legacy-Applikationen (Cobol Mainframe)
110.000 Artikel mit arg gekürzten Artikelbezeichnungen (nur 25 Stellen) + noch ein paar Daten (EAN-Code, Hersteller-Artikelnummer...) werden in eine H2 RAM-Datenbank kopiert, welche 400 Hostanwender mit einer Volltextsuche bedient (Host/Cobol via Sockets <> Java via Socketserver und Threadpool mit 5 Threads). Im Schnitt sind zwischen 2-3 User aktiv. Nicht ansatzweise irgendwelche Engpässe, alle Zeiten (SQL Like für 110.000 sätze) im 0,0x Sekunden Bereich.
Onlinekatalog, noch in Arbeit
>> hier zum Anschauen <<
Die Datenbank hat ca. 350MB und enthält den Artikelbaum und ca. 20.000 html Seiten. Also bis jetzt (halt nur intern mit max. 7 Usern getestet) kein Grund zum meckern.
Die Volltextsuche habe ich auch hier (provisorisch) mit einer H2-RAM-Datenbank gemacht. Hier kommt für die Datenbank erschwerend hinzu, dass es zwar 75.000 Artikel sind, aber die Suchergebnisse nach Katalogseiten gruppiert und sortiert werden. Auch wenn ich nur 50 Einträge (= Katalogseiten) anzeige, muss die DB doch immer alle 75.000 (Artikel) durcharbeiten.
vladoo hat gesagt.:
Und noch viel wichtiger ist die Frage: Kann ein Admin, der keine Ahnung von Programmierung hat diese
Datenbank pflegen? Mir wurde gesagt, dass ab und an einige Werte in der Datenbank geändert weren
müssten. Wie hoch ist der Pflegeaufwand der H2 Database? Ist es einfach Eintragungen zu machen oder
zu löschen?
Die H2-Datenbank bringt auch eine Web-Wartung mit. Über diese können Sätze auch geändert, gelöscht und angelegt werden. Die Wartung kann allerdings nicht mit Tools ala pgAdmin III (für PostgreSQL) mithalten, es gibt z.B. keine menügesteuerte Filterfunktion, wenn man einen Satz aus vielen finden will.
Allerdings gibt es im Serverbetrieb ohnehin die Möglichkeit mit allgemeinen Datenbanktools (z.B. auch OpenOffice 2.x) die Datenbank zu bearbeiten. In Sachen Wartung (Backup über Menü usw.) haben MySQL, PostgreSQL & Co. sicher die von bereits von AlArenal beschriebenen Vorteile. Dafür installiert sich H2 mit der Applikation einfach mit und man tut sich leichter, auch aus der Applikation heraus eine Sicherung anzuwerfen.