Sqlite3 geeignet oder nicht ?

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
Benutzeravatar
Manchotix
User
Beiträge: 54
Registriert: Samstag 14. Januar 2012, 19:54

Hallo Python freunde,

ich bin noch recht ein neuling in Sachen Python wollte mich aber an einen eigenen Blog versuchen und wollte fragen ob Sqlite3 dafür geeignet ist oder nicht weil ich gelesen habe das es für Web-Anwendungen unbrauchbar ist.

Jetzt habe ich meinen Blog so weit das ich die Posts in eine Datenbank packen will.

Denn Sinn denn ich mir dabei gemacht habe ist:

Eine Datenbank mit der Tabelle die wie folgt aussieht
ID(Primary Key, und autoincrement)
Title in String
Text in String
Datum int


Jetzt was ich mit der Datenbank vor habe:
Auf meiner Admin Seite per POST von Title, Text und Datum an die Datenbank senden, die Einträge der Datenbank Title,Text und Datum in eine neue Html datei schreiben und auf die Index Seite bingen, aber auf der Index Seite der Text auf 100 Zeichen begrenzt ist.

Würde das gehen mit Sqlite3 oder soll ich lieber mysql oder der gleichen verwenden?
Ist das überhaupt Sinnvoll was ich mache oder gibt es einen einfachen oder anderen weg das zu machen?

Benutzte dafür Flask mit Python 2.7

mfg Manchotix
- Über Fehler sollte man sich freuen als über das richtige Ergebnis denn wir Menschen können nur aus den Fehlern lernen-
Gregorrr
User
Beiträge: 22
Registriert: Montag 25. Juli 2011, 21:55

Für einen simplen Blog ist SQLite super geeignet aus. Wobei SQLite natürlich langsamer ist als MySQL bspw..
Falls du aber einen Blog-Eintrag haben solltest, der die halbe Internet-Community aufsich ziehen würde, dann wird deine db mit Sicherheit in die Knie gehen.

SQLite beschreibt das so:
SQLite usually will work great as the database engine for low to medium traffic websites (which is to say, 99.9% of all websites). The amount of web traffic that SQLite can handle depends, of course, on how heavily the website uses its database. Generally speaking, any site that gets fewer than 100K hits/day should work fine with SQLite. The 100K hits/day figure is a conservative estimate, not a hard upper bound. SQLite has been demonstrated to work with 10 times that amount of traffic.
Benutzeravatar
Manchotix
User
Beiträge: 54
Registriert: Samstag 14. Januar 2012, 19:54

Ok dank dir Gregorrr, :D

da ich denke das mein Blog nicht die mega Anlaufstelle ist oder sein wird für die Leute da draussen kann ich ja ruhig Sqlite verwenden. :D
Aber kannst du noch andere Datenbanken empfehlen mal abgesehen von Oracle, Mysql, PostgreSql die aber auch gut unter Python zu verwenden sind, finde das Thema sehr interresant.

mfg Manchotix
- Über Fehler sollte man sich freuen als über das richtige Ergebnis denn wir Menschen können nur aus den Fehlern lernen-
Gregorrr
User
Beiträge: 22
Registriert: Montag 25. Juli 2011, 21:55

Manchotix hat geschrieben:Ok dank dir Gregorrr, :D

da ich denke das mein Blog nicht die mega Anlaufstelle ist oder sein wird für die Leute da draussen kann ich ja ruhig Sqlite verwenden. :D
Aber kannst du noch andere Datenbanken empfehlen mal abgesehen von Oracle, Mysql, PostgreSql die aber auch gut unter Python zu verwenden sind, finde das Thema sehr interresant.

mfg Manchotix
Also SQLite3 ist am einfachsten, ich würde einfach erstmal damit etwas bauen. In Android-Handys ist bspw. auch SQLite drin und Firefox benutzt SQLite bspw. für ihre HTML Web Storage API. Warum mit dem Presslufthammer einen Nagel in die Wand schlagen?
Benutzeravatar
Manchotix
User
Beiträge: 54
Registriert: Samstag 14. Januar 2012, 19:54

ok ich werdem ich dann mal dran halten, dank für die hilfe ;)
werde dann mal anfangen mein Blog damit auszustatten :D
- Über Fehler sollte man sich freuen als über das richtige Ergebnis denn wir Menschen können nur aus den Fehlern lernen-
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Mit SQLite hat man dann Probleme wenn viele gleichzeitige Schreibzugriffe erfolgen sollen.

Ich würde allerdings eh nicht die DB Anbindung selbst implementieren, sondern lieber ein ORM nehnen, dann kann man auch mal eben eine andere DB nehmen.

Ist das alte Thema: http://wiki.python.de/Web-Frameworks#We ... w-r_wen.3F

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
deets

Gregorrr hat geschrieben:Für einen simplen Blog ist SQLite super geeignet aus. Wobei SQLite natürlich langsamer ist als MySQL bspw..
Das ist natuerlich Unfug. SQLite ist eine in-process Datenbank und hat dadurch durchaus Vorteile bei der Geschwindigkeit.

http://www.sqlite.org/speed.html

Sie ist aber natuerlich nicht darauf optimiert, konkurrierende Zugriffe mit feingranularem Locking zu erlauben - in Webszenarien mit hoher Last also zB.
Gregorrr
User
Beiträge: 22
Registriert: Montag 25. Juli 2011, 21:55

deets hat geschrieben:
Gregorrr hat geschrieben:Für einen simplen Blog ist SQLite super geeignet aus. Wobei SQLite natürlich langsamer ist als MySQL bspw..
Das ist natuerlich Unfug. SQLite ist eine in-process Datenbank und hat dadurch durchaus Vorteile bei der Geschwindigkeit.

http://www.sqlite.org/speed.html

Sie ist aber natuerlich nicht darauf optimiert, konkurrierende Zugriffe mit feingranularem Locking zu erlauben - in Webszenarien mit hoher Last also zB.
Stimmt, für einfache, exclusive Lese-Zugriffe, wie beim Blog Szenario oben, ist SQLite sehr schnell, schneller als MySQL, weil der Overhead ein einfacher Lese-Zugriff auf eine Datei ist.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

[quote=Manchotix]Aber kannst du noch andere Datenbanken empfehlen mal abgesehen von Oracle, Mysql, PostgreSql die aber auch gut unter Python zu verwenden sind, finde das Thema sehr interresant.[/quote]
Alles, für das es eine vernünftige Python Anbindung. Und das ist viel ;-) Wie z.B. die ganzen NoSQL-DBs wie Redis, CouchDB, MongoDB, Cassandra, Riak, Neo4j usw. :-)

Für einen Blog können die dokument-basierten DBs interessant sein.

SQLite hat aber dann immer noch den Vorteil, dass es bei Python ootb dabei ist.

Gruß, noisefloor
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Da der typische Blog auch nicht im Sekundentakt neue Einträge hat, also die anzuzeigenden Daten quasi statisch sind, kann man durch Cachen der generierten Seiten auch einen großen Besucheransturm problemlos bewältigen.

Eine interessante Kombination aus Cache und Datenbank wäre übrigens Redis.

Stefan
Antworten