Cum folosește Twitter Apache Cassandra pentru a-și alimenta platforma de socializare

Publicat: 2022-11-17

Twitter este o platformă de rețea socială care permite utilizatorilor să trimită și să citească mesaje scurte numite „tweet”. Există din 2006 și de atunci a devenit una dintre cele mai populare platforme de social media. În timp ce Twitter utilizează unele sisteme de gestionare a bazelor de date relaționale (RDBMS) pentru anumite părți ale infrastructurii sale, folosește în principal o bază de date NoSQL numită Apache Cassandra. Cassandra a fost concepută pentru a gestiona cantități mari de date cu disponibilitate și performanță ridicate. Twitter o folosește pe Cassandra din mai multe motive. În primul rând, este foarte scalabil. Twitter poate adăuga cu ușurință mai multe noduri Cassandra pe măsură ce baza sa de utilizatori crește. În al doilea rând, Cassandra este foarte disponibilă. Chiar dacă un nod Cassandra se prăbușește, ceilalți pot ridica slăbiciunea. În cele din urmă, Cassandra este rapidă. Acest lucru este important pentru o platformă de socializare unde utilizatorii se așteaptă la actualizări în timp real. Deci, în timp ce Twitter folosește unele baze de date relaționale, baza sa principală este NoSQL. Acest lucru permite Twitter să se extindă rapid și să ofere utilizatorilor săi o experiență rapidă și fiabilă.

Kevin Weil, directorul de dezvoltare de produse al Twitter, oferă o explicație despre modul în care compania utilizează NoSQL într-un videoclip postat la începutul acestui an. În fiecare zi, utilizatorii Twitter generează aproximativ 12 petaocteți de date, ceea ce echivalează cu aproximativ 4 petaocteți pe an. Hadoop, împreună cu propriul proiect open-source numit FlockDB, este folosit pentru a analiza datele sociale și pentru a analiza datele. Twitter colectează și folosește toate informațiile pe care le colectează pentru a oferi conținut relevant. Potrivit lui Weil, acest SlideShare este un loc minunat pentru a afla mai multe despre modul în care Twitter analizează graficele sociale. Twitter încă experimentează utilizarea Cassandra, baza de date open-source NoSQL a Facebook, ca serviciu.

MySQL a fost principalul magazin de date al Twitter de la începuturi, deoarece stratul de persistență a crescut la un număr mare de clustere. Twitter are o implementare MySQL considerabilă încă de la început. Există mii de clustere MySQL cu milioane de noduri în ele, iar interogările pe secundă sunt servite.

Google Cloud oferă două tipuri de servicii de baze de date NoSQL: Cloud Firestore, care este o bază de date orientată spre documente, și Cloud Object Storage, care este un sistem de stocare a datelor. Este simplu de utilizat și se optimizează pentru documente mici, făcându-l ideal pentru aplicațiile mobile. Baze de date de documente care pot fi scalate cu ușurință, performanțe bune și sunt ușor de utilizat în Cloud Datastore .

Tehnologia NoSQL alimentează aplicația mobilă a Ryanair, cea mai aglomerată companie aeriană din lume, care deservește peste 3 milioane de utilizatori pe lună. În ultimii opt ani, Marriott a folosit NoSQL pentru a rula sistemul său de rezervare, care generează venituri de 38 de miliarde de dolari. În plus față de sistemul său proprietar de management al conținutului, Presto, care este folosit de editorul de ziare nr. 1 din SUA, The Chronicle of Higher Education, folosește NoSQL.

PostgreSQL și Cassandra sunt două dintre sistemele de baze de date backend ale Instagram.

Ce fel de bază de date folosește Twitter?

Credit imagine: sqlnethub.com

Twitter folosește o bază de date relațională pentru a-și stoca tweet-urile. Această bază de date este concepută pentru a stoca date într-o serie de tabele, fiecare tabel conținând informații despre un aspect specific al tweet-urilor. De exemplu, există un tabel pentru informațiile despre utilizator, un tabel pentru tweet-urile în sine și un tabel pentru relațiile dintre utilizatori.

