MySQL sous Android: fonctionnement, avantages et inconvénients

MySQL est probablement l’une des bases de données la plus utilisée en informatique. Que l’on soit développeur en herbe ou confirmé, on a tous déjà travaillé au moins une fois avec ce système de gestion de base de données. Les géants du monde d’internet tels que Google l’utilisent pour certains sites, applications ou en embarquant directement MySQL au sein de leur solution.

Android & MySQL

Une application Android et une base de données MySQL ne peuvent pas communiquer directement ensemble (c’est un peu comme demander à un Chinois de discuter avec un Polonais), il faut donc implémenter un processus (un peu fastidieux!) qui va faire la connexion entre les deux : le langage PHP.

Visuellement, le processus de communication entre l’application et la base de données :

android_php_mysql

Tous les appels entre l’application et la base de données passeront donc par un webservice en PHP qui se chargera de réceptionner la requête, la transmettre au SGBD et renvoyer une réponse à l’application au format JSON. Le message JSON créé peut ressembler à ça :

{
“successful” : 1,
“response” : “Bravo, l’utilisateur a été ajouté!”
}

Il contient le statut de l’exécution de la requête ainsi qu’un court message qui peut être parsé et affiché à l’écran pour informer l’utilisateur.

Les avantages de MySQL

  • Disponible et abordable pour tous
  • Facile d’utilisation
  • Rapide, sûr et fiable
  • API
  • Open source
  • Portable

MySQL apporte beaucoup de libertés opérationnelles avec des fonctionnalités avancées. Les fonctions de sécurité de MySQL offrent également une protection fiable pour les accès aux données de manière simple.

Les inconvénients de MySQL

  • Limitations fonctionnelles
  • Processus de développement douteux

Selon le choix du moteur de la base de données, MySQL peut être allégé de certaines fonctionnalités (il faut s’assurer que les fonctionnalités primordiales à notre besoin soient incluses). Attention également aux accès concurrents qui peuvent poser quelques problèmes.

Notre expérience sur cet outil

L’utilisation de MySQL dans notre application n’a pas été nécessaire donc nous ne l’avons pas utilisé. Pour la même raison que SQLite, les données que nous utilisons sont directement stockées dans les bases de données de Twitter. Cependant nous l’avons utilisé de nombreuses fois pour des projets étudiants et en entreprise. MySQL est une référence dans les systèmes de gestion de base de données.