Python DB-API 2.0 仅适用于关系数据库吗?



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

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

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

谢谢。

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

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

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

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

相关内容

最新更新