Este posibil să avem nevoie de unele dintre aceste informații pentru unele dintre serviciile noastre, cum ar fi solicitarea ca solicitarea dvs. să fie direcționată către un anumit server, dar nu este necesară. Dacă doriți să vă direcționați solicitarea, nu trebuie să cunoașteți marca temporală a tweetului.
În ciuda acestui fapt, datele rămân stocate și procesate. Nu este nevoie să ștergeți sau să anonimizați informațiile. Datele noastre nu pot fi accesate de către guvern, dar pot fi încă folosite pentru a aduna informații despre dvs.
Există unele preocupări legate de confidențialitate ca urmare a stocării și procesării acestor informații. De asemenea, permite guvernului să vă urmărească mișcările și activitățile în primul rând. În plus, permite guvernului să vă acceseze informațiile personale fără consimțământul dumneavoastră.
Nu stocăm textul tweet-urilor dvs. Numele și marca temporală a acestui cont sunt singurele lucruri pe care le păstrăm. Nu stocăm conținutul tweet-urilor dvs.
Tweeturile tale nu vin cu date pe care le putem stoca.
Stocăm doar numele contului și marca temporală atunci când încărcăm imaginea.

Beneficiile utilizării Mysql

Twitter a folosit MySQL pentru a stoca tweet-uri în trecut. MySQL poate gestiona un număr mare de solicitări datorită fiabilității și naturii sale consistente. Facebook folosește MySQL pentru a stoca toate datele rețelelor sociale .

Facebook folosește Sql sau Nosql?

Credit imagine: phoenixnap.com

Deoarece oferă flexibilitate de modelare a datelor și MySQL este omniprezent atunci când a pornit FB, SQL a fost folosit ca bază de date persistentă și memcache ca cache „lookaside” în primele zile ale FB.

O bază de date Facebook stochează profilurile clienților săi, care reprezintă aproximativ 23% din totalul clienților. Principiile fundamentale care stau la baza arhitecturii Facebook la scară internet, distribuită la nivel global, se aplică unei game largi de aplicații de întreprindere critice pentru afaceri, inclusiv SaaS multi-tenant, și există lecții de învățat dintr-o mai bună înțelegere a evoluției bazei de date la Facebook. API-ul TAO NoSQL Graph, care este construit pe o versiune fragmentată a popularei baze de date open source Mystria , este unul dintre API-urile NoSQL ale FB. TAO a împărțit cele 1000 de baze de date MySQL master-slave mai vechi ale FB, sărate manual, în mii de sharded slave. Ca urmare, aplicația nu mai folosește baza de date pentru a efectua tranzacții încrucișate și JOIN-uri încrucișate. Ca urmare, dacă s-ar efectua acest tip de failover, datele recente ar fi pierdute. Deoarece toate obiectele și asociațiile sunt stocate în cache pe aceleași servere, ele pot fi stocate în același fragment pentru o perioadă nedeterminată de timp.

Gradul de colocare a datelor a fost determinat a fi o tehnică de optimizare importantă utilizată pentru a maximiza latența accesului la date. Comunitatea dezvoltatorilor a abandonat SQL în favoarea API-ului NoSQL personalizat al TAO, după ce FB i-a forțat să renunțe la API-ul de interogare SQL. Baza de date Google Spanner, creată cu peste un deceniu în urmă, a fost creată ca parte a bazei de date TAO a FB. Modelul de date al lui Spanner, spre deosebire de un grafic social, a fost mai mult o sarcină de lucru tradițională, cu acces aleatoriu pentru OLTP. A doua generație de baze de date distribuite este construită pe scalabilitate masivă și distribuție globală a datelor ca parte a stratului bazei de date. Spanner folosește consensul distribuit pe fragment pentru a se asigura că fiecare fragment (și nu doar fiecare instanță) rămâne foarte disponibil în cazul unui serviciu eșuat. În ciuda faptului că configurația cluster-ului aplicației a fost modificată, aceasta rămâne operațională.

