Python Datenbank auf Webpresänz

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
Astraioz

Hallo zusammen,
ich wollte mal fragen, ob es irgendeine Möglichkeit gibt eine Python Datenbank auf einer Webspace zu speichern und dann von überall benutzen zu können?
Ich möchte es nämlich irgendwie hinkriegen eine Datenbank zu haben von der ich immer und überall mit Python zugreifen kann.

Gruß
Astraioz
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Astraioz hat geschrieben:ich wollte mal fragen, ob es irgendeine Möglichkeit gibt eine Python Datenbank auf einer Webspace zu speichern und dann von überall benutzen zu können?
Du hast anscheinend ein Verständnisproblem bezüglich Datenbanken. Es gibt keine "Python-Datenbank". Python kann allerdings diverse unterschiedliche Datenbanksysteme nutzen.

Kannst du etwas genauer erklären was du vorhast?
webspider
User
Beiträge: 485
Registriert: Sonntag 19. Juni 2011, 13:41

Du kannst in Manier von vielen Smartphone-Apps eine Datenbank auf einem Server haben und ein Web-Interface bauen, welches Anfragen entgegennimmt und beantwortet. Es muss nicht einmal eine Datenbank sein, JSON tuts auch zum testen.
Astraioz

@/me
mir ist klar, dass es keine Python-Datenbank gibt. Ich möchte einfach eine Datenbank haben von mir aus sqlite3 oder so das ich von überall ansteuern kann. Das halt irgendwo im Netz liegt.
Sirius3
User
Beiträge: 17749
Registriert: Sonntag 21. Oktober 2012, 17:20

Datenbanken sind selten wirklich direkt über Netz erreichbar, die Zugriffssicherheit ist einfach zu schwierig zu garantieren. Normalerweise wird man einen Zugriff über RPC realisieren.
lunar

@Astraioz Dann musst Du Dir einen eigenen Server mieten, dort das gewünschte Datenbanksystem installieren, und es so konfigurieren, dass es von außen erreichbar ist. Man wird Dir davon allerdings aus guten Gründen nachdrücklich abraten.
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

lunar hat geschrieben:@Astraioz Dann musst Du Dir einen eigenen Server mieten, dort das gewünschte Datenbanksystem installieren, und es so konfigurieren, dass es von außen erreichbar ist. Man wird Dir davon allerdings aus guten Gründen nachdrücklich abraten.
Theoretisch könnte man den Sqlite-Dateicontainer via WebDAV oder so ähnlich anbinden. Das ist allerdings rein akademisch und sollte nicht produktiv eingesetzt werden.

Ein echtes Datenbankmanagementsystem könnte man über ein VPN tunneln. Das ist allerdings keine Lösung die "mal eben" auf angemietetem Webspace realisierbar ist.
Astraioz

Es muss nichts großes sein ich will einfach z.B. von einem Programmierten Spiel unternander die Highscores austauschen.
Ich kann damit auch leider insgesamt nichts anfangen.
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Astraioz hat geschrieben:Es muss nichts großes sein ich will einfach z.B. von einem Programmierten Spiel unternander die Highscores austauschen.
Wenn du ein echtes Datenbanksystem verwenden möchtest, dann ist es egal ob groß oder klein.

Als erstes brauchst du mal das Datenbanksystem an sich. Das ist nicht einfach eine Datei und vielleicht ein paar Skripte die irgendwo auf einem Webspace liegen. Das ist ein komplexes Stück Software das installiert, konfiguriert und gewartet werden muss. Installiert bedeutet schon mal, dass du auf dem Zielrechner weitgehende Rechte für die Installation eigener Software haben musst. Es gibt allerdings von kommerziellen Anbietern Webspace-Angebote die eine Datenbank beinhalten.

Datenbankmanagementsysteme stellen ihre Dienste über eine passende Schnittstelle zur Verfügung. Im Netz greifst du darauf über eine IP-Adresse und einen Port mit dem passenden Protokoll zu. Es gibt Python-Bibliotheken für diverse Datenbanksysteme, aber alle nutzen im Endeffekt diesen Mechanismus, auch wenn die konkrete Implementierung datenbankspezifisch ist. Typischerweise öffnen Massenhoster (wie z.B. 1&1) diese Ports nicht nach außen, bzw. schotten sogar das komplette Netzsegment in dem das DBMS arbeitet nach außen ab. Damit ist die Datenbank nicht von außen erreichbar sondern nur vom Webspace selber.

Kurz gesagt: Es geht nicht einfach so ohne Aufwand, nur weil die Anforderungen gering sind.


Warum schreibst du nicht einfach einen kleinen Webservice der Highscores eintragen und zurückgeben kann? Den könntest du problemlos über HTTP ansprechen.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

wenn es nicht viele Daten sind und keine parallelen Zugriffe nötig sind kannst du die Daten z.B. auch als JSON (oder XML... :wink: ) in eine Datei schreiben und die zentral bei Dropbox, Ubuntu One oder so ablegen.

Oder greifst auf einen Provider für DBs im Web wir z.B. IrisCouch (wobei ich nicht, weiß, in wie weit die die API von CouchDB von aussen zugänglich machen).

Den Lösungsvorschlag von /me mit dem eigenen Webservice halte ich allerdings (auch) für am elegantesten.

Gruß, noisefloor
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Astraioz hat geschrieben:Es muss nichts großes sein ich will einfach z.B. von einem Programmierten Spiel unternander die Highscores austauschen.
Ich kann damit auch leider insgesamt nichts anfangen.
Also wenn du die Datenbank so offen stehen lässt, dann dann auch jeder beliebige Highscores reinschreiben sowie alle Highscores löschen. Also willst du in der Regel nicht dass diese Datenbank von außen zugreifbar ist.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
seishin
User
Beiträge: 87
Registriert: Montag 19. Dezember 2011, 16:42

Nimm dieses: ist zwar nicht die Couche sondern Mongo...
Ist aber ein zuverlässiger Hoster... Login, das nicht jeder drauf kann usw.
http://www.python-forum.de/viewtopic.php?f=23&t=31147
Antworten