Является ли Python DB-API 2.0 только для реляционной базы данных? - PullRequest
0 голосов
/ 11 июня 2018

Является ли Python DB-API 2.0 только для реляционной базы данных или также для некоторых нереляционных баз данных?

https://wiki.python.org/moin/DatabaseInterfaces, по-видимому, означает нет.

https://wiki.python.org/moin/DatabaseProgramming, кажется, подразумевает да.

Спасибо.

1 Ответ

0 голосов
/ 11 июня 2018

Хотя предоставленная вами ссылка DatabaseProgramming рассматривает DB-API как спецификацию интерфейса для реляционных баз данных, я не вижу, где фактическая PEP 249 налагает какие-либо ограничения на определенный типБД движок / архитектура.Тем не менее, как вики-страница, так и PEP были созданы Марком-Андре Лембургом, поэтому он мог бы написать PEP, ориентируясь в основном на реляционные базы данных.

С моей точки зрения, спецификация интерфейса абстрактнадостаточно, чтобы также соответствовать нереляционным источникам данных.Фактически, я однажды написал адаптер для Rest-API перед огромной базой данных Монго.В этом адаптере широко реализован DB-API 2.0 для унификации доступа к данным из различных источников (ODBC, JDBC, упомянутая mongo DB, стоящая за сервисом Rest).

Я бы сказал, что если разработчик видит выгоду вреализуя доступ к источнику данных в соответствии со спецификациями DB-API 2.0, и он делает это последовательно, нет причин, по которым такую ​​реализацию следует считать неправильной или непитонической.

Я имею в виду, что можно даже обернуть доступ кфайловые объекты в DB-API-совместимых конструкциях, которые не выглядят совершенно глупыми или бесполезными ...

...