Twitter, Sosyal Medya Platformunu Güçlendirmek İçin Apache Cassandra'yı Nasıl Kullanıyor?

Yayınlanan: 2022-11-17

Twitter, kullanıcıların "tweet" adı verilen kısa mesajlar göndermesine ve okumasına izin veren bir sosyal ağ platformudur. 2006'dan beri var ve o zamandan beri en popüler sosyal medya platformlarından biri haline geldi. Twitter, altyapısının belirli bölümleri için bazı ilişkisel veritabanı yönetim sistemlerini (RDBMS) kullanırken, öncelikle Apache Cassandra adlı bir NoSQL veritabanı kullanır. Cassandra, yüksek kullanılabilirlik ve performansla büyük miktarda veriyi işlemek için tasarlanmıştır. Twitter, birkaç nedenden dolayı Cassandra'yı kullanıyor. İlk olarak, çok ölçeklenebilir. Twitter, kullanıcı tabanı büyüdükçe kolayca daha fazla Cassandra düğümü ekleyebilir. İkincisi, Cassandra oldukça erişilebilir. Bir Cassandra düğümü çökse bile, diğerleri boşluğu alabilir. Son olarak, Cassandra hızlı. Bu, kullanıcıların gerçek zamanlı güncellemeler beklediği bir sosyal medya platformu için önemlidir. Dolayısıyla, Twitter bazı ilişkisel veritabanlarını kullansa da birincil veritabanı NoSQL'dir. Bu, Twitter'ın hızla ölçeklenmesini ve kullanıcılarına hızlı, güvenilir bir deneyim sunmasını sağlar.

Twitter'ın ürün geliştirme direktörü Kevin Weil, bu yılın başlarında yayınlanan bir videoda şirketin NoSQL'i nasıl kullandığına dair bir açıklama sunuyor. Twitter kullanıcıları her gün yaklaşık 12 petabayt veri üretir, bu da yılda yaklaşık 4 petabayta eşittir. Hadoop, FlockDB adlı kendi açık kaynak projesiyle birlikte sosyal verileri analiz etmek ve verileri analiz etmek için kullanılıyor. Twitter, ilgili içeriği sağlamak için topladığı tüm bilgileri toplar ve kullanır. Weil'e göre bu SlideShare, Twitter'ın sosyal grafikleri nasıl analiz ettiği hakkında daha fazla bilgi edinmek için harika bir yer. Twitter, Facebook'un açık kaynaklı NoSQL veritabanı olan Cassandra'yı bir hizmet olarak kullanmayı deniyor.

Kalıcılık katmanı çok sayıda kümeye yayıldığı için MySQL, başlangıcından itibaren Twitter'ın birincil veri deposuydu. Twitter, başlangıcından itibaren oldukça büyük bir MySQL dağıtımına sahiptir. İçinde milyonlarca düğüm bulunan binlerce MySQL kümesi vardır ve saniyede sorgular sunulur.

Google Cloud, iki tür NoSQL veritabanı hizmeti sağlar: Belge odaklı bir veritabanı olan Cloud Firestore ve bir veri depolama sistemi olan Cloud Object Storage. Kullanımı basittir ve küçük belgeler için optimize edilerek mobil uygulamalar için idealdir. Kolayca ölçeklenebilen, iyi performans gösteren ve Cloud Datastore'da kullanımı kolay belge veritabanları.

NoSQL teknolojisi, ayda 3 milyondan fazla kullanıcıya hizmet veren dünyanın en işlek havayolu şirketi Ryanair'in mobil uygulamasına güç veriyor. Marriott, son sekiz yıldır, 38 milyar dolar gelir sağlayan rezervasyon sistemini çalıştırmak için NoSQL kullandı. ABD'nin 1 numaralı gazete yayıncısı The Chronicle of Higher Education tarafından kullanılan Presto, tescilli içerik yönetim sistemine ek olarak NoSQL kullanıyor.

PostgreSQL ve Cassandra, Instagram'ın arka uç veritabanı sistemlerinden ikisidir.

Twitter Ne Tür Veritabanı Kullanıyor?

Görsel kaynak: sqlnethub.com

Twitter, tweet'lerini depolamak için ilişkisel bir veritabanı kullanır. Bu veri tabanı, verileri bir dizi tabloda depolamak için tasarlanmıştır ve her tablo, tweet'lerin belirli bir yönü hakkında bilgi içerir. Örneğin, kullanıcı bilgileri için bir tablo, tweet'lerin kendisi için bir tablo ve kullanıcılar arasındaki ilişkiler için bir tablo vardır.

