Comment Twitter utilise Apache Cassandra pour alimenter sa plateforme de médias sociaux

Publié: 2022-11-17

Twitter est une plate-forme de réseautage social qui permet aux utilisateurs d'envoyer et de lire de courts messages appelés « tweets ». Il existe depuis 2006 et est depuis devenu l'une des plateformes de médias sociaux les plus populaires. Bien que Twitter utilise certains systèmes de gestion de bases de données relationnelles (RDBMS) pour certaines parties de son infrastructure, il utilise principalement une base de données NoSQL appelée Apache Cassandra. Cassandra a été conçu pour gérer de grandes quantités de données avec une disponibilité et des performances élevées. Twitter utilise Cassandra pour plusieurs raisons. Tout d'abord, il est très évolutif. Twitter peut facilement ajouter plus de nœuds Cassandra à mesure que sa base d'utilisateurs augmente. Deuxièmement, Cassandra est hautement disponible. Même si un nœud Cassandra tombe en panne, les autres peuvent prendre le relais. Enfin, Cassandra est rapide. Ceci est important pour une plate-forme de médias sociaux où les utilisateurs attendent des mises à jour en temps réel. Ainsi, bien que Twitter utilise certaines bases de données relationnelles, sa base de données principale est NoSQL. Cela permet à Twitter d'évoluer rapidement et d'offrir à ses utilisateurs une expérience rapide et fiable.

Kevin Weil, directeur du développement de produits de Twitter, explique comment l'entreprise utilise NoSQL dans une vidéo publiée plus tôt cette année. Chaque jour, les utilisateurs de Twitter génèrent environ 12 pétaoctets de données, ce qui équivaut à environ 4 pétaoctets par an. Hadoop, avec son propre projet open source appelé FlockDB, est utilisé pour analyser les données sociales et analyser les données. Twitter collecte et utilise toutes les informations qu'il collecte afin de fournir un contenu pertinent. Selon Weil, ce SlideShare est un excellent endroit pour en savoir plus sur la façon dont Twitter analyse les graphiques sociaux. Twitter expérimente toujours l'utilisation de Cassandra, la base de données NoSQL open source de Facebook, en tant que service.

MySQL était le principal magasin de données de Twitter depuis sa création, car la couche de persistance s'est étendue à un grand nombre de clusters. Twitter dispose d'un important déploiement MySQL depuis sa création. Il existe des milliers de clusters MySQL avec des millions de nœuds et des requêtes par seconde sont servies.

Google Cloud fournit deux types de services de base de données NoSQL : Cloud Firestore, qui est une base de données orientée documents, et Cloud Object Storage, qui est un système de stockage de données. Il est simple à utiliser et optimisé pour les petits documents, ce qui le rend idéal pour les applications mobiles. Bases de données de documents facilement évolutives, performantes et faciles à utiliser dans Cloud Datastore .

La technologie NoSQL alimente l'application mobile de Ryanair, la compagnie aérienne la plus fréquentée au monde, qui dessert plus de 3 millions d'utilisateurs par mois. Au cours des huit dernières années, Marriott a utilisé NoSQL pour gérer son système de réservation, qui génère 38 milliards de dollars de revenus. En plus de son système de gestion de contenu propriétaire, Presto, qui est utilisé par le premier éditeur de journaux américain, The Chronicle of Higher Education, utilise NoSQL.

PostgreSQL et Cassandra sont deux des systèmes de base de données backend d'Instagram.

Quel type de base de données Twitter utilise-t-il ?

Crédit image : sqlnethub.com

Twitter utilise une base de données relationnelle pour stocker ses tweets. Cette base de données est conçue pour stocker des données dans une série de tables, chaque table contenant des informations sur un aspect spécifique des tweets. Par exemple, il existe un tableau pour les informations sur les utilisateurs, un tableau pour les tweets eux-mêmes et un tableau pour les relations entre les utilisateurs.

