Bobby: MySQL (InnoDB) vs. SQLite3

Moin

ich weiß, es gibt hunderte Artikel zu dem Thema. Allerdings mit unterschiedlichen Auffassungen. Deshalb möchte ich mal in meiner preferierten Entwicklergemeinde nach der bescheidenen Meinung fragen.

Was ist besser SQLite3 oder MySQL. Als Unterschiede habe ich folgendes haerauslesen können:

SQLite3:

  • echte Volltextsuche (über MATCH)
  • Schneller in der Abfrage (da kein extra DB-Server benötigt wird)
  • nur eine Datei
  • Echte Constraints möglich

MySQL

  • umfangreiche Nutzerverwaltung
  • Abstimmbar auf den kommenden Datenfluss
  • Echte Constraints möglich

Wie schaut es mit Funktionen, Transaktionen und Triggern aus?

Stimmt die EInschätzung so wie ich das herauslesen konnte?

Die Frage zielt auf ein Großprojekt (MySQL: 250 MB, mehrere 10.000 Zugriffe pro Tag geplant und erwartet) und auf ein Kleinprojekt (wenige KB)

(PS: Leider kann ich auf meinem Webspace keine NoSQL-DBs einbinden, sonst hätte ich dies längst getan)

Gruß Bobby

--
-> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
### Henry L. Mencken ###
-> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
## Viktor Frankl ###
ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
  1. Mahlzeit,

    Die Frage zielt auf ein Großprojekt

    Dann sollte klar sein, ein DBMS mit "light" im Namen ist dafür ungeeignet.

    (MySQL: 250 MB, mehrere 10.000 Zugriffe pro Tag geplant und erwartet) und auf ein Kleinprojekt (wenige KB)

    Ich sehe da kein Grossprojekt. Deine zahlen dürften einen durchschnittlichen Server nichtmal ein müdes Lächeln abringen.

    (PS: Leider kann ich auf meinem Webspace keine NoSQL-DBs einbinden, sonst hätte ich dies längst getan)

    Dann fehlen in deiner Frage einige relevante Infos. Offensichtlich hast du bereits ein Konzept, das für eine Auswahl relevant ist. Gibt es einen Grund, wieso du uns diese wichtige Info verweigerst?

    --
    42
    1. Moin

      Dann sollte klar sein, ein DBMS mit "light" im Namen ist dafür ungeeignet.

      Hats du für diese Behauptung Argumente?

      Ich sehe da kein Grossprojekt. Deine zahlen dürften einen durchschnittlichen Server nichtmal ein müdes Lächeln abringen.

      Naja.. gabz so würde ich das nicht sehen. 60 TAbellen mit umfangreichen Constraints. Und noch längst nicht mit allen DAten gefüllt. Das wird sicher sprunghaft ansteigen!

      Dann fehlen in deiner Frage einige relevante Infos. Offensichtlich hast du bereits ein Konzept, das für eine Auswahl relevant ist. Gibt es einen Grund, wieso du uns diese wichtige Info verweigerst?

      Datenschutz. Ich habe dazu eine Verschwiegenheitsvereinbarung unterschrieben. Ich darf nur soviel sagen: 60 MySQL-Tabellen mit teils sehr umfangreichen Constraints, Funktionen und Triggern.

      Einiges Läuft automatisch (Crawling und Eintrag in DB)

      Welche Fakten Fehlen noch?

      Ich bitte um etwas mehr Faktenreichtum. Danke...

      Gruß Bobby

      --
      -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
      ### Henry L. Mencken ###
      -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
      ## Viktor Frankl ###
      ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
      1. Mahlzeit,

        Dann sollte klar sein, ein DBMS mit "light" im Namen ist dafür ungeeignet.

        Hats du für diese Behauptung Argumente?

        Hast du irgendein Argument dagegen? Wenn du Argumente willst, lies dir die Spezifikationen und die Art der Speicherung an. Lesen kannst du ja, denk ich.

        Wenn du meine Meinung nicht hören willst, wieso fragst du dann öffentlich?

        Naja.. gabz so würde ich das nicht sehen. 60 TAbellen mit umfangreichen Constraints. Und noch längst nicht mit allen DAten gefüllt. Das wird sicher sprunghaft ansteigen!

        Also widerlegst du meine Aussage anhand von Infos, die du bisher verweigert hast?
        Das zeugt von mangelnder Kompetenz.

        Mal abgesehen davon, dass ich immer noch kein grosses Projekt sehe, egal ob du das anders siehst.

        Datenschutz.

        Also sind da zwei Punkte:

        1. du verdienst Geld mit dem was dir hier kostenlos an Wissen zur Verfügung gestellt wird und sagst das nichtmal von Anfang an.
        2. Wenn du eine Antwort bekommst, reagierst du grosskotzig und glaubst alles besser zu wissen.

        Ich bitte um etwas mehr Faktenreichtum. Danke...

        Dann geb ich dir ein Faktum: Bezahl jemanden dafür, dass er dir deine Arbeit abnimmt, wenn dir das, was hier geschrieben wird, nicht passt. Dein verhalten ist unverschämt.

        --
        42
        1. Moin

          Jawohl Herr Oberschulmeister... ich falle untertänigst zu Boden....

          Du solltest mal deinen Umgangston prüfen. Ich hatte eine ganz normale Frage gestellt, und nur eine belehrende Antwort erhalten und darauf reagiert. Wenn dir meine Frage nicht passt, dann antworte einfach nicht drauf. Aber beleidigend musst du nicht werden...

          Gruß Bobby

          --
          -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
          ### Henry L. Mencken ###
          -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
          ## Viktor Frankl ###
          ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
        2. Also sind da zwei Punkte:

          1. du verdienst Geld mit dem was dir hier kostenlos an Wissen zur Verfügung gestellt wird und sagst das nichtmal von Anfang an.
          2. Wenn du eine Antwort bekommst, reagierst du grosskotzig und glaubst alles besser zu wissen.

          Gott, lass Hirn regnen! Schnell!

          1. Mahlzeit,

            Gott, lass Hirn regnen! Schnell!

            Danke, dass du soviel Wissen im Forum hinterlässt, damit alle was davon haben :)

            --
            42
        3. Das zeugt von mangelnder Kompetenz.

          Wieviel Postings sind in einem Thread eigentlich durchschnittlich nötig, bis M. dem Fragenden mangelnde Kompetenz vorwirft und ihn verbal angeht? Ungefähr 4? Oder schon 5?

          Dem Ego nach zu urteilen steckt hinter dem Pseudonym »M.« ein Programmier-Übergott, vermutlich der CTO von Amazon, der Chefarchitekt von Oracle DB, ein Linux-Kernel-Maintainer oder etwas in dieser Liga. Ab und zu begibt er sich hinunter ins verruchte SELFHTML-Forum, um die Sterblichen an seiner Weisheit teilhaben zu lassen, nicht ohne sie wissen zu lassen, was für unwürdige Kreaturen sie im Grunde sind.

          Also sind da zwei Punkte:

          Da ist eigentlich nur ein Punkt:

          In welchem Verhältnis steht M.s fachliche Hilfe zum bloßen Beschimpfen von Leuten? 1:4? 1:6?

          Mathias

          1. Mahlzeit,

            Wieviel Postings sind in einem Thread eigentlich durchschnittlich nötig, bis M. dem Fragenden mangelnde Kompetenz vorwirft und ihn verbal angeht? Ungefähr 4? Oder schon 5?

            Wieviele solcher Postings kommen eigentlich durchschnittlich von dir bevor man wieder was fachliches erwarten kann?
            Vermutlich hast du nichts anderes zu tun als gegen mich zu stänkern, denn viel anderes ist von dir nicht (mehr) zu lesen.

            --
            42
            1. @@M.:

              nuqneH

              Vermutlich hast du nichts anderes zu tun als gegen mich zu stänkern,

              Doch. Gegen mich.

              Und weißt du was? Oft hat molily damit recht. Wie in diesem Fall.

              denn viel anderes ist von dir nicht (mehr) zu lesen.

              Du weißt, dass das Unsinn ist.

              Qapla'

              --
              „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
              1. Mahlzeit,

                Du weißt, dass das Unsinn ist.

                In Relation dazu, was er noch vor ein paar Jahren beigetragen hat, relativiert sich das. Ansonsten war meine Aussage überzogen, das stimmt.

                Dass Typen wie dem Linksetzer anscheinend langweilig ist, ist dabei ein anderes Thema. Da wärs sinnvoller er macht ne Linkliste interessanter Threads, was dann allen zugute kommt.

                --
                42
                1. Dass Typen wie dem Linksetzer anscheinend langweilig ist,

                  Tsstsstss... Langeweile gehabt?

                  Da wärs sinnvoller er macht ne Linkliste interessanter Threads, was dann allen zugute kommt.

                  Was du für dich in Anspruch nimmst, gilt auch für mich

                2. In Relation dazu, was er noch vor ein paar Jahren beigetragen hat, relativiert sich das.

                  Ja, meine Leistung hier lässt zu wünschen übrig. Bald heißt es »Ich habe heute leider kein Foto für dich!«

                  Ich komme halt so selten dazu, fachliche Postings zu schreiben, sondern muss ständig stänkernde Meta-Postings schreiben. Wenn Multi endlich sein Verhalten ändern würde, könnte ich auch mehr zur Sache beitragen…

                  Mathias

              2. Hallo,

                Vermutlich hast du nichts anderes zu tun als gegen mich zu stänkern,

                Doch. Gegen mich.

                ;-)

                Nur am Rande: Ich habe hier gegen niemanden persönlich etwas, wieso auch. Ich »stänkere« höchstens gegen eine Meinung, die ich für unbegründet oder unbedacht halte, oder ein Verhalten, das ich für unangebracht halte.

                Mathias

            2. Wieviele solcher Postings kommen eigentlich durchschnittlich von dir bevor man wieder was fachliches erwarten kann?

              Posting
              Posting
              Posting
              Posting
              Posting
              Posting
              Posting
              ...
              ...
              ...
              ...
              ...
              ...
              ...
              ...
              ...
              ...
              ...
              ...
              ...
              ...
              ...
              ...
              ...
              ...
              ...
              ...

            3. Om nah hoo pez nyeetz, M.!

              Wieviel Postings sind in einem Thread eigentlich durchschnittlich nötig, bis M. dem Fragenden mangelnde Kompetenz vorwirft und ihn verbal angeht? Ungefähr 4? Oder schon 5?

              Wieviele solcher Postings kommen eigentlich durchschnittlich von dir bevor man wieder was fachliches erwarten kann?

              Nach meinem Empfinden ist molily derjenige, der derzeit die weitaus besten Antworten gibt. Das ist nicht allein der fachlichen Exakt- und Korrektheit geschuldet (denn von diesen Antwortern gibt es glücklicherweise eine ganze Menge), sondern daran, dass es molily gelingt, seine meist sehr ausführlichen[1] Antworten stets an das Niveau des Fragestellers anzupassen. Dies ist in keiner Weise abwertend gegenüber den Fragestellern gemeint.

              Damit ist er *derjenige*, der *maßgeblich* dazu beiträgt, dass der Besucherstrom in diesem Forum nicht gänzlich zum Erliegen kommt.

              [1] Da dies eine ganze Menge Zeit erfordert, sei ihm auch verziehen, dass er das mir zugesicherte „Mergen“ zweier JavaScripte noch nicht umsetzen konnte ;-)

              Matthias

              --
              Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Haft und Haftel.

  2. Die Frage zielt auf ein Großprojekt (MySQL: 250 MB, mehrere 10.000 Zugriffe pro Tag geplant und erwartet) und auf ein Kleinprojekt (wenige KB)

    Nur viele Lesezugriffe oder auch viele Schreibzugriffe? Je mehr parallele Schreibzugriffe, desto ungeeigneter SQLite, soweit ich weiss.

    1. Moin

      Nur viele Lesezugriffe oder auch viele Schreibzugriffe? Je mehr parallele Schreibzugriffe, desto ungeeigneter SQLite, soweit ich weiss.

      Sowohl als auch. Bei fast jedem lesezugriff soll auch geschrieben. Danke für die Info. Damit bleibts eahrscheinlich bei MySQL.

      Gruß Bobby

      --
      -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
      ### Henry L. Mencken ###
      -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
      ## Viktor Frankl ###
      ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
      1. Moin

        Sowohl als auch. Bei fast jedem lesezugriff soll auch geschrieben. Danke für die Info. Damit bleibts eahrscheinlich bei MySQL.

        Da Stored Procedures in SQLite nicht so einfach umsetzbar sind. Bleibe ich vorerst auf MySQL (Zumindest für größere Projekte)

        Gruß Bobby

        --
        -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
        ### Henry L. Mencken ###
        -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
        ## Viktor Frankl ###
        ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
  3. Om nah hoo pez nyeetz, Bobby!

    Die Frage zielt auf ein Großprojekt (MySQL: 250 MB, mehrere 10.000 Zugriffe pro Tag geplant und erwartet)
    (PS: Leider kann ich auf meinem Webspace keine NoSQL-DBs einbinden, sonst hätte ich dies längst getan)

    Sollten für Großprojekte nicht bestmögliche Voraussetzungen geschaffen werden? Wenn es schon am Webspace scheitert, …

    Matthias

    --
    Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Pluto und Plutonium.

    1. Moin

      Sollten für Großprojekte nicht bestmögliche Voraussetzungen geschaffen werden? Wenn es schon am Webspace scheitert, …

      Deshalb möchte ich ja alle Vor- und Nachteile abwägen. Was würdest du bei großen datenflussreichen Projekten an Datenbank empfehlen? Unabhängig der Servervoraussetzung...

      Gruß Bobby

      --
      -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
      ### Henry L. Mencken ###
      -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
      ## Viktor Frankl ###
      ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
      1. Om nah hoo pez nyeetz, Bobby!

        Deshalb möchte ich ja alle Vor- und Nachteile abwägen. Was würdest du bei großen datenflussreichen Projekten an Datenbank empfehlen? Unabhängig der Servervoraussetzung...

        Ich habe keinerlei Erfahrungen mit umfangreichen DB-Anwendungen.

        Matthias

        --
        Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Lego und Legolas.

      2. Mahlzeit,

        Deshalb möchte ich ja alle Vor- und Nachteile abwägen. Was würdest du bei großen datenflussreichen Projekten an Datenbank empfehlen? Unabhängig der Servervoraussetzung...

        Ich weiss nicht ob dus nochmal von mir lesen willst, ich schreibs trotzdem:

        Bei den beiden Systemen, die du zur Auswahl stellst, nimm Mysql. Bei hohen Datenaufkommen weniger Ressourcenverbrauch und bessere Zugriffszeiten.
        Und wenn du mehr Leistung brauchst, hast du die Möglichkeit einer Replikation oder eines Clusters. Und das kann ein interessierter Laie auch aufsetzen.

        --
        42
        1. Moin

          Bei den beiden Systemen, die du zur Auswahl stellst, nimm Mysql. Bei hohen Datenaufkommen weniger Ressourcenverbrauch und bessere Zugriffszeiten.
          Und wenn du mehr Leistung brauchst, hast du die Möglichkeit einer Replikation oder eines Clusters. Und das kann ein interessierter Laie auch aufsetzen.

          Die Information an sich ist sehr gut danke... auch wenn du mir am Ende wieder unterstellst Laie zu sein...  Ich danke dir dennoch für die Info...

          Gruß Bobby

          --
          -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
          ### Henry L. Mencken ###
          -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
          ## Viktor Frankl ###
          ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
          1. Mahlzeit,

            auch wenn du mir am Ende wieder unterstellst Laie zu sein...  Ich danke dir dennoch für die Info...

            Sorry, das ist falsch rübergekommen.
            Was Cluster und Replikation angeht war ich auch Laie, bis ich ne Replikation aufgesetzt hab, Cluster hab ich nur mal durchgelesen.
            Deshalb ist das ein Erfahrungswert von mir, dass es als Laie geht.

            --
            42
            1. Moin

              Sorry, das ist falsch rübergekommen.
              Was Cluster und Replikation angeht war ich auch Laie, bis ich ne Replikation aufgesetzt hab, Cluster hab ich nur mal durchgelesen.
              Deshalb ist das ein Erfahrungswert von mir, dass es als Laie geht.

              OK, dann verzeih mir meinen Kommentar... Mit Clustering habe ich mich bisher nur nebenbei beschäftigt. Wird aber sicher ein spannendes und vor allem in diesem Fall wichtiges Thema werden. Danke nochmals

              Gruß Bobby

              --
              -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
              ### Henry L. Mencken ###
              -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
              ## Viktor Frankl ###
              ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)