SQlite Datenbank auf Webserver?

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
niggoo
User
Beiträge: 2
Registriert: Sonntag 2. Januar 2011, 12:56

Ich wollte mich zum ersten mal an die Datenbank-Programmierung mit Python wagen.

Wie kann ich auf eine sqlite-Datenbank zugreifen, die online verfügbar sein soll (auf einem Webserver)? Die Datei müsste natürlich auch irgendwie geschützt werden, sodass ein Zugriff außerhalb des Python-Programms nicht möglich ist.

Ist das überhaupt sinnvoll, dieses Problem mittels sqlite zu lösen oder wäre MySQL für diese Anforderungen nicht geschickter?

Ich bedanke mich bereits jetzt mal für eure Antworten.

LG von niggoo
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Soll das Programm öffentlich sein oder nur für dich?

Egal ob SQlite oder MySQL du wirst es nicht schaffen das es nur aus deinem Python Programm her einen Zugriff auf die Daten gibt.

Wenn der MySQL Server am Internet lauscht kann man direkt zu ihm Verbinden, aber jeder der sich dein Programm anschaut kann sich Benutzername und Passwort heraus suchen und alle SQL Befehle absetzen die diesem Nutzer erlaubt sind.

Bei SQLite direkt auf die Datenbank über HTTP zuzugreifen geht nicht so wie du es dir vorstellst. Man kannte ein PHP / Python Script auf den Server erstellen, welches die SQL Abfragen und Schreibvorgänge für dein Programm übernimmt. Aber auch da gilt dann: Jeder bekommt die Zugriffsmöglichkeiten die ihm dein Script auf dem Server gewährt.
niggoo
User
Beiträge: 2
Registriert: Sonntag 2. Januar 2011, 12:56

Sr4l hat geschrieben:Soll das Programm öffentlich sein oder nur für dich?
Die Software soll nur durch mich und ein paar andere ausgewählte Leute erreichbar sein.

Also macht das eigentlich keinen Sinn, Datenbanken mit Python zu kontaktieren, wenn man die Zugangsdaten nicht gut absichern kann?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

niggoo hat geschrieben:Also macht das eigentlich keinen Sinn, Datenbanken mit Python zu kontaktieren, wenn man die Zugangsdaten nicht gut absichern kann?
Ja richtig. Der Punkt ist - mit anderen Sprachen ist es aber auch nicht anders.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
lunar

@niggoo: Nur deswegen hat man ja überhaupt Passwörter und Benutzerkonten erfunden ...
Benutzeravatar
microkernel
User
Beiträge: 271
Registriert: Mittwoch 10. Juni 2009, 17:27
Wohnort: Frankfurt
Kontaktdaten:

niggoo hat geschrieben:Ist das überhaupt sinnvoll, dieses Problem mittels sqlite zu lösen oder wäre MySQL für diese Anforderungen nicht geschickter?
Wenn ich mich recht erinnere sind MySQL Datenbanken für WEB Anwendungen besser geeignet da an MySQL Datenbanken mehrere Leute gleichzeitig arbeiten können. Außerdem kannst du MySQL Datenbanken leichter online kontaktieren.

Lg
microkernel
lunar

@microkernel: Auch SQLite kann mit gleichzeitigen Schreibzugriffen umgehen, wenn auch gezwungenermaßen nicht sonderlich effizient.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
Ist das überhaupt sinnvoll, dieses Problem mittels sqlite zu lösen oder wäre MySQL für diese Anforderungen nicht geschickter?
Wenn deine (Python-) Anwendung auf dem gleichen Server läuft kannst du natürlich SQLite nehmen. Wenn nicht, dann eher nicht ;-).

Trac nutzt z.B. auch per Default SQLite.

NACHTRAG:
Wenn ich mich recht erinnere sind MySQL Datenbanken für WEB Anwendungen besser geeignet da an MySQL Datenbanken mehrere Leute gleichzeitig arbeiten können.
Wenn du _wirklich_ quasi-parallelen Zugriff auf die DB brauchst, dann hast du aber schon eine ganz schön massive Webanwendung mit ziemlich vielen Nutzern... ;-)

Gruß, noisefloor
Antworten