Hallo, ich werde demnächst eine DB in meine App einbinden. Zur DIskussion stehen Room vs. SQLDelite. Im folgenden habe ich mal einige Stickpunkte für meine Entscheidung zusammen getragen bzw. erweitere diese auch bei Wissensupdates:
DB | PROs | CONs |
Room |
|
|
SQLDeLite |
|
|
Anforderungen / Infos:
- Ich werde nicht so viele Datenbank-Einträge in der App haben; vermutlich < 100 .
- Durchaus könnte ich später kleine icons/drawables < 10kB (Avatare) pro DB-Eintrag mit abspeichern - also byte-array (oder drawable) Tauglichkeit.
- Encryption tauglich - für SQL Delight habe ich https://www.zetetic.net/sqlcipher/ gefunden
- Java / Kotlin Tauglichkeit - wichtiger ist wohl Kotlin
Offene Fragen meinerseits ():
- Benchmark bzgl. RAM Benutzung, größe der lib in der EndApp
- Benchmark bzgl. DB-Operation wie new, delete, edit - jedoch weniger wichtig da ich kaum über 100 DB Einträge kommen werde
- Wie sieht es mit der Verschlüsselung der Datenbank bzw. einzelner Spalten aus. Wird von Hause aus mitgeliefert? 4th party libs
- Dokumentation?
- Bugs - macht kein Sinn, wenn die lib als zum crash führt
- Testbarkeit - Wartbarkeit?
- Realm schließe ich mal aus, da es die App auf einen Schlag um 5 MB aufpumpt. Aber eine 3te Alternative zum Vergleich käme mir auch recht..
- Hab ich was wichtiges vergessen? Entscheidungskriterium
Ich würde mich sehr freuen wenn ihr zu dem einen oder anderen Punkt euren Senf dazugeben könnt - sofern dieser Konstruktiv ist
Mfg mrt