Skip to content

Base de données

francois-charlier edited this page Nov 17, 2021 · 10 revisions

Choix de la DB

Tout d'abord, nous avons cherchés du côté des bases de données de type "Time series database" cependant cela ne semblais pas tout à fais adapté pour notre utilisation. Ensuite, nous avons réfléchis à utiliser MySQL mais comme ce dernier n'est pas sous licence libre vous avons finalement décidé de partir vers MariaDB. Il s'agit d'un des systèmes de base de données les plus connus dans le monde, il est Open Source et convient parfaitement à notre utilisation.

Maria DB

MariaDB est un système de gestion de base de données relationnelle totalement open source. Ce système a été créé par Michael Wideniussous en 2009 en tant que dérivé open source du logiciel MySQL. Il utilise le langage SQL afin de pouvoir ajouter, modifier et supprimer des données dans les tables.

Avantages et Inconvénients

Avantages Inconvénients
Mises à jour fréquentes Pas totalement compatible avec MySQL
100% Open source Mise en cache pourrait être plus rapide
Fonctionne avec de nombreux languages
Bonnes performances
Fonctionnalités riches
Il utilise le language standard SQL

MYSQL

Le système MySQL est très similaire à MariaDB, c'est à dire un système de base de données relationnel utilisant le langage SQL afin d'ajouter, modifier et supprimer des données. Il est distribué sous la licence GLP et sous une licence propriétaire.

Avantages et Inconvénients

Avantages Inconvénients
Base de donnée relationelle Prévu pour fonctionner parfaitement avec PHP
Multi utilisateurs Ne gère pas les requètes impriquées
Multi plateforme
Il utilise le language standard SQL
Beaucoup de documentation + grande commmunautée

Mongo DB

MongoDB (cela vient de l'anglais "humongous" qui peut être traduit en "énorme" ou "gigantesque") est un système de gestion de base de données orienté documents. Il ne nécessite aucun schéma prédéfini des données. Il fait partie des bases de données de type NoSQL et est écrit en language C++.

Avantages et Inconvénients

Avantages Inconvénients
Orienté document Ne fonctionne pas avec un sytème de table
Excellente performances Nouveau language a apprendre
Jystème de gestion en JSON

Time Series database

D'un côté Graphite, qui permet de stocker nos données dans une base de données dite "Time series database" (Base de données de séries chronologiques) et d'ensuite pouvoir les afficher sur des graphiques personnalisés.

Cependant, aucun d'entre nous ne connais ou n'a déjà utilisé cette outil donc cela risque d'être complexe et fastidieux à comprendre et mettre en place.

La potentiel alternative est InfluxDB, qui est également un système de gestion de base de données orientée séries temporelles. Il est très souvent utilisé car il est extrêmement rapide en écriture.

Cependant, nous ne pouvons pas nous permettre ce genre d'outil car il est payant, soit via une formule spécial pour les entreprises soit en payant pour chaque requête que l'on effectue (prix).

Clone this wiki locally