Netflix personnalise l'affichage pour plus de 50 millions de clients avec Datastax


Rédigé par Communiqué de Datastax le 5 Avril 2016

Netflix est le plus important réseau télévisé via internet au monde avec plus de 48 millions d’adhérents à son service de diffusion en continu (streaming) dans plus de 40 pays. Basé à Los Gatos en Californie, Netflix a transformé avec succès son modèle de la vente de DVD par correspondance vers la fourniture d’accès au multimédia en ligne. A ce jour, Netflix est le leader de l’industrie du streaming multimédia avec plus de 1.5 milliards de dollars de revenus. Netflix domine l’utilisation d’internet aux heures de pointe et sa part de marché continue à s’envoler avec un nombre toujours plus important d’abonnés.



Le challenge

En 2007, Netflix a révolutionné l’offre de streaming en lançant son service “Watch Now” (“Regardez maintenant”). Dès l’instant où un client devient adhérent, Netflix collecte et stocke tous les détails sur l’abonné, y compris les titres qu’il regarde, quels titres il a visionné avant et après, pourquoi il abandonne au bout de 5 minutes de visionnage, ou à quel endroit du film il met en pause. Netflix collecte toutes ces données élémentaires pour personnaliser l’expérience globale utilisateur en fonction du profil du client.

En 2010, Netflix déplaça ses données chez Amazon Web Services (AWS) pour permettre aux abonnés d’accéder depuis des équipements variés avec plus de flexibilité. A l’époque, Netflix utilisait Oracle comme base de données et était en limite de trafic et de capacité avec les charges d’exécution exponentielles gérées sur le Cloud. La société savait qu’une seule base de données signifiait un point unique de défaillance, et que les coupures ou une diffusion de mauvaise qualité pouvaient faire partir les clients.

“Le problème d’une base de données SQL c’est que tout se trouve au même endroit, c’est très pratique, jusqu’à ce qu’elle tombe en panne,” explique Adrian Cockcroft, architecte Cloud chez Netflix. “Or, comme ces bases de données sont chères, on a tendance à tout y mettre. Du coup quand ça tombe en panne on perd tout.”

De plus, les modifications de schéma nécessitaient l’arrêt du système. “Toutes les deux semaines, il nous fallait arrêter les serveurs pendant 10 minutes pour mettre en place le nouveau schéma,” explique Adrian Cockcroft. Les limitations de la base de données SQL impactaient la disponibilité et la scalabilité du système, et Netflix avait besoin d’une solution fiable et flexible pour pouvoir créer et gérer des clusters de données rapidement pour accompagner le développement international de la société.

La solution

Netflix s’est rendu compte que les technologies traditionnelles des bases de données relationnelles n’étaient pas faites pour gérer des volumes importants de données, ni d’un point de vue des coûts, ni pour garantir une architecture continuellement disponible et flexible. Netflix effectua une évaluation approfondie des différentes bases de données disponibles et Apache Cassandra™ s’imposa comme le meilleur choix. En plus de fournir une scalabilité à un prix abordable, l’architecture sans maître et sans schéma de Cassandra garantit l’absence de point unique de défaillance et supprime les temps d’arrêt nécessaires pour mettre en place de nouveaux schémas.

Au final, Netflix a pris la décision de migrer de Cassandra vers DataStax Enterprise pour l’environnement de production et la sécurité d’Entreprise. Deux ingénieurs ont suffi pour assurer la migration complète de plus de 80 clusters et 2500 noeuds.

« Ca nous coûterait environ 2 millions de dollars de plus pour faire sans Cassandra ce que nous devons faire aujourd’hui ; de plus, ce serait beaucoup plus difficile à gérer opérationnellement »
– Adrian Cockcroft, architecte Cloud Netflix

Les résultats

DataStax Enterprise est aujourd’hui la base de données de référence de Netflix. Environ 95% des données (hors programmes) de Netflix sont stockées dans DataStax Enterprise ; ceci comprend les données clients, les évaluations des films, les favoris, les logs et le service d’historique des consultations. Grâce à DataStax Enterprise, Netflix est capable de stocker et de traiter de vastes quantités de données sur les visionnages des abonnés et les logs d’activité ; ceci permet d’améliorer l’expérience utilisateur pour la recherche et la diffusion. DataStax Enterprise permet un débit jusqu’à 10 millions de transactions par seconde. Netflix traite plus de 2,1 milliards d’opérations de lecture et 4,3 milliards d’opérations d’écriture par jour.

Grâce à la fonctionnalité de réplication multi-data center de Cassandra, Netflix dispose de plus de flexibilité qu’auparavant pour créer et gérer des clusters de données. “Je peux créer un cluster Cassandra dans n’importe quelle région du monde en 10 minutes,” confirme Adrian Cockcroft. “Quand le département marketing décide de se développer dans une nouvelle région du monde, nous sommes prêts.”

Le moteur de base de données de Netflix peut effectuer des recherches sur plus de 76 000 genres de films différents, comme « films d’aliens des années 70”, et en retour alimente le moteur Netflix de programmation avec les données des habitudes de consommation des abonnés. Quand la société décide d’investir 100 millions de dollars dans House of Cards sans avoir visionné le moindre prototype, ce n’est pas un pari à l’aveugle : les données clients stockées dans Cassandra avaient prédit à Netflix que ce serait un succès.



Dans la même rubrique :