Quelle Est La Meilleure Base De Données Pour Raspberry Pi ?


De nombreux projets sur Raspberry Pi nécessitent un système de base de données pour stocker diverses données à utiliser ultérieurement. L’hébergement d’une base de données peut même être un projet en soi, mais de nombreuses options sont disponibles sur Raspberry Pi, et faire un choix n’est pas toujours simple. Dans cet article, je vais présenter les solutions les plus populaires, et expliquer les avantages et inconvénients dans chaque cas pour vous aider à décider.

En résumé, il n’existe pas de système de base de données parfait que vous devriez utiliser par défaut sur Raspberry Pi. Il s’agit d’un choix personnel. Chaque solution présente des avantages et des inconvénients, la décision dépendra des objectifs et des compétences du développeur.

En tant que développeur web, j’ai tendance à préférer utiliser les mêmes technologies (langage de programmation et système de base de données). Ce n’est pas parce que ce sont les « meilleurs » choix, mais plutôt parce que j’irai plus vite en les utilisant. Quoi qu’il en soit, si vous n’avez pas encore vos favoris, voyons quelles options vous devriez envisager.

À propos, si vous êtes novice sur Raspberry Pi et que vous souhaitez accélérer vos premiers pas (tout en vous amusant), n’hésitez pas à télécharger mon e-book « Maitrisez Raspberry Pi en 30 jours« . Il s’agit d’un défi de 30 jours au cours duquel vous apprendrez une nouvelle compétence chaque jour. Vous économiserez du temps et de l’argent et pourrez enfin apprécier cet appareil passionnant qu’est le Raspberry Pi. Je vous offre d’ailleurs 10% de remise aujourd’hui en utilisant ce lien !

MariaDB (MySQL)

Téléchargez mon glossaire !
Un peu perdu avec toutes ces abbréviations et nouveaux mots ? Téléchargez le glossaire complet au format PDF :-)

Même si de nombreuses autres options tentent de contester le leadership de MySQL dans la hiérarchie des systèmes de bases de données, il reste l’une des options les plus populaires. J’ai réalisé un sondage sur ma chaîne YouTube, et près de 70 % de mes abonnés le recommandent toujours sur Raspberry Pi :

Introduction

MariaDB est un fork de MySQL, créé lorsque Oracle a racheté Sun (et donc MySQL) il y a quelques années. Il s’est beaucoup amélioré depuis, si bien que MariaDB est souvent le choix par défaut lors de l’installation d’un nouveau serveur MySQL.

MariaDB est un excellent choix pour stocker une grande quantité de données, surtout si vous devez gérer plusieurs utilisateurs avec différentes permissions. Il est particulièrement utilisé pour les projets web (avec le langage PHP en général).

Il fonctionne bien sur les modèles récents de Raspberry Pi avec des bases de données petites à moyennes. Cependant, il pourrait être un peu trop lourd pour les modèles plus anciens ou le Raspberry Pi Zero.

Si vous regardez les tendances Google, MySQL reste la solution la plus populaire. Il sera donc facile de trouver de la documentation, des forums et de l’aide lorsque vous utiliserez ce système de base de données dans vos projets.

MariaDB/MySQL utilise le langage SQL pour les requêtes, qui est aussi le langage le plus populaire. Il n’y a donc aucun problème pour trouver des ressources à ce sujet lorsque vous essayez de faire des requêtes complexes.

En tant que développeur web, j’ai principalement travaillé avec MySQL et PHP pendant des années, c’est donc généralement mon choix par défaut lorsque je commence de nouveaux projets. Il est rare que je sois déçu ou bloqué, et je le recommande donc dans la plupart des situations.

Installation

MariaDB est disponible dans le dépôt par défaut sur Raspberry Pi OS et la plupart des autres distributions, son installation est donc assez simple. C’est l’une des rares solutions de cette liste qui fonctionne en mode client/serveur, ce qui signifie que vous devez d’abord installer un serveur.

À propos, vous pouvez avoir un serveur MySQL sur un autre Raspberry Pi (ou ordinateur) si nécessaire. Si votre projet utilise un modèle de Raspberry Pi très limité mais peut accéder à un autre périphérique exécutant le serveur MySQL, c’est parfait.

Avant d’installer le serveur, effectuez les mises à jour du système avec :
sudo apt update
sudo apt upgrade

Puis installez MariaDB avec :
sudo apt install mariadb-server