Datele relevante pentru regiunea locală vor continua să fie clasate în fruntea listei datorită caracteristicilor precum geo-partiționarea la nivel de tabel și la nivel de rând. Un manager de tranzacții distribuit este utilizat într-o tranzacție cu mai multe fragmente pentru a gestiona procesul de comitere în 2 faze, precum și declinarea ceasului în fiecare nod. Am folosit TAO ca măsură de reducere a costurilor la FB, permițându-ne să ne păstrăm investiția în MySQL fragmentat. Google a ales să ia o cale diferită cu Spanner, o bază de date complet nouă, cu capabilități de scalare orizontală, capabilități de replicare geografică fără întreruperi și ușurință în defecțiunea infrastructurii.

Există numeroase motive pentru ca bazele de date NoSQL să câștige popularitate. Sistemul folosește o abordare diferită a stocării datelor, care este mai eficientă atunci când se ocupă cu un volum mare de date.
Bazele de date NoSQL sunt folosite de o serie de companii binecunoscute, inclusiv Amazon, Netflix, Microsoft, Snapchat și Dropbox. Alegerea unei baze de date NoSQL a fost una dintre cele mai bune decizii pe care le-au luat vreodată, deoarece aplicațiile lor gestionează o mulțime de date.
Ca rezultat, bazele de date NoSQL oferă o flexibilitate mai mare în modul în care companiile pot stoca datele. Ca rezultat, există o organizare mai bună și acces la date. Mai mult, bazele de date NoSQL au avantajul de a fi mai rapide în ceea ce privește procesarea unor cantități mari de date.
Este perfect logic pentru companiile care trebuie să stocheze o cantitate mare de date să ia în considerare bazele de date NoSQL. Ca rezultat al abordării lor unice a procesării datelor, aceștia sunt capabili să manipuleze datele la o viteză mai mare și mai eficient.


Twitter folosește baza de date grafice

Credit imagine: metricool.com

Twitter păstrează în MySql date primare, cum ar fi grafice de interese, cronologie și date despre utilizatori. Twitter are sute de scheme și mii de noduri care servesc milioane de interogări pe secundă în cel mai mare cluster al său. Un serviciu flockdb este utilizat în calculul grafic.

Sunt discutate utilizarea bazelor de date cu grafice , aplicarea acesteia la datele COVID-19 și limbajul ales pentru grafice. În urma conversației, puteți citi opiniile lor aici. Participați astăzi la chat-ul nostru de tweet de la ora 13:00 EST, intitulat The State of Graph Databases in 2020. Vom prezenta câteva întrebări care vor fi folosite pentru a facilita discuția. Bazele de date grafice s-au dovedit a fi foarte utile în trecut. Datorită capacității sale de a conecta date, de a gestiona cantități masive de date și de a performa admirabil, este cerut de toate organizațiile cu minte analitică. Ele se disting prin faptul că pot fi folosite pentru a conecta date din mai multe surse, mai degrabă decât baze de date.

Utilizatorii pot folosi acum aceste grafice pentru a beneficia de funcții specifice care se găsesc într-o bază de date de grafice în timpul analizei datelor. Mulți utilizatori noi pot fi introduși în #knowledgegraph ca prim caz de utilizare, deoarece multe companii necesită #analitică dintr-o gamă largă de surse de date structurate și nestructurate. Când vine vorba de #NLP și de combinarea rezultatelor sale cu diverse surse, #graphdb este cea mai bună soluție. COVID-19 va fi discutat mai aprofundat în GraphDB Q2. # GraphDB ar putea vedea o mulțime de utilizare în Q2 ca soluție de urmărire a contactelor. Ca urmare, datele sunt nedreapte pentru organizațiile mari, deoarece informațiile pot fi găsite, accesibile, interoperabile și reutilizabile. RDF* este un grafic de proprietate.