Nous pouvons avoir besoin de certaines de ces informations pour certains de nos services, comme demander que votre demande soit acheminée vers un serveur spécifique, mais ce n'est pas obligatoire. Si vous souhaitez acheminer votre demande, vous n'avez pas besoin de connaître l'horodatage de votre tweet.
Malgré cela, les données restent stockées et traitées. Il n'est pas nécessaire de supprimer ou d'anonymiser les informations. Nos données ne sont pas accessibles au gouvernement, mais elles peuvent toujours être utilisées pour recueillir des informations vous concernant.
Certains problèmes de confidentialité existent en raison du stockage et du traitement de ces informations. Cela permet également au gouvernement de suivre vos mouvements et activités en premier lieu. De plus, cela permet au gouvernement d'accéder à vos renseignements personnels sans votre consentement.
Nous ne stockons pas le texte de vos tweets. Le nom et l'horodatage de ce compte sont les seuls éléments que nous conservons. Nous ne stockons pas le contenu de vos tweets.
Vos tweets ne contiennent aucune donnée que nous pouvons y stocker.
Nous stockons uniquement le nom du compte et l'horodatage lors du téléchargement de l'image.

Les avantages de l'utilisation de Mysql

Twitter a utilisé MySQL pour stocker les tweets dans le passé. MySQL peut gérer un grand nombre de requêtes en raison de sa fiabilité et de sa nature cohérente. Facebook utilise MySQL pour stocker toutes ses données de médias sociaux .

Facebook utilise-t-il Sql ou Nosql ?

Crédit image : phoenixnap.com

Parce qu'il offre une flexibilité de modélisation des données et que MySQL est omniprésent au démarrage de FB, SQL a été utilisé comme base de données persistante et Memcache comme cache "lookaside" dans les premiers jours de FB.

Une base de données Facebook stocke les profils de ses clients, qui représentent environ 23 % du total des clients. Les principes fondamentaux qui sous-tendent l'architecture distribuée à l'échelle mondiale de Facebook à l'échelle de l'Internet s'appliquent à un large éventail d'applications d'entreprise critiques, y compris le SaaS multi-tenant, et il y a des leçons à tirer d'une meilleure compréhension de l'évolution des bases de données chez Facebook. L'API TAO NoSQL Graph, qui est construite sur une version fragmentée de la populaire base de données open source Mystria , est l'une des API NoSQL de FB. TAO a partitionné les 1000 bases de données maître-esclave MySQL salées manuellement de FB en milliers d'esclaves fragmentés. Par conséquent, l'application n'utilise plus la base de données pour effectuer des transactions inter-fragments et des jointures inter-fragments. Par conséquent, si ce type de basculement était effectué, les données récentes seraient perdues. Étant donné que tous les objets et associations sont mis en cache sur les mêmes serveurs, ils peuvent être stockés dans la même partition pendant une durée indéfinie.

Le degré de colocalisation des données a été déterminé comme étant une technique d'optimisation importante utilisée pour maximiser l'accès aux données de latence. La communauté des développeurs a abandonné SQL au profit de l'API NoSQL personnalisée de TAO après que FB les ait forcés à abandonner leur API de requête SQL. La base de données Spanner de Google, créée il y a plus de dix ans, a été créée dans le cadre de la base de données TAO de FB. Le modèle de données de Spanner, par opposition à un graphe social, était davantage une charge de travail traditionnelle à accès aléatoire pour OLTP. La deuxième génération de bases de données distribuées repose sur une évolutivité massive et une distribution mondiale des données dans le cadre de la couche base de données. Spanner utilise un consensus distribué par partition pour garantir que chaque partition (et pas seulement chaque instance) reste hautement disponible en cas d'échec d'un service. Malgré le fait que la configuration du cluster de l'application a été modifiée, celle-ci reste opérationnelle.