Il y a quelques étapes supplémentaires après cela pour créer le mot de passe root et le premier utilisateur.
Je vous explique tout dans ce tutoriel complet sur comment installer MariaDB sur Raspberry Pi.

Comme MariaDB/MySQL peut gérer différents niveaux de permissions, cela peut être un peu compliqué pour les débutants, mais vous y arriverez rapidement en lisant mon tutoriel. Je partage également un outil graphique que vous pouvez utiliser pour gérer votre serveur MySQL, sans avoir à taper des tonnes de commandes et de requêtes SQL.

Utilisation

Une fois installé, le serveur MySQL est accessible dans presque tous les langages de programmation. Vous devrez peut-être installer des paquets supplémentaires pour l’utiliser, mais vous trouverez facilement de l’aide pour votre langage préféré.

Par exemple, si vous utilisez PHP pour créer votre projet web, vous devrez installer ce paquet pour vous connecter à votre nouveau serveur MySQL avec celui-ci :
sudo apt install php-mysql
Une fois cela fait, vous pouvez utiliser toutes les fonctions PHP répertoriées sur le site Web de PHP.

En Python, vous pouvez utiliser PIP pour installer le connecteur MariaDB, quelque chose comme :
sudo pip3 install mariadb
Il existe un excellent tutoriel sur le site officiel de MariaDB pour commencer à utiliser MariaDB et Python (lien ici).

Si les commandes Linux ce n’est pas trop votre truc, n’hésitez pas à jeter un œil à cet article qui vous explique les commandes qu’il faut absolument connaître. Je vous donne aussi une antisèche à télécharger pour les avoir toujours sous la main !

Maîtrisez Raspberry Pi en 30 jours
10% de remise aujourd'hui !
Téléchargez le livre numérique.
Découvrez les secrets du Raspberry Pi à travers un challenge de 30 jours.

SQLite

Introduction

SQLite est une alternative intéressante à MySQL, surtout sur Raspberry Pi. Ce système de base de données est beaucoup plus léger (d’où son nom). Vous avez besoin de moins de 1 Mo pour l’installer, alors que MariaDB nécessite près de 200 Mo de paquets divers.

SQLite est un système de base de données sans serveur et autonome. Il comporte de nombreuses limitations qui peuvent poser problème pour les projets plus importants (utilisateur unique sans authentification, par exemple), mais pour les petits projets à la maison, c’est souvent le moyen le plus simple de démarrer.

En bref, SQLite est idéal pour les petits projets autonomes qui utilisent une quantité limitée de données et ne disposent pas de connexion réseau.

Note : TinyDB est une autre alternative à considérer, très proche de SQLite. Je ne vais pas en faire une présentation complète, mais en gros, il est encore plus léger que SQLite. Certaines fonctionnalités sont manquantes, mais vous ne devriez pas en avoir besoin la plupart du temps pour les petits projets Raspberry Pi.

Installation

Pour installer SQLite sur Raspberry Pi OS (et sur toute distribution basée sur Debian), vous pouvez simplement exécuter cette commande :
sudo apt install sqlite3

À partir de là, vous pouvez utiliser la commande sqlite3 pour créer vos bases de données et interagir avec elles.
Voici par exemple mon log complet lors du test sur mon Raspberry Pi :

Comme vous pouvez le voir, j’indique juste le fichier de la base de données après la commande « sqlite3 ». Il le créera s’il n’existe pas encore.

Vous pouvez ensuite utiliser directement les commandes SQL pour créer une table, y insérer des données et y effectuer des requêtes.
On ne peut pas faire plus simple. Évidemment, vous devez savoir comment utiliser le langage SQL, mais tout le reste est assez intuitif.

Utilisation

Comme pour MariaDB, vous devrez ensuite installer un connecteur pour accéder à la base de données SQLite depuis le code de votre projet :

  • Avec PHP:
    sudo apt install php-sqlite3
    Une fois installé, vous pouvez utiliser les fonctions de SQLite3.
  • Avec Python, cela devrait fonctionner directement, voici un exemple basique :

N’oubliez pas que cette solution n’offre aucune sécurité, aucun utilisateur et aucune autorisation. C’est une solution idéale parce qu’elle est facile à mettre en place et à démarrer, mais ne l’utilisez pas pour des projets plus importants avec des données sensibles.

