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

Antwort per Email an