La culture de l’obsession de la performance dans les bases de données
- Le secteur des bases de données se concentre sur l’amélioration des performances, mais l’expérience réelle des utilisateurs est souvent influencée par d’autres facteurs.
- Pour traiter des données, ce qui compte réellement pour l’utilisateur peut être moins l’optimisation des requêtes que le format des données ou la capacité à formuler une question en SQL.
- Les performances d’une base de données sont importantes, mais il peut être préférable de la choisir selon d’autres critères comme la facilité d’usage, l’écosystème, la rapidité des mises à jour ou l’intégration au workflow.
La fin de la guerre des benchmarks
- En 2019, GigaOm a publié un benchmark comparant des entrepôts de données cloud, mais le marché réel a ensuite montré une dynamique différente.
- Lorsque les résultats d’un benchmark ne correspondent pas à l’expérience utilisateur, cela peut indiquer que le benchmark est erroné, qu’il teste les mauvaises choses, ou que la performance n’est tout simplement pas si importante.
Ce que signifie être rapide
- Dans le domaine des bases de données cloud, on tend à se focaliser sur le temps écoulé entre le clic sur le bouton « exécuter » et l’affichage du résultat.
- Mais ce qui a réellement un impact pour l’utilisateur, c’est le temps nécessaire pour accomplir le travail, et ce n’est pas la même chose que le temps passé par le serveur de base de données.
La performance est subjective
- La performance doit être mesurée du point de vue de l’utilisateur et, en tant que problème d’UX, elle ne peut pas se résumer à un chiffre unique.
- Le caractère subjectif de la performance signifie que ce qui est le plus rapide dépend de la manière dont la base de données est utilisée.
La vitesse du changement
- DuckDB s’améliore rapidement, ce qui rend les benchmarks actuels rapidement caducs.
- Lorsqu’on choisit une base de données, les performances actuelles ne sont pas le seul critère : l’évolution future des performances et des fonctionnalités est aussi une variable importante.
Il n’existe pas de solution miracle
- Si toutes les bases de données sont activement maintenues, leurs performances finiront par converger avec le temps.
- Les écarts de performance vraiment significatifs ont peu de chances de durer sur la durée.
Le problème se situe entre la chaise et le clavier, puis entre le clavier et la base de données
- Pour l’utilisateur, l’indicateur de performance qui compte est le temps qu’il faut pour partir d’une question et obtenir une réponse.
- La vraie fonctionnalité importante n’est pas le temps d’exécution de la requête par la base, mais la vitesse qui mène de l’idée à la réponse.
À propos des raisins verts
- DuckDB figure actuellement parmi les meilleurs dans les benchmarks ClickBench et h20.ai, et affiche aussi des performances correctes sur TPC-H et TPC-DS.
- Avant de supposer qu’une base de données est rapide, il est important de la tester sur une charge de travail réelle.
Conclusion
- Les entreprises de bases de données les plus prospères n’ont pas réussi parce qu’elles étaient plus rapides que leurs concurrentes.
- Les bases de données qui ont fait de la performance leur principal argument de vente n’ont pas réussi sur le marché.
- Au moment de choisir une base de données, il vaut mieux se décider sur d’autres critères que la vitesse brute.
L’avis de GN⁺
- Cet article souligne qu’il est important de ne pas se focaliser uniquement sur la performance des bases de données, mais aussi sur l’optimisation de l’expérience utilisateur et du flux de travail. C’est aussi une leçon importante pour les ingénieurs logiciel débutants : lors du choix d’une base de données, il faut envisager une approche centrée sur l’utilisateur plutôt que de se limiter à des indicateurs de performance.
- Les performances des bases de données tendent à converger avec le temps, car les progrès technologiques se diffusent à l’ensemble des plateformes. Cela suggère qu’au moment de faire un choix technologique, il faut considérer non seulement la performance à court terme, mais aussi le support à long terme et le potentiel d’amélioration.
- Des projets open source comme DuckDB peuvent évoluer très vite grâce à leur rythme d’amélioration et au soutien de leur communauté. Cela signifie que, lors de l’adoption d’une nouvelle technologie, il faut aussi prendre en compte le dynamisme de la communauté et la vitesse d’évolution du projet.
- Lors du choix d’une base de données, il est important de ne pas s’appuyer uniquement sur les résultats des benchmarks de performance, mais aussi de tester les performances sur une charge de travail réelle. Cela peut aider à choisir une base de données mieux adaptée aux cas d’usage réels.
- Le choix d’une technologie de base de données ne doit pas se limiter à des considérations techniques : il faut aussi prendre en compte les besoins métier, la facilité de maintenance et l’efficacité du traitement des données.
1 commentaires
Avis Hacker News
dictPython et le déversait sur disque toutes les quelques minutes. L’API était très rapide, mais après le passage à MongoDB, les performances ne sont jamais revenues. Malgré cela, aujourd’hui encore, on ne choisirait paspickledbpour créer un site web.