Nu există nicio îndoială că există confuzie. Federația este un subiect interesant în acest moment. Aceste date trebuie să fie ingerate în fișierul #graphdbs. Dacă îl modelați corect, nu trebuie neapărat să utilizați RDF*. Utilizarea științei datelor grafice pentru a conecta și a corela seturi de date disparate este o modalitate excelentă de a face acest lucru. Nu există nicio diferență semnificativă între RDF* și GPL astăzi. Furnizorii compatibile cu RDF acceptă de obicei proprietăți etichetate, permițând algorilor grafici și altor funcții analitice să fie complet invizibile de RDF-urile anterioare.

Ar trebui să folosesc rdf sau sparcl între PC și aplicațiile mobile? De fapt, nu este știință rachetă să genereze proprietăți din RDF, dar ML ar putea genera triple din proprietățile din DBMS-ul grafic #GraphDB @stevesarfield. Când te uiți la o ontologie, o modelezi și te urmărește până în pat. Mai mult, editorii noștri au început să interacționeze cu piața GraphDB. Scopul nostru este să alcătuim o listă cuprinzătoare cu cele mai bune produse disponibile consumatorilor. Un knowledgegraph poate fi creat cu GraphDB combinând date structurate și nestructurate, permițându-i să fie folosit ca instrument de analiză. Mulți utilizatori vor găsi că acesta este începutul călătoriei lor către bazele de date grafice în viitor.

Pentru o lungă perioadă de timp, FOSS a fost sursa de bază pentru proiectele open source, dar este posibil să iasă din nou în prim-plan în viitor. # GraphDB poate fi cea mai bună modalitate de a organiza toate componentele disparate într-un ecosistem #IoT pe măsură ce se maturizează în organizații și ecosisteme. Firmele de carduri de credit folosesc GraphDB pentru a detecta tipare de activitate suspecte. Când trebuie să combinați scheme imperfecte cu alte surse imperfecte, folosirea #GraphDB poate fi o opțiune bună. Rămâneți în legătură unul cu celălalt și rămâneți, de asemenea, sănătoși. Soluția de bază de date GOLAP de la Cambridge Semantics, AnzoGraphDB, oferă context și semnificație la o scară masivă într-o bază de date cu grafice MPP (Masively Parallel Processing) din memorie. O interogare de traversare a graficului poate fi scalată pentru a satisface cerințele de depozitare și analiză de date complexe și, de asemenea, poate gestiona zone mari de agregare a datelor. Încercați AnzoGraphDB gratuit pentru a vedea dacă vă poate ajuta să vă gestionați mai bine colecția vastă de date.

Cum giganții rețelelor sociale folosesc bazele de date grafice pentru a-și îmbunătăți platformele

MySQL, un sistem de gestionare a bazelor de date, a fost folosit inițial pentru stocarea datelor Twitter. Am trecut de la o instanță de bază de date mică la o instanță de bază de date mare și apoi de la o instanță de bază de date mare la alta. Baza de date Twitter a fost folosită pentru a stoca toate informațiile despre utilizatori, permițându-i să devină una dintre cele mai puternice companii de social media . Compania și-a putut îmbunătăți platforma analizând comportamentul utilizatorilor și urmărind progresul acestora. Motorul de căutare Instagram a fost alimentat inițial de Elasticsearch, un motor de căutare social-conștient de grafice construit de Facebook, dar a fost înlocuit în cele din urmă de Unicorn. Pe lângă utilizarea unei baze de date grafice pentru a urmări modul în care utilizatorii interacționează, Instagram o folosește pentru a urmări modul în care utilizatorii sunt relaționați. Instagram își poate îmbunătăți experiența utilizatorului și poate oferi conținut mai relevant prin analiza datelor din rețelele sociale. Bazele de date grafice și analizele sunt utilizate de Facebook, Instagram și Twitter pentru a obține o mai bună înțelegere a modului în care utilizatorii lor interacționează între ei și pentru a construi platforme mai bune.