2

Python DB-API 2.0仅适用于关系数据库,还是也适用于某些非关系数据库?

https://wiki.python.org/moin/DatabaseInterfaces似乎暗示不。

https://wiki.python.org/moin/DatabaseProgramming似乎暗示是的。

谢谢。

4

1 回答 1

2

尽管您提供的DatabaseProgramming链接将 DB-API 视为关系数据库的接口规范,但我看不出实际的PEP 249会对某种类型的数据库引擎/架构做出任何限制。但是,wiki 页面和 PEP 都是由 Marc-André Lemburg 编写的,因此他可能在编写 PEP 时主要考虑了关系数据库。

从我的角度来看,接口规范足够抽象,也适合非关系数据源。事实上,我曾经在一个巨大的 mongo 数据库前为一个 Rest-API 编写了一个适配器。该适配器广泛实现了 DB-API 2.0,以便统一对来自各种源(ODBC、JDBC、Rest 服务背后的 mongo DB)的数据的访问。

我认为,如果开发人员看到了按照 DB-API 2.0 规范实现对数据源的访问的好处并且他始终如一地这样做,那么就没有理由认为这种实现是错误的或非 Python 的。

我的意思是,甚至可以将对文件对象的访问封装在符合 DB-API 的结构中,而不会让它看起来完全愚蠢或完全无用......

于 2018-06-11T07:25:59.590 回答