Talebinizin belirli bir sunucuya yönlendirilmesini talep etmek gibi bazı hizmetlerimiz için bu bilgilerin bir kısmına ihtiyacımız olabilir, ancak bu gerekli değildir. İsteğinizi yönlendirmek istiyorsanız, tweet'inizin zaman damgasını bilmenize gerek yoktur.
Buna rağmen veriler depoda kalır ve işlenir. Bilgileri silmeye veya anonimleştirmeye gerek yoktur. Verilerimize hükümet tarafından erişilemez, ancak yine de sizin hakkınızda bilgi toplamak için kullanılabilir.
Bu bilgilerin saklanması ve işlenmesi sonucunda bazı gizlilik endişeleri mevcuttur. Ayrıca hükümetin hareketlerinizi ve faaliyetlerinizi ilk etapta izlemesine olanak tanır. Ayrıca, hükümetin kişisel bilgilerinize izniniz olmadan erişmesine izin verir.
Tweetlerinizin metnini saklamıyoruz. Tuttuğumuz tek şey bu hesabın adı ve zaman damgası. Tweet'lerinizin içeriğini saklamıyoruz.
Tweetleriniz, üzerlerinde saklayabileceğimiz herhangi bir veri ile birlikte gelmez.
Resmi yüklerken yalnızca hesap adını ve zaman damgasını saklarız.

Mysql Kullanmanın Faydaları

Twitter, geçmişte tweet'leri depolamak için MySQL kullanıyordu. MySQL, güvenilirliği ve tutarlı doğası nedeniyle çok sayıda isteği işleyebilir. Facebook, tüm sosyal medya verilerini depolamak için MySQL kullanır.

Facebook Sql mi Nosql mi Kullanıyor?

Görsel kaynak: phoenixnap.com

Veri modelleme esnekliği sağladığından ve FB başladığında MySQL her yerde hazır olduğundan, FB'nin ilk günlerinde kalıcı veritabanı olarak SQL ve "yan görünüm" önbelleği olarak memcache kullanıldı.

Bir Facebook veritabanı, toplam müşterilerinin yaklaşık %23'ünü oluşturan müşterilerinin profillerini saklar. Facebook'un internet ölçeğinde, küresel olarak dağıtılmış mimarisinin temelini oluşturan temel ilkeler, çok kiracılı SaaS dahil olmak üzere çok çeşitli iş açısından kritik kurumsal uygulamalar için geçerlidir ve Facebook'taki veritabanı gelişimini daha iyi anlamaktan öğrenilecek dersler vardır. Popüler açık kaynak veritabanı Mystria'nın parçalanmış bir sürümü üzerine kurulu olan TAO NoSQL Graph API, FB'nin NoSQL API'lerinden biridir. TAO, FB'nin daha eski 1000'ini manuel olarak tuzlanmış MySQL master-slave veritabanlarını binlerce parçalanmış bağımlıya ayırdı. Sonuç olarak, uygulama artık veritabanını parçalar arası işlemler ve parçalar arası JOIN'ler gerçekleştirmek için kullanmaz. Sonuç olarak, bu tür bir yük devretme gerçekleştirilirse, son veriler kaybolacaktır. Tüm nesneler ve ilişkilendirmeler aynı sunucularda önbelleğe alındığından, süresiz olarak aynı parçada saklanabilirler.

Veri kollokasyonu derecesi, gecikmeli veri erişimini en üst düzeye çıkarmak için kullanılan önemli bir optimizasyon tekniği olarak belirlendi. Geliştirici topluluğu, FB'nin onları SQL sorgu API'sinden vazgeçmeye zorlamasının ardından TAO'nun özel NoSQL API'si lehine SQL'i terk etti. Google'ın on yıldan uzun bir süre önce oluşturulan Spanner veritabanı, FB'nin TAO veritabanının bir parçası olarak oluşturuldu. Spanner'ın veri modeli, bir sosyal grafiğin aksine, OLTP için daha çok geleneksel, rastgele erişimli bir iş yüküydü. İkinci nesil dağıtılmış veritabanları, veritabanı katmanının bir parçası olarak büyük ölçeklenebilirlik ve küresel veri dağıtımı üzerine kuruludur. Spanner, hizmetin başarısız olması durumunda her bir parçanın (yalnızca her örneğin değil) yüksek düzeyde kullanılabilir kalmasını sağlamak için parça başına dağıtılmış mutabakat kullanır. Uygulamanın küme yapılandırması değiştirilmiş olmasına rağmen çalışır durumda kalır.

