ConferenceIntermediateTech créative / Autres sujetsfr

SQLite : analyse d'un chef-d'œuvre de l'ingénierie logicielle

Elle est partout. Omniprésente. Dans votre téléphone, votre navigateur, votre lecteur PDF, votre voiture, votre avion, votre télévision ... Et peut-être même dans votre four ou grille-pain connecté. SQLite est tout simplement la base de données la plus déployée au monde avec des littéralement des milliards d'instances actives. Pourtant elle est trop souvent réduite à une « petite base embarquée pour des cas simples », peut-être par simplification, probablement par méconnaissance. Quelle erreur ! Derrière son apparente simplicité se cache un chef-d'œuvre d'ingénierie logicielle. Un moteur de bytecode compilant vos requêtes SQL en instructions pour une machine virtuelle interne, un système de stockage tolérant aux pannes, un système de journalisation WAL d'une efficacité redoutable ... Mais aussi zéro dépendance, un unique fichier à compiler, et une suite de tests totalisant des centaines de millions de cas pour atteindre un taux de couverture de 100% avec un niveau d'exigence digne de l'avionique faisant d'elle, et de loin, probablement le projet le plus testé au monde. Dans ce talk, je vous propose d'ouvrir le capot de SQLite pour découvrir l'architecture interne et les choix de conception qui ont fait de ce projet un cas d'école. De la compilation d'une requête SQL jusqu'à l'écriture sur disque, vous découvrirez comment chaque brique a été pensée avec une extrême rigueur et une sobriété rares. De quoi en tirer des des leçons pour nos propres projets : construire du logiciel fiable, performant et maintenable en embrassant la simplicité plutôt que la complexité.

Speakers