Benutzerspezifische Werkzeuge
Sie sind hier: Startseite Support FAQs Datenbanken Relationale Datenbanken und Zope Bietet Zope Verbindungs-Pooling zu Oracle, Sybase oder anderen Datenbanken an ?
Eine Ebene höher

Frage

Bietet Zope Verbindungs-Pooling zu Oracle, Sybase oder anderen Datenbanken an ?

Antwort

Ja, Zope verwaltet einen Pool von ZODB Datenbank-Verbindungen. Die Größe des Pools ist zur Zeit auf 7 eingestellt, muß aber immer kleiner gleich der Anzahl der zur Verfügung stehenden Threads sein.

Sobald ein Datenbank-Verbindungsobjekt in Zope definiert wurde, kann, je nach Last, pro ZODB-Verbindung eine Kopie der Datenbank-Verbindung genutzt werden. Jede Kopie des Datenbank-Verbindungsobjekts hat seine eigene Verbindung zur Datenbank. Es gibt also für jedes Datenbank-Verbindungsobjekt einen Verbindungs-Pool. Datenbank-Verbindunggen werden je nach Bedarf vom Verbindungs-Pool entfernt oder zu ihm hinzugefügt.

Nehmen wir an, Zope wurde mit 4 Threads konfiguriert, und hat ein ZOracleDA Datenbank-Verbindungsobjekt. Unter schwerer Last können bis zu 4 Oracle Verbindungen genutzt werden. Wird die Last geringer, werden entsprechend weniger Oracle Verbindungen benötigt, und ohne Last kann die Zahl der Oracle Verbindungen sogar auf Null fallen. Das geht alles automatisch, und ist ein Nebenprodukt des standardmäßigen Zope Managements von ZODB-Datenbankobjekten.

Man sollte nur vorsichtig sein, daß man einen Datenbank Adapter wählt, der fully threaded ist, um in den Genuß von Verbindungs-Pooling zu kommen. Das ist der Fall für den Oracle Datenbank-Adapter sowie für den Postgres Datenbank-Adapter psycopg.


Letzte Änderung: 30.04.2006 • Autor: ajung