Les données pertinentes pour la région locale continueront d'être classées en haut de la liste en raison de fonctionnalités telles que le géo-partitionnement au niveau de la table et au niveau de la ligne. Un gestionnaire de transactions distribuées est utilisé dans une transaction multi-fragments pour gérer le processus de validation en 2 phases, ainsi que les décalages d'horloge dans chaque nœud. Nous avons utilisé TAO comme mesure de réduction des coûts chez FB, ce qui nous a permis de conserver notre investissement dans MySQL partagé. Google a choisi d'emprunter une voie différente avec Spanner, une toute nouvelle base de données avec des capacités de mise à l'échelle horizontale, des capacités de géo-réplication transparentes et une facilité de défaillance de l'infrastructure.

Les bases de données NoSQL gagnent en popularité pour de nombreuses raisons. Le système utilise une approche différente du stockage des données qui est plus efficace lorsqu'il s'agit d'un grand volume de données.
Les bases de données NoSQL sont utilisées par un certain nombre d'entreprises bien connues, notamment Amazon, Netflix, Microsoft, Snapchat et Dropbox. Le choix d'une base de données NoSQL a été l'une des meilleures décisions qu'ils aient jamais prises car leurs applications gèrent beaucoup de données.
Par conséquent, les bases de données NoSQL offrent une plus grande flexibilité dans la manière dont les entreprises peuvent stocker les données. Il en résulte une meilleure organisation et un meilleur accès aux données. De plus, les bases de données NoSQL ont l'avantage d'être plus rapides en termes de traitement de grandes quantités de données.
Il est parfaitement logique pour les entreprises qui ont besoin de stocker une grande quantité de données d'envisager des bases de données NoSQL. En raison de leur approche unique du traitement des données, ils sont capables de traiter les données à une vitesse plus élevée et plus efficacement.


Twitter utilise-t-il une base de données graphique

Crédit image : metricool.com

Twitter conserve les données primaires telles que les graphiques d'intérêt, les chronologies et les données utilisateur dans MySql. Twitter possède des centaines de schémas et des milliers de nœuds qui traitent des millions de requêtes par seconde dans son plus grand cluster. Un service flockdb est utilisé dans le calcul de graphes.

L'utilisation de bases de données de graphes , son application aux données COVID-19 et le langage de choix pour les graphiques sont discutés. Après le chat, vous pouvez lire leurs idées ici. Participez à notre chat tweet à 13 h 00 HNE aujourd'hui intitulé L'état des bases de données de graphes en 2020. Nous présenterons plusieurs questions qui seront utilisées pour faciliter la discussion. Les bases de données de graphes se sont révélées très utiles dans le passé. En raison de sa capacité à connecter des données, à gérer d'énormes quantités de données et à fonctionner admirablement, il est requis par toutes les organisations à l'esprit analytique. Ils se distinguent par le fait qu'ils peuvent être utilisés pour connecter des données provenant de plusieurs sources plutôt que des bases de données.

Les utilisateurs peuvent désormais utiliser ces graphes pour bénéficier de fonctions spécifiques que l'on retrouve dans une base de données de graphes lors de l'analyse des données. De nombreux nouveaux utilisateurs peuvent être initiés à #knowledgegraph comme premier cas d'utilisation, car de nombreuses entreprises ont besoin de #analytics à partir d'un large éventail de sources de données structurées et non structurées. Quand il s'agit de #NLP et de combiner sa sortie avec diverses sources, #graphdb est la meilleure solution. COVID-19 sera discuté plus en profondeur dans GraphDB Q2. # GraphDB pourrait être très utilisé au deuxième trimestre en tant que solution de suivi des contacts. Par conséquent, les données sont injustes pour les grandes organisations dans la mesure où les informations sont trouvables, accessibles, interopérables et réutilisables. RDF* est un graphe de propriétés.

