{"partition": "head_middle", "source_domain": "www.abricocotier.fr", "digest": "sha1:IVPIF73OMB4NXCMXGEHYKQQVSTTNOUUJ", "path": "/lustre/fsn1/projects/rech/qgz/uzq54wg/processed_redpajama/base_processing/output/fr/2014-15/000_00035.parquet"}
AbriCoCotier.fr
Analyses et anticipations sur le web et les nouvelles technologies de demain.
AccueilContactProgrammationProsRSSServeursTourismeRecherche
Le 28 février 2010, par Louis
Twitter passe de MySQL à Cassandra
[ 3 ] Commentaires Share
Je me demandais depuis pas mal de temps comment fonctionnait Twitter en terme de BDD, en me disant que vu l’énorme volume de données, il serait extrêmement compliqué pour eux d’être sur MySQL (dont j’ai lu un peu partout qu’au delà de 1 Go de données, il valait mieux passer sur des SGBD plus adaptés, tels PostGreSQL ou autres), notamment car tous les utilisateurs ne viennent pas souvent sur Twitter, et donc qu’il faut pour certains aller chercher très très loin dans les twitts (et donc dans la BDD). Je me disais donc que pour gérer ce volume de données, ils devaient être sur un SGBD type BigTable, qui me semblait plus adapté en terme de volumes à traiter (mais je le rappelle, je n’y connais pas grand chose, ou en tout cas pas plus que ce que j’ai appris à l’école).
Bref. Ce matin, je vois passer un article du SiteDuZéro expliquant que Twitter était sous MySQL, et qu’ils vont passer sur Cassandra, article très intéressant ce sur ce qu’il explique de l’infrastructure de Twitter, et des changements impliqués par ce passage sur un nouveau SQBD. J’ai donc voulu le reprendre ici, et j’ai vu avec plaisir que c’était possible, vu qu’il est sous licence CC BY-SA.
Twitter adopte la base de données Cassandra
Le réseau de micro-blogging Twitter, qui a annoncé récemment avoir atteint les 50 millions de « tweets » (les messages du réseau) par jour, cherche à modifier son infrastructure, en changeant de base de données. La célèbre MySQL, utilisée depuis les premiers jours, cède donc sa place à la base de données non-SQL Cassandra.
Une croissance toujours problématique
Lancé dans le courant de l’année 2006, Twitter a connu une croissance de plus en plus forte, tant en nombre d’utilisateurs qu’en activité. Une récente étude du cabinet RJMetrics parle ainsi de 75 millions d’utilisateurs fin 2009, qui, même s’ils ne sont pas tous actifs, constituent une charge de plus en plus difficile à supporter. Les administrateurs du site sont donc amenés à chercher de nouvelles solutions pour supporter cette charge.
De même que de très gros sites comme Facebook, Google ou Yahoo, les ingénieurs de Twitter doivent donc réfléchir à la façon dont le site est conçu, et éventuellement remettre en question leurs choix initiaux. Ainsi, si le site était initialement développé avec la technologie Ruby on Rails, le site a petit à petit migré vers une technologie jugée plus fiable, à savoir le langage Scala, développé au sein de l’EPFL. Celui-ci est utilisé conjointement avec la technologie Java, et assure selon Twitter de meilleurs performances.
Mais l’adoption de Scala ne fait pas tout : les performances d’un site tel que Twitter sont intimement liées à celles de sa base de données. Jusqu’à présent, MySQL était utilisée, conjointement au système de cache memcached. Le rôle d’un tel système est de soutenir la base de données en gardant en mémoire vive un maximum de données, que l’on peut de plus distribuer sur plusieurs serveurs. Les performances sont ainsi accrues, car la base de données est sollicitée moins souvent qu’auparavant.
De MySQL à Cassandra
Économiser les serveurs
Cette approche a fait ses preuves : memcached est utilisé par des sites aussi divers que Facebook, Youtube ou Wikipedia, conjointement avec MySQL. Mais pour Twitter, elle équivaut à déployer de plus en plus de serveurs. Selon Ryan King, un des ingénieurs responsables de la migration, un tel choix coûte de plus en plus cher en termes de main d’œuvre. Pour l’équipe, la solution était de changer de base de données, c’est à dire d’abandonner MySQL.
Plusieurs solutions ont été comparées, selon une liste de critères précis : serait-il nécessaire, et, si oui, suffisamment facile d’ajouter de nouvelles machines ? Est-ce que le système risquait de dépendre de composants dont les pannes seraient fatales à tout le site ? Est-ce que le nouveau système supporterait correctement une importante charge en écriture (par exemple liée à la réception de beaucoup de tweets en même temps) ? MySQL ne correspondait plus à ces critères, mais un certain nombre de bases de données d’un genre encore peu connu ont en revanche été consciencieusement examinées : les bases de données dites non-SQL.
Cassandra, une base de données non-SQL
Les bases de données non-SQL sont assez récentes, le mouvement NoSQL ayant à peine un an. Cette appellation regroupe en fait un ensemble de bases de données plus ou moins similaires, qui visent à rompre avec les caractéristiques habituelles des bases de données relationnelles (dont les bases de données SQL font partie), dans le but d’assurer de meilleures performances ou une meilleure capacité de déploiement. Si ces bases de données sont encore jeunes, elles sont pourtant soutenues (voire développées) et utilisées par de gros acteurs du web tels Google, Facebook ou Amazon.
Cassandra, la base de données ayant été retenue, a ainsi été initialement développée par Facebook dans le langage Java, puis publiée sous licence libre en juillet 2008. Elle est aujourd’hui maintenue par la Fondation Apache, par laquelle elle est d’ailleurs considérée depuis le 17 février 2010 comme étant un projet prioritaire. Son but est d’être décentralisée, de supporter facilement la montée en charge en écriture ainsi que l’addition de nouveaux serveurs sans interruption de service.
Une migration déjà effective
C’est donc exactement ce que recherchait l’équipe de Twitter, ainsi que le confirme Ryan King. Pour l’instant cependant, la migration de MySQL vers Cassandra n’est pas achevée : l’équipe expérimente la mise en production de la nouvelle base de données, en testant cette dernière en parallèle de MySQL. La première table bénéficiant de la migration, la plus importante, est la table des statuts, c’est à dire celle des tweets. Mais les ingénieurs semblent déjà enthousiasmés par les premiers résultats, puis qu’ils parlent déjà de faire migrer les autres tables vers cette base de données, ce qui les conduirait ainsi à ne plus utiliser MySQL.
Twitter n’est pas le premier site à faire un tel choix. En effet, le site Digg.com avait déjà choisi de passer de MySQL à Cassandra, et avait publié un avis plutôt positif sur cette migration. Avec Facebook, cela représente donc une sérieuse base d’utilisateurs pour Cassandra, qui se voit ainsi promettre un bel avenir.
Liens complémentaires
La présentation de Cassandra sur Facebook : la structure de la base de données y est décrite, ainsi que des premiers résultats très prometteurs. Désormais, Cassandra est un projet Apache.
Interview de Ryan King, par le site MyNoSQL.
Un article sur le mouvement NoSQL, expliquant les motivations et le principe de ces nouvelles bases de données.
Un autre article, sur l’abandon de MySQL et memcached : « la fin d’une ère ».
Vous serez peut-être intéressé :• Twitter annonce une offre premium pour entreprises, en concurrence avec Facebook
Lors du Reuters Global Technology Summit, Biz Stone, co-fondateur de Twitter, a annoncé que le premier service de micro-blogging mondial allait lancer, d’ici fin 2009 un service de compte premium,...
• Twitter sur Blackberry : marre de UberTwitter, je passe sur Seesmic
J’ai récemment désinstallé UberTwitter au profit de Seesmic sur Blackberry, et je me suis dis que ce serait une bonne occasion pour en faire un billet. D’abord, les raisons de...
• Twitter dans les choux, un business model ?
Ces derniers temps, on a tous pu constater, pour peu qu’on utilisait Twitter depuis l’interface web, que ce dernier était extrêmement lent, ou bien nous envoyait tout simplement une belle...
• On peut twitter de partout, même de l’espace
C’est la « prouesse » que vient de réaliser Mike Massimino, actuellement sur la Station Spatiale Internationale. Donc on a désormais droit aux twitts de quelqu’un qui n’est « même pas » sur la...
• Twitter hacké par la cyber-armée iranienne
Ce matin, vers 7h20, la page d’accueil de Twitter n’est plus disponible, et affiche (quand on parvient à l’afficher), un message de hack, disant : Twitter has been hacked by...
3 commentaires sur ce billet
depannage informatique dit : 28 février 2010 à 19:52 Intéressant car je pensais également que mysql même avec memcached était plus limité que ça. Mais visiblement ça tenait bien la route, car twitter c’est quand même beaucoup de requêtes à la seconde je pense…
Louis dit : 28 février 2010 à 22:30 @depannage informatique: C’est ce que je pensais aussi. Avec le trafic de Twitter, ça me semblait pas assez puissant (mais je n’y connais pas grand chose en memcache)…
Chloef dit : 3 septembre 2011 à 21:25 Retour d’expériences : le Nosql serait déjà en perte de vitesse. Twitter a depuis renoncé à utiliser Cassandra pour ses tweets. Twitter utilise Cassandra uniquement pour les statistiques, les tweets sont gérés par Mysql. Idem pour Digg qui a connu beaucoup de soucis après son passage sous Cassandra. Quant à Facebook (créateur de Cassandra), il utilise Mysql pour 99% de ses bases de données. Abricocotier devrait faire un article sur les dernières évolutions de ces grosses plateformes.
Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec * Nom * E-Mail * Site web Commentaire Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> me prévenir quand un nouveau commentaire est posté
mainty sur Télécharger et installer Opéra Mini 4.2 Beta sur un Blackberry (et test Acid3 de ce navigateur) Salut j'ai un black berry 9800 torch,g n'arrive pas ...Christian sur Pour revendre, choisissez PriceMinister ou LeBonCoin plutôt qu'Ebay [Comparatif] Bonjour,
Je vous invite à découvrir ce site : AVclic.fr
Ce ...Rafael. sur Vous voulez un compte Ikariam ? Contactez-moi ! Je cherche un bon compte joigner moi [email protected] ...Louis sur Vaisselle Guy Degrenne: Harmonie et Swell Brosse @HERBAUT: Heu je ne sais pas, je vous conseille ...HERBAUT sur Vaisselle Guy Degrenne: Harmonie et Swell Brosse Bonjour,
Je suis intéressée par la ménagère swell brosse est-elle ... Les auteurs Caroline et Louis, travaillent en région parisienne. Caroline est chargée de Sécurité chez LVM, tandis que Louis est Ingénieur d’Étude chez PriceMinister.
TagsActus du monde
Actus du Web
Java - J2EE
News fraîches
Nous deux
Sons et vidéos
Tourisme - Visites
Le billet d'avant Yahoo Questions&Answers : un nouveau design Le billet d'après 66% de mécontents pour le Nexus One VS l’iPhone d’Apple Derniers billets
14 April 2014Yahoo! se permet de renouveler automatiquement l'abonnement à Flickr PRO, sans possibilité de l'arrêter !(0) Comments09 April 2014ABTest en cours sur les pages Profile de Twitter(0) Comments03 March 2014AB test en cours sur la présentation des résultats de recherche Google(0) Comments26 February 2014Ne jamais oublier d'où vient l'argent(0) Comments26 February 2014Pourquoi certaines populations prennent soin de leurs personnes âgées(0) Comments06 February 2014OCTO + IngDirect : AngularJS dans un contexte bancaire(7) Comments04 February 2014Acheter aux USA, se faire livrer en France(0) Comments24 January 2014Où se faire vacciner à Paris ?(3) Comments13 October 2013Critique de films : Tropa De Elite et De L'Autre Côté Du Périph(1) Comments30 September 2013Nouvelles version de Google Documents et Google Spreadsheet(0) Comments Pages Contact
Les plus commentésNone found Au hasardBeaucoup de déclenchements pour un appareil photo réflex ? Les chiffres donnés par les constructeurs.
Algorithme pour obtenir le plus proche multiple en Java
Chine, Jour 17. La Muraille de Chine à MuTianYu
Stromae, le Jacques Brel du XXIe siècle
Qu’est-ce que cela fait d’avoir tué quelqu’un ?
Analytics client
CRM Mailer
Encodeur Base64
Site Checker
Tar/Gzip Tools
Microblog Warren Buffet nous apprend une nouvelle fois la vie sur les investissementsBonne blague belgePiège à moustique pas cherFaux d’Artifice du 14 Juillet 2013 à ParisL’histoire de l’Univers en 18 minutesArchives Choisir un mois
© 2010 AbriCoCotier.fr. All Rights Reserved Splendio Theme is created by DesignDisease. Powered by: Wordpress