Differences between revisions 13 and 16 (spanning 3 versions)
Revision 13 as of 2007-01-16 14:15:16
Size: 2629
Editor: swordsp
Comment: 重构页面结构,独立 DatabaseModules 条目,增加 PyDO 章节,“DB-API 标准”章节小修订
Revision 16 as of 2007-01-16 15:51:28
Size: 3302
Editor: swordsp
Comment: 目录结构调整,“对象持久化与 OODB”和“其它数据存储接口”补充部分章节
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
''' Python数据库开发概要 '''::-- ["swordsp"] [[[DateTime(2006-07-16T16:58:58Z)]]] [[TableOfContents]] ''' Python数据库开发概要 '''::-- ["swordsp"] [[[DateTime(2007-01-16T15:51:28Z)]]] [[TableOfContents]]
Line 14: Line 14:
 * ["Gadfly"] -- Python 实现的一个嵌入式 in-memory 关系数据库
Line 24: Line 25:
Line 25: Line 27:
Line 27: Line 30:
Line 28: Line 32:
== 基于文件系统的存储 ==
== 其它数据存储接口 ==
=== PyTables ===
 * [http://www.pytables.org/moin/ PyTables] -- 管理层次型数据集的包,设计成可高效地处理极大量的数据
Line 33: Line 33:
 它构建于[http://hdf.ncsa.uiuc.edu/HDF5/ HDF5]之上,一个通用的存储数据的C库,被设计成能满足数据存储不断增加和数据处理不断变化的需求,主要运用于科学计算中
=== Metakit for Python ===
 * [http://www.equi4.com/metakit/python.html Mk4py] -- [http://www.equi4.com/metakit.html Metakit]是一个可运行于多个平台的高效的嵌入式数据库,使用C++开发,Mk4py是其python绑定
Line 38: Line 35:
Python 标准库中的两个模块,可以将 Python 对象“序列化”为字符串流,或者进行相应的反向操作。

相对于 pickle,shelve 是更为高层的封装(内部依赖于 pickle 和 anydbm 模块),一般情况下不直接使用前者。
 * Python 标准库中的两个模块,可以将 Python 对象“序列化”为字符串流,或者进行相应的反向操作。
 * 相对于 pickle,shelve 是更为高层的封装(内部依赖于 pickle 和 anydbm 模块),一般情况下不直接使用前者。
Line 55: Line 51:
=== PyPerSyst ===
主页:http://sourceforge.net/projects/pypersyst/
Line 57: Line 55:
=== PyVersant ===
商业面向对象数据库产品 [http://www.versant.com/ Versant] 的 Python 接口。

主页:http://starship.python.net/crew/jmenzel/

== 其它数据存储接口 ==
=== anydbm ===
Python 标准库,提供了“类DBM”模块的通用接口,在文件系统中保存类似字典的结构

其具体实现包括:

 * DBM
 * GBDM
 * dbhash
=== BSDDB ===
Python 标准库,除了字典结构外,还实现了B树,因此允许对元素的顺序访问。
=== PyTables ===
 * [http://www.pytables.org/moin/ PyTables] -- 管理层次型数据集的包,设计成可高效地处理极大量的数据

 它构建于[http://hdf.ncsa.uiuc.edu/HDF5/ HDF5]之上,一个通用的存储数据的C库,被设计成能满足数据存储不断增加和数据处理不断变化的需求,主要运用于科学计算中
=== Metakit for Python ===
 * [http://www.equi4.com/metakit/python.html Mk4py] -- [http://www.equi4.com/metakit.html Metakit]是一个可运行于多个平台的高效的嵌入式数据库,使用C++开发,Mk4py是其python绑定
=== mxBeeBase ===
主页:http://www.lemburg.com/files/python/mxBeeBase.html

Python数据库开发概要 ::-- ["swordsp"] [DateTime(2007-01-16T15:51:28Z)] TableOfContents

Include(swordsp/COTW/Header)

关系型数据库 ( Relational Database ) 开发

DB-API 标准

  • [wiki:peps/pep-0249 Python Database API Specification v2.0]
  • [wiki:peps/pep-0248 Python Database API Specification v1.0]

数据库接口模块

[:DatabaseModules:Python 数据库接口模块] -- 收集了Python 中的常用数据库接口模块,包括:

  • 主流关系数据库的专用接口模块(PostgreSQL、MySQL、SQLite……)

  • 通用接口模块(ODBC、JDBC……)
  • ["Gadfly"] -- Python 实现的一个嵌入式 in-memory 关系数据库

ORM ( Object-Relational Mapping ) 框架

SQLObject

主页:http://www.sqlobject.org

SQLAlchemy

[:SQLAlchemy: python 中最好的 ORM]

Modeling

主页:http://modeling.sourceforge.net

MiddleKit

Webware 框架的组件之一。

主页:http://www.webwareforpython.org/Webware/MiddleKit/Docs/

PyDO

SkunkWeb (一个web application server)的组件之一。

主页:http://skunkweb.sourceforge.net/pydo.html

对象持久化与 OODB

pickle 和 shelve

  • Python 标准库中的两个模块,可以将 Python 对象“序列化”为字符串流,或者进行相应的反向操作。
  • 相对于 pickle,shelve 是更为高层的封装(内部依赖于 pickle 和 anydbm 模块),一般情况下不直接使用前者。

ZODB

ZODB ( Zope Object Database ) 是一个高效对象型数据库,也是Zope平台的一部分。

Schevo

主页:http://schevo.org/

Divmod Axiom

主页:http://divmod.org/trac/wiki/DivmodAxiom

PyPerSyst

主页:http://sourceforge.net/projects/pypersyst/

Durus

主页:http://www.mems-exchange.org/software/durus/

PyVersant

商业面向对象数据库产品 [http://www.versant.com/ Versant] 的 Python 接口。

主页:http://starship.python.net/crew/jmenzel/

其它数据存储接口

anydbm

Python 标准库,提供了“类DBM”模块的通用接口,在文件系统中保存类似字典的结构

其具体实现包括:

  • DBM
  • GBDM
  • dbhash

BSDDB

Python 标准库,除了字典结构外,还实现了B树,因此允许对元素的顺序访问。

PyTables

Metakit for Python

mxBeeBase

主页:http://www.lemburg.com/files/python/mxBeeBase.html

Py4Database (last edited 2009-12-25 07:14:54 by localhost)