Mysql
 sql >> Database >  >> RDS >> Mysql

Quali sono i livelli di astrazione del database praticabili per Python

Osserva molto da vicino SQLAlchemy.

Puoi testare e sviluppare con SQLite.

Puoi entrare in produzione con MySQL, senza apportare sostanzialmente modifiche alle tue applicazioni.

L'API DB, sebbene ampiamente rispettata, ha una flessibilità sufficiente che (1) non sei isolato dalla variazione SQL nell'RDBMS sottostante e (2) ci sono ancora funzionalità specifiche del driver DB difficili da nascondere.

Un altro buon livello ORM è l'ORM che fa parte di Django . Puoi (con un piccolo sforzo) utilizzare solo Django ORM senza utilizzare il resto del framework web Django.

Utilizzare un livello ORM (SQLAlchemy o SQLObject) anziché DB-API.

Come mai? Il tuo modello dovrebbe essere un modello OO solido, chiaro e ben congegnato. La mappatura relazionale dovrebbe essere la seconda dopo il modello a oggetti. SQLAlchemy rende questo un approccio ragionevole.

Un "livello di astrazione DB" si verificherà nel corso normale degli eventi. In effetti, grazie a DB-API (come utilizzato da SQLAlchemy) hai fornito due livelli di astrazione:ORM e DB-API.