Hallo Christian,
Hallo, bisher habe ich nur kleine, einfache Datenbanken gebraucht und bin mit
der von RS mitgelieferten Datenbank gut zurechtgekommen, sogar ohne die
Verwendung von Indices.
Nun muss ich JOINs auf Tabellen mit mehreren Tausend Datensätzen und teilweise
ziemlich komplexen Bedingungen machen und da wird der Vorgang doch etwas
langsam.
Frage:
Lohnt es sich, die RS-DB weiter auszureizen, oder sollte ich mich doch mit der
Umstellung auf z.B. MySQL beschäftigen,...
... wenn es auf Geschwindigkeit ankommt
... wenn das Programm in einem Netzwerk laufen soll
... wenn das Programm eines Tages als WEB-APP ausgelegt werden soll ?
Wie du vielleicht gesehen hast, beschäftige ich mich seit diesem Monat
ebenfalls intensiv mit der Problematik. Meine bisherigen Resultate:
- Sobald die Zahl der Anwender steigt und es auf Geschwindigkeit im
Netzwerk ankommt, sollte man einen regulären Datenbankserver (MySQL,
PostgreSQL, ...) in Erwägung ziehen. Die mitgelieferte Datenbank von RS
ist nur für die Einzelplatznutzung, für den Mehrbenutzerbetrieb müsste
man dann auf cubeSQL ausweichen. Im Hintergrund ist und bleibt es
allerdings SQLite und verursacht zusätzliche Lizenzkosten, welche bei
OpenSource-Lösungen entfallen:
http://www.sqlabs.com/cubesql.php
- Wenn später eine WebApp hinzukommt, ist MySQL natürlich aufgrund der
Verbreitung bei den verschiedenen Hostern geeigneter. Auf einem eigenen
Rootserver ist aber auch die Installation der übrigen Datenbanksysteme
kein Problem.
- Das mitgelieferte MySQL-Plugin von RS hat leider Probleme mit den
Encodings. Bedeutet, dass der Programmierer selbst entsprechend dafür
sorgen muss, dass die Daten mit dem richtigen Encoding gespeichert,
geladen und/oder umgewandelt werden.
Eine Alternative wäre daher die Nutzung einer abstrahierten
Datenbank-API, wie beispielsweise das MBS Real Studio SQL Plugin von
Monkeybreadsoftware, denn dort wird nun generell alles per UTF8/16 gemacht:
http://www.monkeybreadsoftware.de/realbasic/plugin-sql.shtml
http://www.mbsplugins.de/archive/2012-06-26/SQL_and_text_encodings
Aber auch das von RS mitgelieferte PostgreSQL-Plugin arbeitet nach
letzten Erkenntnissen deutlich stabiler und problemloser, insbesondere
was die Encodings und die Geschwindigkeit anbelangt.
--
Michael Kagerbauer
http://rbcoder.de