SQLite oder MySQL? Wie entscheide ich mich? [geschlossen]


93

Gibt es gute Faustregeln für die Entscheidung, welche der beiden zu verwenden ist?

Und wenn Sie eine Sqlite-Datenbank übernehmen und das System voraussichtlich "viel größer" wird, wie können Sie entscheiden, ob Sie dabei bleiben oder zu MySql wechseln möchten?


1
Betrachten Sie FirebirdEmbedded als eine sehr leistungsstarke Mischung aus beiden.
Stefan Steiger

1
Abstimmung zu schließen als zu breit. Mögliches Duplikat wurde gelöscht: stackoverflow.com/questions/3630/sqlite-vs-mysql
Ciro Santilli 法轮功 冠状 病 六四 事件 25

9
Es ist jetzt weit gefasst, aber als es veröffentlicht wurde, war diese Art von Frage akzeptabel oder zumindest toleriert. Ich hoffe, dass die Frage nicht wie das mögliche Duplikat gelöscht wird, damit andere die Diskussion und Empfehlungen noch lesen können.
Mawg sagt, Monica

4
So schade, dass die Fragen, die einen hohen Einfluss und eine hohe Sichtbarkeit haben (siehe die Anzahl der Up-Votes unten), von den "Monitoren" dieser Site geschlossen werden. Das macht den gesamten Überwachungsprozess und die Auswahl der Monitore ziemlich fragwürdig.
Francogrex

2
Die Standards, Werte und Ziele der Website haben sich im Laufe der Jahre geändert. "In erster Linie meinungsbasiert" ist nicht mehr akzeptabel. Wenn ich dies heute fragen wollte, würde ich auf softwarerecs.stackexchange.com fragen , nicht hier, und meine Anforderungen für eine Datenbank auflisten und Empfehlungen erhalten. Ich verstehe , warum wurde meine Frage geschlossen, aber ich bin immer noch nostalgisch für eine Zeit , wenn wir eine haben verwendet , um Bücher - Tag, und das Wort „beste“ in einem Titel bedeutet nicht sofortige Schließung: - / YMMV
Mawg sagt wieder einzusetzen Monica

Antworten:


102

Ihre Funktionen sind überhaupt nicht gleich. Sqlite ist eine eingebettete Datenbank ohne Netzwerkfunktionen (sofern Sie diese nicht hinzufügen). Sie können es also nicht in einem Netzwerk verwenden.

Wenn Sie brauchen

  • Netzwerkzugriff - zum Beispiel Zugriff von einem anderen Computer aus;
  • Jeder echte Grad an Parallelität - zum Beispiel, wenn Sie der Meinung sind, dass Sie wahrscheinlich mehrere Abfragen gleichzeitig ausführen möchten oder eine Workload mit vielen Auswahlmöglichkeiten und einigen Aktualisierungen ausführen möchten und diese reibungslos funktionieren sollen usw.
  • Viel Speicherplatz zum Beispiel, um Teile Ihrer 1-TB-Datenbank in Ihrem 32-GB-Speicher zu puffern.

Sie müssen MySQL oder ein anderes serverbasiertes RDBMS verwenden.

Beachten Sie, dass MySQL nicht die einzige Wahl ist und es viele andere gibt, die für neue Anwendungen (z. B. pgSQL) möglicherweise besser sind.

Sqlite ist eine sehr, sehr schöne Software, aber es hat nie behauptet, eines dieser Dinge zu tun, die RDBMS-Server tun. Es ist eine kleine Bibliothek, die SQL für lokale Dateien ausführt (durch Sperren wird sichergestellt, dass mehrere Prozesse die Datei nicht vermasseln). Es ist wirklich gut getestet und ich mag es sehr.

Wenn Sie dies nicht selbst richtig auswählen können, müssen Sie wahrscheinlich jemanden in Ihrem Team einstellen, der dies kann.


Grundsätzlich ist sqllite eine Alternative zu ms access files.
dvdmn

2
Diese drei Punkte sind genau das, was Richard Hipp sagt: youtu.be/Jib2AmRb_rk?t=1693
Ciro Santilli 法轮功 冠状 病 六四 事件 25

Der Einfachheit halber habe ich immer eine einzige Software, die der einzige Benutzer ist, der auf die Datenbank zugreifen darf, selbst für vernetzte Apps, die eine MySQL-Datenbank verwenden.
Mawg sagt, Monica

57

Das SQLite-Team hat einen Artikel veröffentlicht, in dem erklärt wird, wann SQLite verwendet werden soll. Grundsätzlich möchten Sie die Verwendung von SQLite vermeiden, wenn Sie viel gleichzeitig schreiben oder auf Terabyte Daten skalieren müssen. In vielen anderen Fällen ist SQLite eine überraschend gute Alternative zu einer "traditionellen" Datenbank wie MySQL.


11

SQLite Out-of-the-Box ist in Bezug auf Parallelität nicht wirklich funktionsreich. Sie werden in Schwierigkeiten geraten, wenn Sie Hunderte von Webanfragen haben, die auf dieselbe SQLite-Datenbank treffen.

Sie sollten auf jeden Fall mit MySQL oder PostgreSQL gehen.

Wenn es sich um ein Einzelprojekt handelt, ist SQLite jedoch einfacher einzurichten.


Der Einfachheit halber habe ich immer eine einzige Software, die der einzige Benutzer ist, der auf die Datenbank zugreifen darf, selbst für vernetzte Apps, die eine MySQL-Datenbank verwenden, aber offensichtlich, insbesondere für SQLite.
Mawg sagt, Monica

10

Meine wenigen Cent zu früheren ausgezeichneten Antworten. Die Website www.sqlite.org arbeitet mit einer SQLite-Datenbank. Hier ist der Link, wenn der Autor (Richard Hipp) auf eine ähnliche Frage antwortet.


1
Vielen Dank für den Link, derselbe Autor fährt mit einer eigenen Workbench fort, die er über einen Athlon 1600 getestet hat. 1 GB RAM. 5400RPM IDE-Festplatte. Redhat 7.3. Er kommt zu dem Schluss: «Ich glaube jetzt, dass SQLite als primäre Datenbank für Websites geeignet ist, die bis zu 1 Million Zugriffe pro Tag erzielen.»
Rutrus
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.