Ich nahm das von einer anderen Frage , die ich hatte.
Bei entsprechender Verwendung für sqlite gilt:
Situationen, in denen SQLite gut funktioniert
• Websites
SQLite funktioniert in der Regel gut als Datenbankmodul für niedrig bis mittel Verkehrswebsites (das heißt, 99,9% aller Websites). Der Umfang des Web-Datenverkehrs, mit dem SQLite umgehen kann hängt natürlich davon ab, wie stark die Website verwendet seine Datenbank. Allgemein Sprechen, jede Seite, die weniger bekommt als 100K Hits / Tag sollte gut funktionieren mit SQLite. Die 100K-Treffer / Tag-Zahl ist eine vorsichtige Schätzung, nicht schwer obere Grenze. SQLite wurde demonstriert mit 10 mal zu arbeiten diese Menge an Verkehr.
Situationen, in denen ein anderes RDBMS Mai Arbeite besser
• Client / Server-Anwendungen
Wenn Sie viele Client-Programme haben Zugriff auf eine gemeinsame Datenbank über eine Netzwerk sollten Sie in Erwägung ziehen, Client / Server-Datenbankmodul stattdessen von SQLite. SQLite funktioniert über a Netzwerk - Dateisystem, aber wegen der Latenz, die mit dem meisten Netzwerk verbunden ist Dateisysteme, Leistung wird nicht sein groß. Auch die Dateisperrlogik von viele Netzwerk-Dateisysteme Implementierung enthält Fehler (auf beiden Unix und Windows). Wenn Datei gesperrt wird funktioniert nicht wie es sollte, könnte es für zwei oder mehr Kunden möglich sein Programme, um denselben Teil von zu modifizieren die gleiche Datenbank zur gleichen Zeit, was zu einer Beschädigung der Datenbank führt. Weil dieses Problem von Fehlern herrührt im zugrunde liegenden Dateisystem Implementierung, da ist nichts SQLite kann dies verhindern.
Eine gute Faustregel ist, dass Sie sollte vermeiden, SQLite in Situationen, in denen die gleiche Datenbank wird gleichzeitig von abgerufen viele Computer über ein Netzwerk Dateisystem.
Ich werde hier meine Unwissenheit zeigen, aber was ist der Unterschied zwischen diesen beiden?
Eine "Web-Anwendung" ist eine Anwendung, in der ein Browser häufig als Client verwendet wird. Eine Webanwendung ist eine Client / Server-Anwendung. Mit anderen Worten, Sie könnten sich eine Client / Server-Anwendung als Superklasse vorstellen, bei der die Webanwendung eine Kindklasse ist.
"Web" -Anwendungen implizieren, dass der Browser der Client ist
Client / Server-Apps implizieren eine benutzerdefinierte Client-App. Denken Sie daran, Outlook angeschlossen zu tauschen, während es das Web verwenden kann, um eine Verbindung herzustellen, ist es ein eigener Client zum Exchange-Server.
BEARBEITEN:
Spezifischer für den sqlite-Text, den Sie gepostet haben, bedeutet dies, dass Client-Anwendungen nicht direkt auf Ihre sqllite-DB zugreifen dürfen und stattdessen eine Art serverseitige Schnittstelle (dh einen json-Web-Service) verwenden sollten >
Aber diese Faustregel gilt meiner Meinung nach für ALLE Datenbank-Engines. Wenn ich SQL Server oder Oracle verwende, würde ich DEFINIETLICH vermeiden, Client-Apps direkt mit der DB verbinden zu lassen, dies hat viele potentielle Probleme, das erste ist Sicherheit.
Es gibt einige Unterschiede:
Web-Anwendungen gehen davon aus, dass der Client ein Webbrowser ist und dass die Kommunikation zwischen Client und Server zustandslos (HTTP) ist. Es neigt auch dazu, anzunehmen, dass der Client "dünn" ist und nur sehr wenige Informationen im Browser verarbeitet werden.
Client-Server-Anwendungen nehmen an, dass der Client ein "dicker" Client ist und dass die Kommunikation zwischen dem Client und dem Server den Zustand beibehält (dies ist nicht unbedingt der Fall). Kommunikation kann so ziemlich jedes Protokoll sein. Die altmodische Client-Server- oder 2-Tier-Anwendung lässt jeden Client direkt mit der Datenbank verbinden - ich würde aus verschiedenen Gründen davon abraten, die Nummer eins ist die Sicherheit. Dies ist wahrscheinlich, was die Quelle, die Sie gepostet haben, bedeutet, dass SQLite nicht angemessen ist.
Ein 3 + Tier-Anwendungstyp könnte weiterhin eine Client-Server-Kommunikation im Status haben, aber die mittlere Schicht würde die eigentliche Datenbankkommunikation handhaben. In diesem Fall ist die Latenz im Netzwerk nicht wichtig und SQLite könnte funktionieren (weil es mehr wie eine Web-App ist).
Differenz b / n Client / Server-Anwendung und Webanwendungsserver
1) Client-Server-Anwendungen folgen Zwei-Ebenen-Architektur, aber Web-Server-Anwendungen folgen Three-Tier- oder 'n'tier-Architektur.
2) In der Client-Server-Anwendung werden wir keine Web-Server verwenden, aber in Webserver-Anwendungen werden dieselben verwendet.
3) Client-Server-Anwendungen Hauptsächlich in Intranet-Bereichen, aber Webserver-Anwendungen, die in Internet-Bereichen verwendet werden.
4) Securicy-Probleme sind sehr gering im Client-Server, da es Minimale Benutzer gibt, aber im Web-Server Sicherheitsprobleme sind Maximum, da Endbenutzer mehr sind.
5) Performance-Probleme werden im Client-Server nicht berücksichtigt, aber es werden Web-Server-Anwendungen in Betracht gezogen.
Tags und Links web-applications client-server