Let's learn D3.js - D3 for data visualization (full course)
Les ingénieurs YouTube développent un ensemble de logiciels, appelé Vitess, qui aidera les bases de données MySQL open-source à travailler plus efficacement dans des environnements de production à très grande échelle. Pour écrire le code, ils utilisent le langage de programmation Go.
YouTube utilise déjà un composant Vessoc, appelé Vtocc, pour aider à diffuser des vidéos sur l'ensemble des 800 millions d'utilisateurs mensuels du service. Google a acquis YouTube en 2006.
Vtocc a été «très stable et dispose de tous les outils nécessaires pour l'utiliser dans un environnement de production», a déclaré l'architecte YouTube Sugu Sougoumarane qui, avec l'ingénieur YouTube Mike Solomon, a discuté de Vitess. lors de la conférence Usenix LISA (Large Installation System Administration), tenue cette semaine à San Diego
That Vitess est écrit dans Go pourrait aider à valider l'idée que ce langage de programmation relativement nouveau pourrait être utilisé dans des environnements de production à grande échelle. Google a lancé la version 1 de Go en mars.
YouTube diffuse chaque mois plus de 4 milliards d'heures de vidéos. Environ 72 heures de vidéo sont téléchargées sur le service chaque minute. Alors que YouTube stocke toutes ses vidéos directement sur un système de fichiers, il utilise MySQL pour stocker toutes les métadonnées nécessaires à chaque vidéo, telles que les préférences utilisateur, les informations publicitaires, les personnalisations par pays et d'autres informations utiles. pour sa fiabilité, a déclaré Solomon, l'un des ingénieurs qui a construit le service à l'origine. Il a des bizarreries, mais ces bizarreries sont bien connues et peuvent être atténuées assez facilement, a-t-il dit. Cependant, MySQL a aussi des problèmes de mise à l'échelle - au moins de mise à l'échelle pour accommoder un service aussi vaste que YouTube.
"Le problème majeur avec MySQL est qu'une fois arrivé à un certain point, le temps de gérer le matériel et combien de fois vous avez ", a déclaré Solomon. "Nous voulons automatiser ce morceau, nous voulons prendre toutes les mesures qui sont compliquées et sujettes aux erreurs et le faire se soigner."
MySQL n'est pas non plus très efficace lorsqu'il est utilisé dans un grand déploiement. En règle générale, chaque connexion à MySQL nécessite son propre thread sur le serveur. Cependant, cette approche n'est pas réalisable à l'échelle des opérations de YouTube. "L'exécution de dizaines de milliers de connexions n'est pas vraiment viable", a déclaré M. Solomon.
Les ingénieurs de la société ont toutefois hésité à essayer de changer le code MySQL lui-même, notant que -comprendre le code peut souvent entraîner des effets imprévus. "Ce n'est pas simple, alors que vous pensez que vous savez ce que vous faites, c'est quand vous commencez à avoir des ennuis", a déclaré Solomon.
Donc Vitess a été créé pour fonctionner avec MySQL pour offrir des capacités de gestion supplémentaires. Le composant Vtocc, par exemple, consolide des milliers de requêtes SQL entrantes en un plus petit nombre de lots afin que MySQL puisse prendre moins de ressources pour répondre à ces demandes. Vtocc analyse également les requêtes afin qu'elles puissent être exécutées plus efficacement et réduit le travail causé par les requêtes en double en réutilisant les résultats d'une requête pour satisfaire les autres requêtes identiques. "J'utilise un langage plus traditionnel", a déclaré Sougoumarane.
Le code Go se compile rapidement, a-t-il dit. Les 30 000 lignes de code de Vitess peuvent être compilées en binaires en 30 secondes environ. Et, grâce à un riche ensemble de bibliothèques, de nombreuses tâches ne nécessitent pas beaucoup de programmation. Par exemple, Sougoumarane a écrit une routine de 105 lignes qui coupe périodiquement les fichiers journaux, fonctionnalité qui n'aurait pas pu être écrite en aussi peu de lignes en utilisant C ou C ++.
"Voilà comment Go est expressif", dit Sougoumarane. "Les fonctionnalités du langage sont bien pensées, elles vous aident à composer les choses d'une manière beaucoup plus élégante que les langues traditionnelles." Sougoumarane a également fait l'éloge du support de concurrence de Go, essentiel pour une utilisation dans les processeurs multicœurs. "Vous n'avez pas à vous soucier de la gestion des threads, Go les gère pour vous", a-t-il dit.
La langue a aussi quelques inconvénients, admet Sougoumarane. La gestion des erreurs pourrait être améliorée, par exemple. Selon M. Solomon, au fil du temps, Vitess assumera des tâches supplémentaires, telles que la réplication de base de données et le partitionnement automatique, de sorte qu'une base de données puisse croître sur plusieurs serveurs sans intervention des administrateurs.
Joab Jackson couvre les nouveautés et les logiciels d'entreprise pour
The IDG News Service
. Suivez Joab sur Twitter à @Joab_Jackson. L'adresse e-mail de Joab est [email protected]
Michael "Monty" Widenius , a déclaré dans un blog jeudi qu'il avait démissionné pour insatisfaction quant à la façon dont Sun traitait le développement de MySQL, et il y a quelques mois, le co-fondateur de MySQL, David Axmark, a également quitté la société. ont été repris par l'administrateur de Sun, Karen Tegan Padir, qui est maintenant vice-président du groupe MySQL et Software Infrastructure nouvellement formé. Les responsabilités de Padir comprennent également le serveur d'applicat
Le shakeup "place MySQL dans le courant des logiciels Sun" et aidera l'entreprise à se renforcer "En attendant, la bio de Mickos déclare maintenant qu'il servira de" stratège open source "jusqu'à la fin du trimestre actuel de Sun.
Un concurrent cool et à petit prix est prévu pour le lancement d'AT & T à l'automne. Palm augmente son jeu avec un nouveau téléphone à bas prix annoncé pour lancer cet automne sur AT & T. Le Palm Eos (ou Pixie / Castle) est considéré comme un autre rival de l'iPhone avec un prix plus petit, avec une silhouette de taille 0 dans un format candy-bar avec un clavier QWERTY sans glissement.
Spécifications préliminaires fuites par le point Engadget que Eos coûtera 99 $ (après une remise de 250 $) et viendra avec 4 Go de stockage à bord (Pre viendra avec 8 Go), un appareil photo de 2 mégapixels avec flash et capture vidéo (3 mégapixels sur le pré), A- GPS et WebOS de Palm (qui fera ses débuts sur le Palm Pre longtemps attendu).
Oracle Data Grid échelles .NET vers de nouveaux sommets
Oracle lance la version 3.6 de son logiciel de base de données en mémoire distribué.