capture d'écran du Bon Coin

Quelle est la base de données du Bon Coin ?

S’il y a bien un site web que tout le monde connaît au moins de nom c’est bien Le Bon Coin. Mais derrière une interface sobre et parfois critiquée (alors que son apparente simplicité est justement sa force) se cache une grosse machine de guerre technique.

En 2016, Le Bon Coin c’est plus de 20 millions de visiteurs différents chaque jour, 350 millions de pages vues par jour, 800000 nouvelles annonces chaque jour et des pics de trafic importants. Et comme la majorité des pages consultées sont des pages de recherche, il est difficile de les mettre en cache comme on peut le faire avec des sites classiques de contenu. C’est pour répondre à ce besoin particulier que l’équipe technique du site de petites annonces à construit une architecture sur-mesure avec 500 serveurs qui fonctionnent à 50% de leur capacité pour absorber de façon plutôt indolore les pics de visiteurs.

Historiquement, c’est MySQL qui propulsait la forme originale du site web (la version suédoise). Pour monter en charge, l’équipe technique a décidé de migré vers une base de données plus adaptée. La base de données utilisée actuellement est PostGresSQL. Solide, cet outil pêche un peu par son manque d’intuitivité et a nécessité, pour LBC, un important travail de restructuration des tables de données. La création des indexes et le partitionnement (pour cause de « trop » grosse table) reste 2 points embêtants. Pour le côté transactionnel, il y a une trentaine de bases de données. Pour l’analyse de données (big data), c’est le cloud d’Amazon qui est utilisé. Tout le reste est réalisé en interne à base d’outils open source.

Particularité de ce site web, la base de données est beaucoup plus sollicitée en écriture qu’en lecture (70% en écriture contre seulement 30% en lecture).