ORM en Python
ORM ou Object Relational Mapping utilise un paradigme orienté objet pour créer, interroger et manipuler des données stockées dans une base de données. Il s’agit d’une couche logicielle entre la base de données proprement dite et les applications utilisées pour la gestion de la base de données.
Un ORM nous permet de définir des tables de base de données à l’aide de langages de programmation, d’effectuer des requêtes à l’aide d’objets et de méthodes et de manipuler des données à l’aide de la programmation orientée objet. Dans les coulisses, toute la logique de requête est convertie en requêtes équivalentes SQL ou Structured Query Language. Bien que les requêtes traduites puissent ou non être les meilleures pour une action spécifique, les ORM ont prouvé de bonnes performances pour les applications réelles à grande échelle.
Les ORM font de la gestion des tables une tâche très transparente. Généralement, les tables sont représentées à l’aide d’une classe dans ORM ; par conséquent, il devient facile de les mettre à jour, de les réutiliser, de les mettre à l’échelle et de les entretenir. Les ORM gèrent automatiquement beaucoup de choses, permettant aux développeurs de se concentrer davantage sur les fonctionnalités de l’application.
Au fil des ans, la technologie s’est considérablement développée et, de nos jours, la plupart des langages de programmation largement utilisés par la communauté ont des ORM développés pour eux. Certains langages de programmation ont plus d’un ORM sur leur liste. Dans cet article, nous parlerons des ORM disponibles sur le marché pour le langage de programmation Python.
ORM en Python
Python est l’un des langages les plus utilisés et à la croissance la plus rapide dans de nombreux domaines tels que le développement Web, la science des données, l’apprentissage automatique, le développement d’applications, etc. Il est soutenu par une vaste communauté de programmeurs et de développeurs talentueux qui ne cessent d’améliorer, d’optimiser et construire de nouvelles choses telles que des bibliothèques et des frameworks pour le langage.
Bien qu’il existe de nombreux ORM disponibles sur le marché pour le langage de programmation Python, nous nous concentrerons uniquement sur trois ORM dans cet article car tous les ORM ne sont pas robustes, évolutifs, bien développés, suivent les pratiques de pointe, efficaces, optimisés, et offre des performances.
Cet article parlera de trois ORM, à savoir peewee
, SQLAlchemy
et Storm
. Ces trois ORM sont largement utilisés dans l’industrie et offrent d’excellentes fonctionnalités.
peewee
L’ORM peewee
est un ORM simple, expressif et petit pour Python. Comme il s’agit d’un petit ORM, il est destiné aux applications à petite échelle. Cet ORM prend en charge la base de données SQLite, la base de données MySQL, la base de données PostgreSQL et la base de données cockroachdb. Cet ORM a été développé en Python 3.6 et peut être utilisé avec Python 2.7+
et 3.4+
.
Pour en savoir plus sur l’ORM peewee
, reportez-vous au référentiel officiel GitHub pour la documentation et les extraits de code ici.
SQLAlchemy
L’ORM SQLAlchemy
est une boîte à outils SQL robuste pour Python. Cet ORM offre la flexibilité et le plein potentiel des développeurs SQL vers Python de manière optimisée. Cet ORM est conçu pour des accès à la base de données efficaces et performants à l’aide de Python. L’ORM SQLAlchemy
est l’un des meilleurs ORM pour les applications à grande échelle. Des organisations telles que Yelp!, DropBox, reddit, Survey Monkey et The OpenStack Project utilisent l’ORM SQLAlchemy
dans leur pile technologique.
Généralement, l’ORM SQLAlchemy
est utilisé avec le framework Web Flask dans la communauté. Les grandes bases de données entraînent des problèmes de performances. Cet ORM permet d’effectuer des requêtes CRUD complexes (créer, lire, mettre à jour et supprimer) sur des bases de données géantes avec facilité et efficacité.
Pour en savoir plus sur l’ORM SQLAlchemy
, reportez-vous à la documentation officielle ici.
Storm
L’ORM Storm
est une API ou une interface de programmation d’application propre et légère qui fournit un support SQL pour le langage de programmation Python. L’ORM Storm
a une courbe d’apprentissage courte et convient aux applications à grande échelle. Il s’agit d’un ORM rapide et flexible qui fournit un accès efficace à une base de données et facilite la tâche d’effectuer des requêtes complexes sur de grandes bases de données. Cet ORM prend en charge la connexion à plusieurs bases de données en utilisant le même code Python.
POUR en savoir plus sur l’ORM Storm
, reportez-vous à la documentation officielle ici.