Stockage et persistance

L'une des clefs du projet Boardz2 est d'assurer une efficacité maximum du stockage persistant de données afin que l'accès aux statistiques et indicateurs soit rapide et que l'ensemble des données disponibles puissent être relues après un redémarrage de l'instance de serveur ou de l'infrastructure qui la porte.

Pour cela, Boardz2 implémente un ensemble de classes propres à la fonction de stockage, dont le rôle est d'organiser TOUTES les transactions avec les stockages extérieurs de données (bases de données ou fichiers).

Conceptuellement, un stockage est une classe qui :

organise le stockage de données

négocie avec des organes extérieurs la conservation des données et leur identification

fournit une API de récupération des données

optimise le modèle de stockage pour assurer un accès rapide aux données

Le plus souvent (ex. MysqlDatabase), un stockage s'appuiera sur une implémentation tierces comme par exemple une base de données dont il tirera des principes propres à respecter sa mission. Par exemple, la performance d'accès à des données relationnelles sera en fait assurée par l'indexation sous-jacente de la base de données tierces.

Dans certains cas plus complexes (MoodleCube), un stockage peut présenter une organisation propre à produire ses propres optimisations par son organisation interne, tout en continuant à confier à des implémentations tierces des fonctions de stockage de plus bas niveau.

Retour à la documentation de conception - Retour à l'index général