Pourquoi MariaDB convient à votre backend Python

Publié: 2023-04-11

Il est important de choisir la bonne base de données pour votre application, en particulier pour les applications principales qui s'interfacent directement avec la base de données. De nombreuses options sont disponibles, chacune adaptée à certains cas d'utilisation et avec des prix, des vitesses et des options de mise à l'échelle différents.

Python est généralement utilisé dans les applications gourmandes en données car il dispose de puissantes bibliothèques pour la manipulation des données. La base de données que vous utilisez pour une application Python est donc importante.

Cet article compare MariaDB à d'autres technologies de base de données telles que MySQL et PostgreSQL et explique pourquoi c'est un excellent choix lors de l'utilisation de Python.

Qu'est-ce qui rend MariaDB si génial pour Python ?

Grâce à ses puissantes bibliothèques de manipulation de données et d'apprentissage automatique, Python est un langage de programmation populaire pour les praticiens des données, en particulier dans l'ingénierie des données et la science des données. Les deux domaines traitent de grandes quantités de données, ce qui augmente le stockage requis et les besoins en mémoire et en puissance de traitement.

Les coûts de licence augmentent souvent avec la taille de vos données, il est donc logique d'utiliser une base de données open source. Vous pouvez également économiser de l'argent sur le matériel. Parce que vous contrôlez totalement l'endroit où l'application est déployée, vous pouvez trouver les solutions les moins chères dans le cloud ou sur site.

De nombreuses bases de données open source existent, notamment des bases de données relationnelles, NoSQL et graphiques. Les bases de données relationnelles sont généralement excellentes pour la structure et la cohérence, tandis que les bases de données NoSQL, qui permettent un développement rapide, sont conçues pour être plus flexibles.

Bien que Python fonctionne parfaitement avec les bases de données NoSQL, les bases de données relationnelles sont mieux adaptées aux analyses et au traitement de données à grande échelle qui sont des utilisations courantes de Python.

Comparons MariaDB avec d'autres bases de données relationnelles open source populaires.

MariaDB Python : Un duo puissant pour votre backend. Découvrez pourquoi MariaDB surpasse MySQL et Postgres. Cliquez pour tweeter

MariaDB contre MySQL contre PostgreSQL

Les bases de données relationnelles open source les plus populaires sont MariaDB, SQLite, MySQL et PostgreSQL. Chacun a un ensemble similaire de fonctionnalités techniques de base, mais MariaDB possède des fonctionnalités uniques qui le rendent le mieux adapté aux applications Python.

De plus, MariaDB est open-source, donc ses fonctionnalités ne dépendent pas d'une entité externe comme MySQL, dont Oracle est désormais propriétaire. Bien que la communauté open source puisse toujours suggérer et ajouter des fonctionnalités à MySQL, Oracle (qui a une base de données concurrente) décide où il va.

D'autre part, MariaDB a été créée après qu'Oracle a acquis MySQL pour poursuivre une approche de développement dirigée par la communauté. En conséquence, MariaDB dispose d'un ensemble de fonctionnalités plus riche, y compris plus de moteurs de stockage qui garantissent de meilleures performances pour les requêtes et la réplication que MySQL. Cette amélioration des performances est importante lorsque vous travaillez avec de grands ensembles de données.

Les raisons d'utiliser MariaDB plutôt que PostgreSQL sont un peu plus nuancées, car PostgreSQL est également axé sur la communauté. Cependant, PostgreSQL utilise sa propre licence de type BSD, la licence PostgreSQL, qui est plus permissive que la licence GNU de MariaDB et permet aux utilisateurs de créer des extensions à source fermée.

Bien qu'elles profitent à l'utilisateur qui crée l'extension, ces fonctionnalités ne sont pas toujours utilisées dans la base de données principale de PostgreSQL, et les développeurs peuvent même facturer l'utilisation de leurs extensions. Les licences de MariaDB et MySQL GNU ne permettent pas de privatiser les nouvelles fonctionnalités - toutes les nouvelles fonctionnalités sont disponibles gratuitement.

MariaDB et PostgreSQL ont les ensembles de fonctionnalités les plus riches. Cependant, MariaDB possède quelques fonctionnalités pratiques pour un backend Python. Par exemple, MariaDB utilise un langage pour s'interfacer avec tous ses différents moteurs de stockage - les systèmes OLAP et OLTP sont contrôlés avec la même syntaxe, ce qui réduit la charge des développeurs.

Votre backend Python peut écrire des données de type transaction dans MariaDB, qui peut copier ces données dans un moteur de stockage plus adapté aux requêtes analytiques. Les développeurs peuvent écrire des requêtes analytiques sur le réplica en utilisant la même syntaxe pour améliorer les performances.

