OwnCloud: MySQL statt SQLite

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo!

    Ich möchte Euch kurz eine Erfahrung mitteilen, die ich gemacht habe, und ich finde, sie ist hier im Bereich "Anleitungen" richtig aufgehoben.

    Es wird zwar in allen Anleitungen zum Einrichten von OwnCloud empfohlen, auf einem schmalbrüstigen Rechner wie dem Pi nur mit SQLite zu arbeiten, weil das weniger Resourcen benötigt, aber das ist quälend langsam. Ich habe jetzt MySQL installiert und OC umgestellt, was dank eines mitgelieferten Shell-Skriptes total einfach ist, und der Geschwindigkeitszuwachs bei der Eingabe und dem Auslesen von Terminen ist enorm!

    Und der Pi schafft MySQL allemal, sofern nicht 50 Personen gleichzeitig ihre Daten synchronisieren wollen. :thumbs1:

  • Hallo,

    Anmerkung für die Nachwelt: das SQLite langsamer ist als MySQL (oder andere "große" RDBMS) ist grundsätzlich nicht richtig. Es gibt genug Anwendungsszenarien, wie SQLite mindestens genau so schnell ist. U.a., weil der Overhead bei SQLite schon mal kleiner ist.

    MySQL hat dann Vorteile, wenn man viele, quasi-parallele Schreibzugriffe hat.

    Gut, im vorliegenden Fall scheint der (gefüllte) Geschwindigkeitsvorteil ja offensichtlich zu sein :-), wobei ich anhand der Beschreibung jetzt nichts sehe, was gegen SQLite spricht...

    Gruß, noisefloor


  • Anmerkung für die Nachwelt: das SQLite langsamer ist als MySQL (oder andere "große" RDBMS) ist grundsätzlich nicht richtig. Es gibt genug Anwendungsszenarien, wie SQLite mindestens genau so schnell ist. U.a., weil der Overhead bei SQLite schon mal kleiner ist.

    Darauf ein klares und entschiedenes "Jein!" ;)

    Es kommt ganz darauf an, wo und auf welcher Hardware SQLite eingesetzt wird. Prinzipiell hast Du Recht, das eine "richtige" Datenbankanwendung einen Mehraufwand bedeutet, weil ein Server (ein Dienst) wie MySQL oder Postgres laufen muss. SQLite dagen arbeitet dagegen mit einfachen Dateien, in der intern eine relationale DB abgebildet ist.

    Und genau hier liegt beim Raspberry das Problem: dadurch, daß beim Einfügen oder Lesen von Daten immer die gesamte SQLite-DB gelesen und geschrieben werden muss, und die benutzten Speichermedien (SD-Karte, USB-Speicher) zum Einschlafen langsam sind, wird der gesamte Datendurchsatz enorm ausgebremst. Auf einem Rechner, der schnellere Massenspeicher und mehr Arbeitsspeicher als der Pi zur Verfügung hat, so daß zum einen die DB schneller und zum anderen wohlmöglich vollständig in den Speicher geladen werden kann, sieht die Sache natürlich komplett anders aus.

    Es wäre ein interessanter Test, den neuen Raspberry Pi mit DualCore, aber ohne SATA-Anschluss gegen einen Banana Pi *mit* einer SATA-Platte antreten und auf jedem der beiden 1000 DB-Zugriffe per SQLite ausführen zu lassen. Ich wette, daß die Banane immer noch schneller ist, obwohl sie beide ungefähr denselben Prozessor und denselben Speicher aufweisen, nur weil die Banane den schnelleren Massenspeicher benutzt, auf dem die Schreib-Lese-Vorgänge tausend mal schneller laufen als per USB.

    Zitat


    Gut, im vorliegenden Fall scheint der (gefüllte) Geschwindigkeitsvorteil ja offensichtlich zu sein :-),

    Ein gefüllter Vorteil... der Vertipper hat schon was philosophisches.... Und Homer Simpson wäre schon wieder am Sabbern: Hmmmm, gefüllt... :D

    Zitat


    wobei ich anhand der Beschreibung jetzt nichts sehe, was gegen SQLite spricht...

    Ich würde als Argument Schonung der SD-Karte ins Feld werfen: dadurch, daß nicht immer die gesamte Datei gelesen und geschrieben werden muss, altert der Speicher nicht so schnell.

    Einmal editiert, zuletzt von PInguin (28. Februar 2015 um 11:31)


  • full ack :)

    Schön, daß wir uns einig sind. :)

    Zitat


    Wenn du trotzdem auf dem Raspi mit SQLite den Geschwindigkeitsrausch bekommen möchtest, nimm' die In-Memory Datenbank von SQLite. Allerdings solltest du dann auch nie mehr eine Reboot machen ;)

    Verstehe ich nicht. Verträgt die Karte keinen Neustart??

    Einmal editiert, zuletzt von PInguin (28. Februar 2015 um 13:06)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!