Allgemeine Frage zum Umgang mit connections in größeren Apps

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
Benutzeravatar
microkernel
User
Beiträge: 271
Registriert: Mittwoch 10. Juni 2009, 17:27
Wohnort: Frankfurt
Kontaktdaten:

Hallo,

ich arbeite seit einiger Zeit an einem etwas umfangreicheren Projekt. Dabei nutze ich zur Speicherung meiner Daten eine MySQL Datenbank. Das Programm arbeitet mit Threads und ist im ständigen Kontakt mit der Datenbank. Nun zur meiner Frage: Wie soll ich bei einem größeren Projekt mit Datenbank-Verbindungen umgehen? Soll ich zum Programmstart nur eine Verbindung aufbauen, womit dann das gesamte Programm arbeitet? Oder soll Ich für jede Aufgabe/ jeden Thread einzeln eine neue Verbindung aufbauen? Und wie ist das dann mit den cursor(n)? Soll ich auch nur einen für das ganze Programm verwenden oder für jede Teilarbeit einen einzelnen cursor erstellen.

Ich hoffe meine Fragen sind verständlich...


VG
microkernel
deets

ueblicherweise beschweren sich DBs wenn eine connection von mehr als einem thread gleichzeitig genutzt wird. Wenn du keine Performance-Einbussen spuerst, dann mach einfach pro Thread eine auf und wieder zu. Wenn das doch nervt, dann pooling. Und SQLAlchemy handelt das fuer dich hinter den Kulissen ab, vielleicht mal ein Grund umzustellen.
Benutzeravatar
microkernel
User
Beiträge: 271
Registriert: Mittwoch 10. Juni 2009, 17:27
Wohnort: Frankfurt
Kontaktdaten:

deets hat geschrieben:Und SQLAlchemy handelt das fuer dich hinter den Kulissen ab, vielleicht mal ein Grund umzustellen.
Interessant. Ich habe zuvor noch nie mit SQLAlchemy gearbeitet, finde es aber sehr praktisch... Kennt jemand gute Einstiegs-Tutorials?
deets

Hast du einfach mal gegoogelt? Dann waere dir die wirklich *aussergewoehnliche* Doku von SA gleich als erstes um die Augen geflogen...
Benutzeravatar
microkernel
User
Beiträge: 271
Registriert: Mittwoch 10. Juni 2009, 17:27
Wohnort: Frankfurt
Kontaktdaten:

Wirklich?? Danke für den Hinweis, das ist mir so gar nicht aufgefallen... :roll:
deets

Offensichtlich nicht, sonst haette sich deine Frage nach Tutorials ja wohl eruebrigt, oder? Oder zumindest lauten muessen "die offiziellen sind mir zu schwer/englisch/wausauchimmer".
Antworten