Tablo düzeyinde ve satır düzeyinde coğrafi bölümleme gibi özellikler nedeniyle yerel bölgeye ilişkin veriler listenin üst sıralarında yer almaya devam edecektir. Dağıtılmış bir işlem yöneticisi, 2 Aşamalı Taahhüt sürecini ve ayrıca her düğümdeki saat sapmalarını yönetmek için çok parçalı bir işlemde kullanılır. TAO'yu FB'de maliyet düşürücü bir önlem olarak kullandık ve yatırımımızı parçalanmış MySQL'de tutmamıza izin verdi. Google, yatay ölçeklendirme yetenekleri, kesintisiz coğrafi çoğaltma yetenekleri ve altyapı arızası kolaylığı ile tamamen yeni bir veritabanı olan Spanner ile farklı bir yol izlemeyi seçti.

NoSQL veritabanlarının popülerlik kazanmasının sayısız nedeni vardır. Sistem, büyük hacimli verilerle uğraşırken daha verimli olan farklı bir veri depolama yaklaşımı kullanır.
NoSQL veritabanları, Amazon, Netflix, Microsoft, Snapchat ve Dropbox dahil olmak üzere bir dizi tanınmış işletme tarafından kullanılmaktadır. Bir NoSQL veritabanı seçmek, verdikleri en iyi kararlardan biriydi çünkü uygulamaları çok fazla veriyi işliyor.
Sonuç olarak, NoSQL veritabanları, şirketlerin verileri nasıl depolayabileceği konusunda daha fazla esneklik sağlar. Sonuç olarak, daha iyi organizasyon ve veri erişimi vardır. Ayrıca, NoSQL veritabanları, büyük miktarda verinin işlenmesi açısından daha hızlı olma avantajına sahiptir.
NoSQL veritabanlarını dikkate almak, büyük miktarda veri depolaması gereken işletmeler için son derece mantıklıdır. Veri işleme konusundaki benzersiz yaklaşımlarının bir sonucu olarak, verileri daha yüksek hızda ve daha verimli bir şekilde işleyebilirler.


Twitter Grafik Veritabanını Kullanıyor mu?

Görsel kaynak: metricool.com

Twitter, ilgi alanı grafikleri, zaman çizelgeleri ve kullanıcı verileri gibi birincil verileri MySql'de tutar. Twitter, en büyük kümesinde saniyede milyonlarca sorguya hizmet eden yüzlerce şemaya ve binlerce düğüme sahiptir. Grafik hesaplamada bir flopdb hizmeti kullanılır.

Grafik veritabanlarının kullanımı, COVID-19 verilerine uygulanması ve grafikler için tercih edilen dil tartışılmaktadır. Sohbetin ardından, görüşlerini buradan okuyabilirsiniz. Bugün saat 13:00 EST'de 2020'de Grafik Veritabanlarının Durumu başlıklı tweet sohbetimize katılın. Tartışmayı kolaylaştırmak için kullanılacak birkaç soru sunacağız. Grafik veritabanlarının geçmişte çok yararlı olduğu gösterilmiştir. Verileri birbirine bağlama, büyük miktarda veriyi işleme ve takdire şayan bir performans sergileme yeteneği nedeniyle, analitik düşünceye sahip tüm kuruluşlar tarafından gereklidir. Veritabanları yerine birden çok kaynaktan gelen verileri bağlamak için kullanılabilmeleri gerçeğiyle ayırt edilirler.

Kullanıcılar artık veri analizi sırasında bir grafik veritabanında bulunan belirli işlevlerden yararlanmak için bu grafikleri kullanabilir. Pek çok şirket, çok çeşitli yapılandırılmış ve yapılandırılmamış veri kaynaklarından #analitik talep ettiğinden, birçok yeni kullanıcı ilk kullanım durumu olarak #knowledgegraph ile tanışabilir. #NLP söz konusu olduğunda ve çıktısını çeşitli kaynaklarla birleştirmek söz konusu olduğunda, #graphdb en iyi çözümdür. COVID-19, GraphDB Q2'de daha derinlemesine tartışılacaktır. # GraphDB, ikinci çeyrekte temas izleme çözümü olarak pek çok kullanım görebilir. Sonuç olarak, bilgilerin Bulunabilir, Erişilebilir, Birlikte Çalışabilir ve Yeniden Kullanılabilir olması açısından veriler büyük kuruluşlar için ADİL DEĞİLDİR. RDF* bir özellik grafiğidir.

