Proboscis [Python] 0.1 发布

发布于 2005-09-26

这是 Proboscis[1] 的第一个发布公告,它是基于 PQueue 的 Green

Trunk 实现。它是用于 Python 的 PostgreSQL 驱动程序/接口。又一个?

嗯,可以说是,也可以说不是。Proboscis 不是基于 libpq 的,也不是主要

生成 DB-API 2.0 接口(0.2 版本可能包含针对 DB-API 2.0 用户的层)。

可以在这里[2]找到发布新闻。

此前端具有以下特性,排名不分先后:

* 纯 Python

* Green Trunk 接口

* 线程安全

* Windows 支持

* 基本 SSL 支持

* 支持 COPY TO/FROM

* 协议级别的预处理语句和游标(Portals)

* 基于需求的游标活动

* 查询和过程方法(请参阅 Green Trunk 文档)

* bytea 透明性(提示:使用参数时无需转义)

* Wire Tap(异步通知)

* 自动客户端编码/解码

在此处[3]下载。

纯 Python?它一定很慢,不是吗?嗯,首先,有一个可选的 C

扩展模块,可以在一个敏感区域提供优化,因此它不一定

是纯 Python。随着 1.0 版本的临近,其他敏感区域也可能会被

优化。

那么它有多慢或多快?以下是一些简单的测试:

(服务器和客户端在同一台机器上)

复制,

COPY FROM 摘要,

复制的元组数:50000

复制的字节数:2882981

持续时间:2.186987

每个元组的平均大小(字节):57.000000

每秒平均 KB:1287.159045

每秒平均元组数:22862.505244

COPY TO 摘要,

复制的元组数:50000

持续时间:2.299819

每秒平均 KB:1224.009372

每秒平均元组数:21740.841414

(警告:如果没有 C 扩展模块,COPY TO 的 TPS 将减半)

查询,

INSERT 摘要,

插入的元组数:1000

总时间:1.903957

每秒平均元组数:525.221976

(注意:批量 INSERT 在 0.2 版本中可能会快 2-3 倍)

SELECT 摘要,

循环次数:51

读取的元组数:1000

循环时间:0.323199

读取元组的时间:0.322262

循环开销:0.000937

每秒平均元组数:3103.064739

(警告:如果没有 C 扩展模块,SELECT 将会损失 1000 TPS)

虽然这些速度不太可能在实践中出现,但它确实让

我们了解了该接口在处理简单数据时的能力。

要快速入门,请参阅“快速开始”页面的“前端”部分[4]。如需

进一步帮助,请注册并向邮件列表[5]提问。

列表[5]提问。

[1] http://python.projects.postgresql.org/project/fe.html

[2] http://pgfoundry.org/forum/forum.php?forum_id=522

[3] http://pgfoundry.org/frs/?group_id=1000094&release_id=315

[4] http://python.projects.postgresql.org/quick.html

[5] http://lists.pgfoundry.org/mailman/listinfo/python-general

此帖子已从 PostgreSQL 网站的先前版本迁移。对于迁移造成的任何格式问题,我们深表歉意。