Pause déjeuner
L’après-midi
SQL (le retour): Démystifions les idées préconçues et utilisons la DB efficacement
Animée par Franck Parchot, la vidéoConférence très intéressante de Franck qui nous a fait un bon rappel de tout ce qui tourne autour des Bases de données et du SQL. Cette piqûre de rappel nous permet de remettre l’église au centre du village, car il faut bien l’avouer: qui, dans le développement, n’utilise pas une base de données ? Certes, le SQL (et tout ce qui s’en suit) n’est pas le plus « sexy » pour la plupart d’entre nous mais c’est très important de connaître les tenants et les aboutissants pour éviter les mauvaises surprises. Les sujets abordés étaient entre autre :
- Normalisation (et oui rappelez vous vos études avec les formes normales)
- La dénormalisation, qui permet peut être de simplifier une requête mais qui casse l’agilité de futures évolutions (on peut y préférer l’indexation et des Views plutôt…)
- Les clefs composites (c’est bien lorsqu’elles sont immuables)
- Avons nous besoin des clefs primaires? Pouvons-nous gérer l’intégrité de nos données directement au niveau de notre application ? Il y en a qui ont essayé… La réponse semble évidente mais a le mérite de rappeler que si on utilise une BDD ce n’est pas pour ré-implémenter les features qu’elle propose dans notre code !
- Le SQL embarqué dans les programmes. Évitez la concaténation de chaînes de caractères (des outils le font pour vous et bien), évitez les « SELECT * », cela évite les mauvaises surprises lorsque des colonnes apparaîssent ou disparaîssent.
- Avec le SQL pensez à utiliser des « bind variables » cela permet à votre moteur de recherche de ne pas compiler et exécuter à chaque fois vos requêtes, cela évitera des problèmes de performance au niveau du moteur. Une requête avec des variables sera compilée une seule fois et exécutée plusieurs fois.
- Les veilles BDD commercial ont toujours pignon sur rue, et la révolution NO-SQL n’a pas fini par les enterrer. D’ailleurs les BDD NoSQL proposent même des features « SQL ». Et pour les problèmes de scalabilité, on n’a pas besoin de retirer le SQL on y arrive très bien de nos jours.
- Il n’y a pas de bonne ou mauvaise BDD, cela dépend de vos besoin et de ce que vous devrez implémenter (bon par contre Mongo DB… :)).
- N’oublions pas de déclarer des contraintes dans notre BDD (unicity, not null…), cela évite des mauvaises surprises dans notre code, il est censé répondre à de la logique métier pas à gérer des problèmes d’accès concurrent, de scalabilité etc…
- Bien évidemment a été abordé le sujet « ACID » et du « CAP theorem »
- Attention à l’anti-pattern qui consiste à itérer sur un résultat SQL et à lancer des requêtes pour chaque ligne, votre BDD peut le faire mieux que ça et optimiser l’utilisation de ressources et minimiser les I/O.
Détectez et corrigez automatiquement les problèmes les plus fréquents avec Apache Kafka
Animée par Florent Ramière et Jean-Louis Boudart, la vidéoPetit tools in action afin de revenir sur les problèmes récurrent dans l’utilisation de Kafka et éviter de tomber dans le piège.
Redis: du cache à la time series!
Animée par Clément Escoffier et Holly Cummins, la vidéoTools in action très sympathique avec un peu de live coding et l’utilisation de Quarkus en plus de Redis. On notera que Holly a fait sa première conférence en Français, c’est assez rare pour être souligné qu’un speaker anglophone se risque à l’exercice. Nous avons bien aimé cette conférence car cela met bien en évidence que Redis est un peu plus qu’un simple cache et possède une API très riche. Une application de « Cache-cache » a donc été codé en live par la suite avec entre autre l’utilisation de la géolocalisation sur des sites parisiens.
Rendez-vous sur les prochains articles pour la suite du DevoXX