shopify ecommerce

Quelle est la base de données de Shopify ?

L’outil ecommerce tout-en-un Shopify permet aux e-commerçants de se décharger complètement des aspects les plus techniques du métier en se focalisant sur les tâches liées à la vente et la promotion des ventes. Pour faire tourner ce système qui propulse plus de 1,5 million de boutiques et 800000 clients différents.

Pour faire tourner cette énorme machine, les 2 technologies originelles sont toujours en production : il s’agit du langage de programmation Ruby on Rails et de la base de données MySQL. Depuis 2014, Shopify a été obligé de partitionner ses données entre plusieurs bases de données. Aujourd’hui, l’infrastructure est construite autours de centaines de « pods » des blocs de serveurs complets entièrement autonomes permettant une meilleure sécurité et une fiabilité importante : si un crash important survient, il n’affecte qu’un seul pod et pas les autres.

Du côté des bases de données, Shopify fonctionne aujourd’hui avec 3 composants principaux :

  • MySQL comme base de donnée relationnelle principale. C’est elle qui gère les données principales et propulse les boutiques Shopify : catalogue produit, informations sur les clients, commandes, transactions, état des stocks ;
  • Memcached afin de gérer la mémoire cache distribuée et accélérer les écrans générés à partir des données stockées en base de données ;
  • Redis pour délivrer très rapidement les tâches en queue et les tâches de fond.

Shopify utilise également des services de stockage cloud pour héberger les fichiers multimédias (images, PDFs et vidéos des produits) téléchargés par les commerçants. En procédant ainsi, on évite de surcharger les bases de données avec des données lourdes et on améliore les performances globales du système. Enfin, pour répondre aux besoins internationaux, des mécanismes de livraisons de contenus de type CDN sont mis en place.