Estoy empezando a involucrarme en un proyecto de código abierto Gramps que explora el cambio de su back-end de BSDDB a una base de datos relacional. O bien SQLite o MySQL no hemos decidido completamente e incluso podemos intentar hacer ambos en alguna capacidad limitada. Soy un desarrollador profesional pero soy nuevo en Python, así que no estoy tan familiarizado con la selección actual de herramientas/bibliotecas. Me han encomendado la tarea de investigar las capas de abstracción DB. There is currently a wiki discussion going on to compare them. Un mapeador relacional de objetos puede ser bueno, pero no es absolutamente necesario. aunque sé que generalmente es sinónimo de una capa de abstracción DB. Si se incluye un ORM, las consultas de huecos deben estar disponibles sin mucha lucha.¿Cuáles son las capas de abstracción de bases de datos viables para Python?
En este momento la lista incluye:
CouchDB todavía no he mirado en esto.
DB-API esto parece ser una api de python estándar y cada db crea su propio módulo que lo usa. Incluso BSDDB parece tener uno escrito pero no lo he explorado completamente. son los módulos intercambiables?
SQLAlchemy Este parece ser el más popular en este momento? pero tengo una exposición muy limitada al mundo de las pitones.
SQLObject Todavía no he investigado esto.
¿Cuáles son las opiniones y sugerencias de las personas sobre las capas de abstracción de la base de datos para python?
great answers all. Escribí mis recomendaciones finales en la wiki de gramps. http://www.gramps-project.org/wiki/index.php?title=GEPS_010:_SQL_Backend#Recomendations – AaronS