Au passage, si vous vous sentez dépassé dès que Python est nécessaire pour un projet, je vous conseille de télécharger mon e-book « Maîtrisez Python on Raspberry Pi« . Il vous guidera pas à pas pour apprendre les concepts essentiels (et uniquement ceux-là) pour réaliser n’importe quel projet à l’avenir. Un Raspberry Pi sans Python, c’est comme une voiture sans moteur, vous ratez le plus intéressant ;-).
Profitez de 10 % de réduction en le téléchargeant dès aujourd’hui !

Initiation au Raspberry Pi
10% de remise aujourd'hui !
Visionnez ma formation vidéo pour démarrer du bon pied.
Découvrez le Raspberry Pi, le matériel, ses logiciels particuliers et créez vos 5 premiers projets avec moi.

MongoDB

Introduction

MongoDB est très différent des autres options listées dans cet article. Il s’agit d’un système de gestion de base de données non relationnel, ce qui signifie que le stockage des données est très flexible. Fondamentalement, il s’agit d’une association de clés et de valeurs, qui peuvent être de n’importe quel type (chaînes de caractères, tableaux, objets, etc.).

Il n’utilise pas le langage SQL ou une de ses variantes. Il utilise le langage MQL (MongoDB Query Language) qui est complètement différent de celui auquel vous êtes habitué.

Dans l’ensemble, il s’agit d’une bonne option si vous n’avez aucune expérience de MySQL (certains diront qu’il est plus facile de commencer avec MongoDB plutôt qu’avec MySQL) et si vous avez besoin de plus de flexibilité (par exemple, si votre projet n’est pas entièrement défini et qu’il est susceptible d’évoluer dans le temps).

Pour être honnête, je ne suis pas un grand fan de MongoDB. J’ai eu de nombreux problèmes avec lui, en termes de sécurité et de compréhension de base de la façon de trouver ce que je cherche dans les bases de données créées par d’autres développeurs. Mais c’est probablement parce que je connais moins bien cette solution que les autres basées sur SQL.

Installation

L’installation de MongoDB sur Raspberry Pi OS est particulièrement complexe. En effet, il n’est pas disponible dans le dépôt par défaut, et il n’y a pas de paquet compilé que vous pouvez télécharger à partir de leur site Web.
La seule option est de le compiler à partir des sources, comme expliqué dans leur documentation.

Cela m’a pris un certain temps et a finalement fait planter mon système, je ne peux donc pas vraiment le recommander, mais si vous voulez l’essayer, consultez leur documentation. J’ai également trouvé un projet Mongo pour Pi sur GitHub, mais je ne l’ai pas testé, donc je ne peux pas vraiment le recommander non plus.

La façon la plus simple d’obtenir MongoDB sur votre Pi est d’installer Ubuntu en premier. Ensuite, vous pouvez suivre cette page (en anglais) sur leur documentation pour ajouter le dépôt correspondant et suivre les autres étapes de configuration.

Utilisation

Une fois que MongoDB est installé et que votre première base de données est créée, son utilisation sur Raspberry Pi n’est pas très différente des solutions précédentes.

Par exemple, pour vous connecter à votre base de données Mongo avec Python, vous devez d’abord installer cette bibliothèque :
sudo apt install python3-pymongo
Et vous pouvez alors importer « pymongo » dans votre script et utiliser toutes ces fonctions.

Maîtrisez Python sur Raspberry Pi
10% de remise aujourd'hui !
Téléchargez le livre numérique.
Envie d'aller un peu plus loin que faire clignoter une LED ? Vous avez besoin de ce livre pour passer à des projets plus avancés.

PostgreSQL

Introduction

Et la dernière option que je veux présenter dans cette liste est PostgreSQL. Le combat avec MySQL a duré longtemps. Il semble que MySQL/MariaDB ait gagné la partie, mais PostgreSQL est très stable dans les tendances, donc je suppose qu’il y a encore beaucoup de développeurs qui l’utilisent :

La principale différence avec MySQL est que PostgreSQL est une base de données orientée objet, alors que MySQL est une base de données relationnelle. PostgreSQL est également recommandé pour les requêtes complexes, les grands entrepôts de données et l’analyse de données en général.

Cela ne correspond pas exactement à l’utilisation traditionnelle du Raspberry Pi, qui est généralement destinée aux petits projets. Mais si vous êtes habitué à PostgreSQL, je comprends que vous puissiez être intéressé par son utilisation sur votre Raspberry Pi également.

Installation