MariaDB a également récemment introduit un formatage de type f-String pour les chaînes, similaire à Python. Cela évite aux développeurs utilisant MariaDB avec Python de basculer mentalement entre les langues.

Connecteur Python MariaDB

Avant 2020, les programmeurs Python se connectaient à MariaDB via le package MySQL Python. Cela était possible car MariaDB est un fork de MySQL, mais cela signifiait que les connexions MariaDB se comportaient de la même manière que MySQL.

En 2020, un connecteur MariaDB natif a été publié pour supprimer la dépendance à MySQL, donnant plus de contrôle à la communauté MariaDB. Vous pouvez installer le connecteur avec pip, le gestionnaire de packages de Python, et l'utiliser pour tous les cas d'utilisation CRUD courants.

Toutes les instructions sont gérées via un objet curseur. Par défaut, le curseur MariaDB accepte les requêtes en tant qu'instructions préparées afin que vous puissiez nettoyer toutes les parties dynamiques de la requête. C'est plus sûr que de formater des chaînes pour créer des requêtes, ce qui rend votre application vulnérable aux attaques par injection SQL.

Fonctionnement du connecteur

Le connecteur est simple à utiliser. Tout d'abord, vous importez la bibliothèque de connecteurs MariaDB dans votre application et utilisez la fonction suivante pour vous connecter à votre serveur de base de données MariaDB :

 import mariadb try: connection = mariadb.connect( user=username, password=password, host=mariadb_host, port=3306, database="sales" ) except mariadb.Error as err: print(f"An error occurred whilst connecting to MariaDB: {err}")

Une fois connecté, toutes les requêtes sont exécutées via un objet curseur. Vous obtenez l'objet curseur, puis l'utilisez pour soumettre des requêtes.

 cursor = conn.cursor()

Pour soumettre une requête en tant qu'instruction préparée, utilisez un point d'interrogation comme espace réservé dans le texte de la requête et transmettez les valeurs requises sous forme de tuple.

 ur.execute( "SELECT * FROM sales WHERE sale_date >= ? and price > ?", (sale_date_val, price_val))

Les valeurs d'entrée du tuple remplacent les points d'interrogation dans l'ordre de gauche à droite. Ces valeurs d'entrée sont également filtrées pour empêcher l'injection SQL. La protection intégrée contre l'injection SQL est bénéfique pour un langage comme Python, conçu pour les programmeurs débutants.

Python et MariaDB pour WordPress

Un autre avantage de l'utilisation de MariaDB comme backend pour votre application Python est qu'il est facile de connecter la base de données à une interface WordPress, en particulier lors de l'utilisation de Kinsta.

Kinsta prend en charge MariaDB en tant que base de données backend, ce qui les rend instantanément compatibles. Votre site WordPress peut facilement accéder aux ensembles de données traités en Python. Par exemple, vous pouvez effectuer une analyse en Python, stocker les résultats dans MariaDB, puis les afficher sous forme de graphique sur une page WordPress.

Kinsta fournit également une plateforme de développement appelée DevKinsta pour développer une solution de bout en bout. Avec DevKinsta, vous pouvez utiliser votre machine locale pour configurer un site WordPress avec un backend MariaDB, qui peut ensuite être poussé vers Kinsta une fois qu'il est prêt à être mis en ligne. Cette intégration simplifie la configuration d'un site avec une base de données MariaDB - votre site Web peut être mis en ligne en quelques clics seulement.

Flexibilité, rapidité et intégration Python native : MariaDB brille comme le premier choix pour un backend Python. Vaut vraiment la peine d'être lu! Cliquez pour tweeter

Résumé

Plusieurs bases de données relationnelles open source, notamment MariaDB, MySQL et Postgres, peuvent servir de backend Python. Cependant, MariaDB est l'option la plus flexible et la plus riche en fonctionnalités, grâce à sa nature open source.

Lorsque vous travaillez avec de grands ensembles de données, MariaDB fournit de nombreux moteurs de stockage, ce qui le rend plus rapide que les alternatives, et prend en charge plusieurs cas d'utilisation, du traitement transactionnel aux requêtes analytiques. La flexibilité, la vitesse et l'intégration Python native avec le connecteur MariaDB Python en font un excellent choix en tant que backend pour les applications Python qui traitent de grands ensembles de données.

De plus, MariaDB peut se connecter directement à une interface WordPress, rendant vos ensembles de données accessibles sur votre site Web. Le support MariaDB de Kinsta rend cette intégration plus fluide. Avec DevKinsta, vous pouvez configurer votre site WordPress pour utiliser MariaDB sur votre machine locale avant de déployer la solution via Kinsta.

Essayez notre hébergement de base de données gratuitement dès maintenant.