Il ne fait aucun doute qu'il y a confusion. La fédération est un sujet intrigant en ce moment. Ces données doivent être ingérées dans le fichier #graphdbs. Si vous le modélisez correctement, vous n'avez pas nécessairement besoin d'utiliser RDF*. L'utilisation de la science des données graphiques pour connecter et corréler des ensembles de données disparates est un excellent moyen de le faire. Il n'y a pas de différence significative entre le RDF* et le GPL aujourd'hui. Les fournisseurs compatibles RDF prennent généralement en charge les propriétés étiquetées, permettant aux algorithmes de graphe et autres fonctions analytiques d'être complètement invisibles par les RDF précédents.

Dois-je utiliser rdf ou sparcl entre mon PC et mes applications mobiles ? En fait, ce n'est pas sorcier de générer des propriétés à partir de RDF, mais ML pourrait potentiellement générer des triplets à partir de propriétés dans le SGBD de graphes #GraphDB @stevesarfield. Lorsque vous regardez une ontologie, vous la modélisez et elle vous suit jusqu'au lit. De plus, nos éditeurs ont commencé à interagir avec le marché de GraphDB. Notre objectif est de dresser une liste complète des meilleurs produits disponibles pour les consommateurs. Un knowledgegraph peut être créé avec GraphDB en combinant des données structurées et non structurées, ce qui lui permet d'être utilisé comme un outil d'analyse. De nombreux utilisateurs trouveront que c'est le début de leur voyage vers les bases de données graphiques à l'avenir.

Pendant longtemps, FOSS a été la source de référence pour les projets open source, mais il pourrait revenir sur le devant de la scène à l'avenir. # GraphDB peut être le meilleur moyen d'organiser tous les composants disparates d'un écosystème #IoT à mesure qu'ils mûrissent dans les organisations et les écosystèmes. Les sociétés de cartes de crédit utilisent GraphDB pour détecter les modèles d'activité suspects. Lorsque vous devez combiner des schémas imparfaits avec d'autres sources imparfaites, l'utilisation de #GraphDB peut être une bonne option. Restez en contact les uns avec les autres et restez en bonne santé également. La solution de base de données GOLAP de Cambridge Semantics, AnzoGraphDB, fournit un contexte et une signification à grande échelle dans une base de données de graphes de traitement massivement parallèle (MPP) en mémoire. Une requête de parcours de graphe peut être mise à l'échelle pour répondre aux exigences d'un entreposage et d'une analyse de données complexes, et elle peut également gérer de larges pans d'agrégation de données. Essayez AnzoGraphDB gratuitement pour voir s'il peut vous aider à mieux gérer votre vaste collection de données.

Comment les géants des médias sociaux utilisent les bases de données de graphes pour améliorer leurs plateformes

MySQL, un système de gestion de base de données, était à l'origine utilisé pour stocker les données de Twitter. Nous sommes passés d'une petite instance de base de données à une grande instance de base de données, puis d'une grande instance de base de données à une autre. La base de données de Twitter a été utilisée pour stocker toutes les informations des utilisateurs, ce qui lui a permis de devenir l'une des sociétés de médias sociaux les plus puissantes . L'entreprise a pu améliorer sa plateforme en analysant le comportement des utilisateurs et en suivant leurs progrès. Le moteur de recherche Instagram était initialement alimenté par Elasticsearch, un moteur de recherche prenant en compte les graphes sociaux construit par Facebook, mais il a finalement été remplacé par Unicorn. En plus d'utiliser une base de données graphique pour suivre la façon dont les utilisateurs interagissent, Instagram l'utilise pour suivre la façon dont les utilisateurs sont liés. Instagram peut améliorer son expérience utilisateur et fournir un contenu plus pertinent en analysant les données des médias sociaux. Les bases de données et les analyses de graphes sont utilisées par Facebook, Instagram et Twitter pour mieux comprendre comment leurs utilisateurs interagissent les uns avec les autres et pour créer de meilleures plateformes.