Comme MariaDB, PostgreSQL est disponible dans le dépôt par défaut sur Raspberry Pi OS, vous pouvez donc l’installer directement avec :
sudo apt install postgresql

Vous devrez ensuite créer le premier utilisateur avec :
sudo su postgres
createuser $USER -P --interactive

Et ensuite, utilisez la commande psql pour vous connecter à votre base de données, et utilisez le langage SQL pour tout gérer :
psql

Utilisation

PostgreSQL est très populaire et fonctionne avec presque tous les langages de programmation.
Si vous souhaitez l’utiliser avec Python, la bibliothèque la plus couramment utilisée est psycopg2 :
sudo pip3 install psycopg2

Vous pouvez ensuite l’importer dans vos scripts et utiliser la classe pour vous connecter à votre base de données.
Voici un excellent tutoriel (en anglais) pour démarrer avec Python et PostgreSQL.

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.

Questions liées

SQL Server peut-il fonctionner sur Raspberry Pi ?

SQL Server est le système de gestion de base de données créé par Microsoft pour les serveurs Windows. Il y a quelque temps, Microsoft a publié une version pour les serveurs Linux, mais elle n’est conçue que pour les architectures x86, ce qui signifie qu’elle est incompatible avec un Raspberry Pi.

Une alternative serait d’exécuter Azure SQL Edge dans Docker ou d’avoir un autre ordinateur sous Windows pour héberger le serveur. Vous pouvez alors utiliser ODBC avec la plupart des langages pour vous connecter au serveur SQL depuis votre Raspberry Pi.

Dans l’ensemble, les produits Microsoft (Windows ou SQL server) peuvent fonctionner mais ne sont pas optimisés pour le Raspberry Pi, je ne recommanderais donc pas de les utiliser pour le moment.

Comment afficher et gérer des bases de données sur Raspberry Pi ?

Chaque système de gestion de base de données possède un ensemble d’outils que vous pouvez utiliser pour vous faciliter la vie et gérer les bases de données et les autorisations à partir d’une interface graphique. MariaDB/MySQL a PHPMyAdmin, SQLite a DB4S, MongoDB a Compass, etc.

Ainsi, même si vous devez taper quelques commandes pour les installer, vous utiliserez très probablement une interface graphique par la suite pour les opérations quotidiennes.

Ressources supplémentaires pour votre Raspberry Pi

Initiation au Raspberry Pi en vidéo
Si vous débutez et voulez passer rapidement à la vitesse supérieure, j’ai exactement ce qu’il vous faut.
Regardez ma formation vidéo qui vous aidera à démarrer du bon bien, choisir votre matériel, installer les meilleures applications et vous lancer directement dans vos premiers projets avec mon aide.
Regarder les vidéos dès maintenant

Maîtrisez votre Raspberry Pi en 30 jours
Vous avez besoin de plus ? Si vous êtes à la recherche des meilleures astuces pour devenir expert sur Raspberry Pi, ce livre est fait pour vous. Développez vos compétences sous Linux et pratiquez via de nombreux projets en suivant mes guides étape par étape. 10% de remise aujourd’hui !
Télécharger le livre au format PDF ici

Maîtrisez Python sur Raspberry Pi
Pas besoin d’être un génie pour coder quelques lignes pour votre Raspberry Pi.
Je vous apprends juste ce qu’il faut sur Python afin de réaliser n’importe quel projet. La seconde partie du livre est d’ailleurs consacrée à des exemples de projets ou je vous guide pas à pas.
Ne perdez pas de temps, apprenez le strict nécessaire et économisez 10% avec ce lien :
Télécharger maintenant

Autres ressources pour profiter de votre Raspberry Pi
J’ai regroupé toutes mes recommandations de logiciels, sites utiles et de matériel sur cette page de ressources. Je vous invite à la consulter régulièrement pour faire les bons choix et rester à jour.
Visiter les pages ressources


Ce tutoriel ne marche plus à 100%? Prévenez-moi pour que je le mette à jour!

Patrick Fromaget

Je suis l'auteur principal et le créateur de RaspberryTips. Mon but est de vous aider sur tous vos problèmes qui concernent Raspberry Pi en publiant des guides détaillés et des tutoriels rapides. Dans la vraie vie, je suis administrateur système (Linux principalement) avec une solide expérience dans le développement web.

Recent Posts

Promo : Maîtrisez votre Raspberry Pi