Hiç şüphe yok ki bir karışıklık var. Federasyon şu anda merak uyandıran bir konu. Bu veriler #graphdbs dosyasına alınmalıdır. Doğru şekilde modellerseniz, mutlaka RDF* kullanmanız gerekmez. Farklı veri kümelerini birbirine bağlamak ve ilişkilendirmek için grafik veri bilimini kullanmak, bunu yapmanın mükemmel bir yoludur. Günümüzde RDF* ile LPG arasında önemli bir fark yoktur. RDF etkin satıcılar genellikle etiketli özellikleri destekleyerek grafik algolarının ve diğer analitik işlevlerin önceki RDF'ler tarafından tamamen görünmez olmasına izin verir.

Bilgisayarım ve mobil uygulamalarım arasında rdf veya sparcl kullanmalı mıyım? Aslında, RDF'den özellik oluşturmak roket bilimi değildir, ancak makine öğrenimi potansiyel olarak #GraphDB @stevesarfield grafik DBMS'deki özelliklerden üçlü üretebilir. Bir ontolojiye baktığınızda onu modelliyorsunuz ve o da sizi yatağa kadar takip ediyor. Ayrıca, editörlerimiz GraphDB'nin pazar yeri ile etkileşime girmeye başlamıştır. Amacımız, tüketicilere sunulan en iyi ürünlerin kapsamlı bir listesini bir araya getirmektir. Yapılandırılmış ve yapılandırılmamış veriler birleştirilerek GraphDB ile bir bilgi grafiği oluşturulabilir ve analitik için bir araç olarak kullanılması sağlanır. Birçok kullanıcı bunu gelecekte veritabanlarının grafiğini çizme yolculuğunun başlangıcı olarak görecektir.

Uzun bir süre boyunca FOSS, açık kaynak projeleri için başvurulacak kaynaktı, ancak gelecekte yeniden gündeme gelebilir. # GraphDB, organizasyonlarda ve ekosistemlerde olgunlaştıkça bir #IoT ekosistemindeki tüm farklı bileşenleri organize etmenin en iyi yolu olabilir. Kredi kartı firmaları, şüpheli faaliyet kalıplarını tespit etmek için GraphDB'yi kullanır. Kusurlu şemaları diğer kusurlu kaynaklarla birleştirmeniz gerektiğinde #GraphDB kullanmak iyi bir seçenek olabilir. Birbirinizle iletişimde kalın ve sağlıklı kalın. Cambridge Semantics'in GOLAP veritabanı çözümü AnzoGraphDB, bellek içi Devasa Paralel İşleme (MPP) grafik veritabanında büyük ölçekte bağlam ve anlam sağlar. Bir grafik geçiş sorgusu, karmaşık veri ambarı ve analitiğin taleplerini karşılamak üzere ölçeklendirilebilir ve aynı zamanda büyük veri toplama alanlarını da işleyebilir. Geniş veri koleksiyonunuzu daha iyi yönetmenize yardımcı olup olmayacağını görmek için AnzoGraphDB'yi ücretsiz deneyin.

Sosyal Medya Devleri Platformlarını Geliştirmek İçin Grafik Veritabanlarını Nasıl Kullanıyor?

Bir veritabanı yönetim sistemi olan MySQL, başlangıçta Twitter verilerini depolamak için kullanılıyordu. Küçük bir veritabanı örneğinden büyük bir veritabanı örneğine ve ardından bir büyük veritabanı örneğinden diğerine geçtik. Twitter'ın veri tabanı, tüm kullanıcı bilgilerini depolamak için kullanıldı ve bu, onun en güçlü sosyal medya şirketlerinden biri olmasını sağladı. Şirket, kullanıcı davranışını analiz ederek ve ilerlemelerini takip ederek platformunu geliştirmeyi başardı. Instagram arama motoru başlangıçta Facebook tarafından oluşturulmuş sosyal grafiğe duyarlı bir arama motoru olan Elasticsearch tarafından destekleniyordu, ancak daha sonra yerini Unicorn aldı. Kullanıcıların nasıl etkileşim kurduğunu izlemek için bir grafik veri tabanı kullanmanın yanı sıra Instagram, bunu kullanıcıların nasıl akraba olduklarını izlemek için kullanır. Instagram, sosyal medya verilerini analiz ederek kullanıcı deneyimini iyileştirebilir ve daha alakalı içerik sağlayabilir. Grafik veritabanları ve analizler, kullanıcılarının birbirleriyle nasıl etkileşim kurduğunu daha iyi anlamak ve daha iyi platformlar oluşturmak için Facebook, Instagram ve Twitter tarafından kullanılır.