Benutzeranleitung für DBUtils
+++++++++++++++++++++++++++++
:Version: 1.1
:Released: 08/14/11
:Translations: English_ German
.. _English: UsersGuide.html
.. contents:: Inhalt
Zusammenfassung
===============
DBUtils_ ist eine Sammlung von Python-Modulen, mit deren Hilfe man in Python_
geschriebene Multithread-Anwendungen auf sichere und effiziente Weise an
Datenbanken anbinden kann. DBUtils wurde mit Blick auf `Webware for Python`_
als Anwendung und PyGreSQL_ als PostgreSQL_-Datenbankadapter entwickelt,
kann aber für beliebige Python-Anwendungen und beliebige auf `DB-API 2`_
beruhende Python-Datenbankadapter verwendet werden.
Module
======
DBUtils ist als Python-Package realisiert worden, das aus zwei verschiedenen
Gruppen von Modulen besteht: Einer Gruppe zur Verwendung mit beliebigen
DB-API-2-Datenbankadaptern, und einer Gruppe zur Verwendung mit dem klassischen PyGreSQL-Datenbankadapter-Modul.
+-------------------+----------------------------------------------+
| Allgemeine Variante für beliebige DB-API-2-Adapter |
+===================+==============================================+
| SteadyDB.py | Gehärtete DB-API-2-Datenbankverbindungen |
+-------------------+----------------------------------------------+
| PooledDB.py | Pooling für DB-API-2-Datenbankverbindungen |
+-------------------+----------------------------------------------+
| PersistentDB.py | Persistente DB-API-2-Datenbankverbindungen |
+-------------------+----------------------------------------------+
| SimplePooledDB.py | Einfaches Pooling für DB-API 2 |
+-------------------+----------------------------------------------+
+-------------------+----------------------------------------------+
| Variante speziell für den klassischen PyGreSQL-Adapter |
+===================+==============================================+
| SteadyPg.py | Gehärtete klassische PyGreSQL-Verbindungen |
+-------------------+----------------------------------------------+
| PooledPg.py | Pooling für klassische PyGreSQL-Verbindungen |
+-------------------+----------------------------------------------+
| PersistentPg.py | Persistente klassische PyGreSQL-Verbindungen |
+-------------------+----------------------------------------------+
| SimplePooledPg.py | Einfaches Pooling für klassisches PyGreSQL |
+-------------------+----------------------------------------------+
Die Abhängigkeiten der Module in der Variante für beliebige DB-API-2-Adapter
sind im folgenden Diagramm dargestellt:
.. image:: dbdep.gif
Die Abhängigkeiten der Module in der Variante für den klassischen
PyGreSQL-Adapter sehen ähnlich aus:
.. image:: pgdep.gif
Download
========
Die aktuelle Version von DBUtils kann von der Homepage von Webware for Python
heruntergeladen werden:
http://www.webwareforpython.org/downloads/DBUtils/
Außerdem befindet sie sich im Python Package Index (auch bekannt als der
"Cheese Shop") und kann von dort heruntergeladen werden:
http://www.python.org/pypi/DBUtils/
Installation
============
Installation als eigenständiges Paket
-------------------------------------
Wenn Sie DBUtils für andere Anwendungen als Webware for Python verwenden
möchten, empfiehlt es sich, das Paket auf die übliche Weise zu installieren::
python setup.py install
Installation als Unterpaket (Plug-In) von Webware for Python
------------------------------------------------------------
Wenn Sie DBUtils nur als Ergänzung für das Web-Framework Webware for Python
verwenden wollen, sollten Sie DBUtils als Webware-Plug-In installieren::
python setup.py install --install-lib=/pfad/zu/Webware
Ersetzen Sie ``/pfad/zu/Webware`` hierbei durch den Pfad zum Wurzelverzeichnis
der Installation von Webware for Python. Sie müssen auch das Installationsskript
von Webware for Python laufen lassen, wenn dies noch nicht geschehen ist, oder
wenn Sie DBUtils in die Webware-Dokumentation integrieren wollen::
cd /pfad/zu/Webware
python install.py
Anforderungen
=============
DBUtils arbeitet mit Python_ 2.3 oder einer neueren Version von Python 2.
Die Module in der Variante für klassisches PyGreSQL benötigen PyGreSQL_
Version 3.4 oder höher, während die Module in der allgemeinen Variante
für DB-API 2 mit jedem beliebigen Python-Datenbankadapter-Modul
zusammenarbeiten, das auf `DB-API 2`_ basiert.
Funktionalität
==============
Dieser Abschnitt verwendet nur die Bezeichnungen der DB-API-2-Variante, aber
Entsprechendes gilt auch für die PyGreSQL-Variante.
SimplePooledDB
--------------
``DBUtils.SimplePooledDB`` ist eine sehr elementare Referenz-Implementierung
eines Pools von Datenbankverbindungen. Hiermit ist ein Vorratsspeicher an
Datenbankverbindungen gemeint, aus dem sich die Python-Anwendung bedienen kann.
Diese Implementierung ist weit weniger ausgefeilt als das eigentliche
``PooledDB``-Modul und stellt insbesondere keine Ausfallsicherung zur Verfügung.
``DBUtils.SimplePooledDB`` ist im Wesentlichen identisch mit dem zu Webware for
Python gehörenden Modul ``MiscUtils.DBPool``. Es ist eher zur Verdeutlichung
des Konzepts gedacht, als zum Einsatz im produktiven Betrieb.
SteadyDB
--------
``DBUtils.SteadyDB`` ist ein Modul, das "gehärtete" Datenbankverbindungen
bereitstellt, denen gewöhnlichen Verbindungen eines DB-API-2-Datenbankadapters
zugrunde liegen. Eine "gehärtete" Verbindung wird bei Zugriff automatisch,
ohne dass die Anwendung dies bemerkt, wieder geöffnet, wenn sie geschlossen
wurde, die Datenbankverbindung unterbrochen wurde, oder wenn sie öfter als
ein optionales Limit genutzt wurde.
Ein typisches Beispiel wo dies benötig wird, ist, wenn die Datenbank neu
gestartet wurde, während Ihre Anwendung immer noch läuft und Verbindungen
zur Datenbank offen hat, oder wenn Ihre Anwendung auf eine entfernte Datenbank
über ein Netzwerk zugreift, das durch eine Firewall geschützt ist, und die
Firewall neu gestartet wurde und dabei ihren Verbindungsstatus verloren hat.
Normalerweise benutzen Sie das ``SteadyDB``-Modul nicht direkt; es wird aber
von den beiden nächsten Modulen benötigt, ``PersistentDB`` und ``PooledDB``.
PersistentDB
------------
``DBUtils.PersistentDB`` stellt gehärtete, thread-affine, persistente
Datenbankverbindungen zur Verfügung, unter Benutzung eines beliebigen
DB-API-2-Datenbankadapters. Mit "thread-affin" und "persistent" ist
hierbei gemeint, dass die einzelnen Datenbankverbindungen den jeweiligen
Threads fest zugeordnet bleiben und während der Laufzeit des Threads nicht
geschlossen werden.
Das folgende Diagramm zeigt die beteiligten Verbindungsschichten, wenn Sie
``PersistentDB``-Datenbankverbindungen einsetzen:
.. image:: persist.gif
Immer wenn ein Thread eine Datenbankverbindung zum ersten Mal öffnet, wird
eine neue Datenbankverbindung geöffnet, die von da an immer wieder für genau
diesen Thread verwendet wird. Wenn der Thread die Datenbankverbindung schließt,
wird sie trotzdem weiter offen gehalten, damit beim nächsten Mal, wenn der
gleiche Thread wieder eine Datenbankverbindung anfordert, diese gleiche bereits
geöffnete Datenbankverbindung wieder verwendet werden kann. Die Verbindung wird
automatisch geschlossen, wenn der Thread beendet wird.
Kurz gesagt versucht ``PersistentDB`` Datenbankverbindungen wiederzuverwerten,
um die Gesamteffizienz der Datenbankzugriffe Ihrer Multithread-Anwendungen zu
steigern, aber es wird dabei sichergestellt, dass verschiedene Threads niemals
die gleiche Verbindung benutzen.
Daher arbeitet ``PersistentDB`` sogar dann problemlos, wenn der zugrunde
liegende DB-API-2-Datenbankadapter nicht thread-sicher auf der Verbindungsebene
ist, oder wenn parallele Threads Parameter der Datenbank-Sitzung verändern
oder Transaktionen mit mehreren SQL-Befehlen durchführen.
PooledDB
--------
``DBUtils.PooledDB`` stellt, unter Benutzung eines beliebigen
DB-API-2-Datenbankadapters, einen Pool von gehärteten, thread-sicheren
Datenbankverbindungen
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。
资源推荐
资源详情
资源评论
收起资源包目录
基于Mole的一个企业级web应用的架子.zip (822个子文件)
gzjs.bat 2KB
_debugsupport.c 1KB
bootstrap.css 115KB
bootstrap.min.css 96KB
core.css 40KB
bootstrap-responsive.css 21KB
bootstrap-responsive.min.css 16KB
flexigrid_blue.css 14KB
flexigrid_blue.css 14KB
flexigrid.pack0.css 14KB
flexigrid_blue_me.css 14KB
flexigrid_gray.css 14KB
flexigrid.pack.css 14KB
flexigrid.css 13KB
style.css 11KB
zTreeStyle.css 6KB
DocUtils.css 5KB
codemirror.css 4KB
ieHack.css 3KB
login.css 3KB
Doc.css 2KB
jw.css 2KB
jqModal_blue.css 2KB
global.css 2KB
jqModal_gray.css 2KB
style_accordion.css 2KB
uploadify.css 727B
ie-patch.css 180B
example.db 24KB
gzip.exe 90KB
jw-icons.gif 17KB
pool.gif 13KB
images_bg_grid.gif 11KB
loading.gif 10KB
loading.gif 10KB
loading.gif 10KB
persist.gif 7KB
progressBar_l.gif 6KB
zTreeStandard.gif 5KB
browser_chrome.gif 5KB
browser_safari.gif 5KB
browser_firefox.gif 4KB
browser_ie.gif 4KB
progressBar_m.gif 3KB
login_logo.gif 3KB
browser_opera.gif 3KB
imgX.gif 3KB
dbdep.gif 3KB
progressBar_s.gif 2KB
pgdep.gif 2KB
search-bt.gif 2KB
load.gif 2KB
load.gif 2KB
load.gif 2KB
area_chg.gif 1KB
export.gif 1KB
tbg.gif 904B
tbg.gif 904B
headbg.gif 872B
headbg.gif 872B
headbg.gif 872B
wbg.gif 868B
wbg.gif 868B
wbg.gif 868B
wbg.gif 868B
wbg.gif 860B
wbg.gif 860B
bg.gif 854B
order_down.gif 850B
order_up.gif 848B
bg.gif 846B
bg.gif 846B
fhbg.gif 836B
gridth.gif 836B
gridth.gif 836B
page-bg.gif 835B
page-bg.gif 835B
sort_desc.gif 833B
sort_desc.gif 833B
sort_asc.gif 830B
sort_asc.gif 830B
fhbg.gif 828B
fhbg.gif 828B
line.gif 817B
line.gif 817B
line.gif 817B
line.gif 809B
line.gif 809B
background_browser.gif 753B
pos_chg.gif 613B
search-bg.gif 598B
load.gif 560B
load.gif 560B
select.gif 552B
select.gif 552B
select.gif 552B
loading.gif 381B
last.gif 220B
last.gif 220B
last.gif 220B
共 822 条
- 1
- 2
- 3
- 4
- 5
- 6
- 9
资源评论
妄北y
- 粉丝: 1w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功