L'Ingéniere de Twitter a diffusé des détails sur Manhattan, leur base de données distribuée, temps-réel et multi-entités.
En ce qui concerne les motivations, Peter Schuller, Ingénieur en Chef de Manhattan, les expose de la manière suivante :
Au cours de ces quelques dernières années, nous nous sommes trouvés dans le besoin d'un système de stockage qui puisse servir des millions de requêtes par seconde, avec des latences extrêmement basses dans un environnement temps-réel. La disponibilité et la vitesse du système sont devenues les facteurs d'importance primordiaux.
Manhattan, décrit comme en production depuis plus de deux ans, expose une interface clé/valeur par dessus du stockage-en-tant-que-service ainsi qu'une interface orientée graphes à venir pour interagir avec des arêtes. Par dessus Manhattan, l'équipe Ingénierie de Twitter a créé des services additionels, tels qu'un import Hadoop par batch ou le service des compteurs de séries temporelles.
Le système est conçu pour tenir la charge de 6000+ Tweets par seconde pour 240 millions d'utilisateurs dans le monde, comme Cade Metz (Editeur Wired Business et Wired Enterprise) l'a rapporté. Il a aussi mis en avant le besoin de Twitter d'une base de données fortement cohérente :
Comme beaucoup d'entreprises du Web, Twitter s'est pendant un temps reposé fortement sur Cassandra. Originellement développée par Facebook, Cassandra est l'une des nombreuses bases NoSQL conçues pour stocker des données réparties sur des centaines, voire même des milliers de machines. Cela fonctionnait suffisamment bien, mais Twitter a rapidement découvert qu'il était trop difficile d'étendre le système à un nouvel ensemble de machines.
Derrick Harris de Gigaom a discuté avec le trio d'ingénieurs Twitter (Chris Goffinet, Peter Schuller et Boaz Avital) qui ont construit Manhattan, afin d'extraire trois leçons en conception de base de données. Il a aussi cherché réponse à la question imminente de savoir si Manhattan sera mis à disposition d'une audience plus large, au delà de la base d'utilisateurs internes de Twitter :
Si et quand Twitter décide d'ouvrir le code source de Manhattan, ajoute Schuller, le but serait de le rendre aussi utile que possible à un large spectre d'utilisateurs dont les applications n'ont peut être rien à voir avec celles s'exécutant chez Twitter.
Il sera intéressant de voir ce que Twitter planifie de faire avec Manhattan, connaissant leur forte implication dans l'Open Source. Dans un futur immédiat, l'équipe a annoncé un livre blanc détaillant un peu plus les bases techniques de Manhattan.