Développer des bases de données fiables grâce à la simulation

Tester la fiabilité d’un logiciel est toujours une chose assez difficile. Malgré tous nos efforts, nous n’arrivons pas à écrire des programmes sans bugs. La raison est assez simple: l’être humain est étonnamment mauvais pour pouvoir imaginer toutes les erreurs possibles qu’un programme peut avoir. Ce constat est encore + vrai quand l’on travaille dans les entrailles des bases de données, où la moindre erreur peut générer de la corruption de données clientes.

Existe-t-il de l’outillage permettant de palier à ce problème ? Une des solutions consiste à venir tout contrôler de façon déterministe: du temps que va prendre l’I/O, au scheduling des threads, en passant par quelle erreur a été déclenché. C’est ce qu’on appelle le Deterministic Simulation Testing. C’est la technique que nous avons choisi afin de pouvoir valider l’implémentation de nos propres bases de données serverless.

Durant ce talk, vous découvrirez les enjeux et les impacts de la simulation dans le cycle de développement d’un logiciel fortement distribué. Vous apprendrez à utiliser notre simulateur open-source. Vous découvrirez également comment Clever Cloud utilise la simulation pour venir accélérer la R&D des futures produits data de l’entreprise.

Resources

Occurences