Riak ve RiakCS

27
Riak & RiakCS 6 Nisan 2013 Linux ve Özgür Yazılım Günleri, Bilgi Üniversitesi Gökhan Boranalp [email protected]

description

Riak ve RiakCS hakkinda ozet bilgi icerir. Baslamadan once Nosql Veritabanlari sunumumu okumanizi siddetle tavsiye ederim.

Transcript of Riak ve RiakCS

Page 1: Riak ve RiakCS

Riak &

RiakCS

6 Nisan 2013Linux ve Özgür Yazılım Günleri, Bilgi ÜniversitesiGökhan [email protected]

Page 2: Riak ve RiakCS

Riak?

●Özet geç...●NoSQL veritabanı seçmek●Sıkıntılar?●Dağıtık bir sistemden ne istiyoruz?

Page 3: Riak ve RiakCS

Meşhur Dynamo teoreminden ilhamla yaratılmış bir K/V veritabanıdır.● full text search, mapreduce, secondary indices, link traversal, commit hooks, HTTP ve binary interfaces, pluggable backends●Erlang ve C/C++ ile yazılmıştır, Apache 2 lisansına sahiptir.●Enterprise yetenekler (multi-datacenter replication, snmp monitoring)

Özet Geç

Page 4: Riak ve RiakCS

NoSQL veritabanı seçmek

●Eğer projeniz küçük ölçekli ise hepsi uyar.●NoSQL VTler, yeni kullanım sorunlarına cevap verirler ancak RDBMS gibi geleneksel yapıların yeteneklerinin yerine, yenilerini nasıl koyacağınıza çalışmak gerekir.●Yazacağınız sistemi bilmek ZORUNDASINIZ!●A lot of NoSQL marketing is bullshit

Page 5: Riak ve RiakCS

Riak'ı Seçerken

●MongoDB'yi Riak ile, CouchDB'yi Cassandra ile karşılaştırmak üzere deneyler yapıyorsanız sorununuzu hiç ANLAMAMIŞSINIZ demektir.

●Riak'ı seçmekle;● Failure durumunda 'Consistency for availability'

seçeneğini ● Zengin veri sorgulama teknikleri yerine daha basit ve

ölçeklenebilir yöntemi● Dinazorlaşmış teknikler yerine, yenilikçi bir yöntemitercih etmiş olursunuz.

Page 6: Riak ve RiakCS

Dağıtık Bir Sistemden Ne Bekliyoruz?

●High Available●Low Latency●Scalable

●Fault Tolerant●Ops-Friendly●Predictable

Page 7: Riak ve RiakCS

Gerçek Hayat Örnekleri

Page 8: Riak ve RiakCS

xfnityTV mobile uygulaması için kullanıcı profli depolamaİçerik sağlayıcılardan gelen Metadata ve lisans bilgisinin depolanmasıKesin 'latency' gereksinimi

User/Metadata Comcast

Page 9: Riak ve RiakCS

Notifcation ServiceYammer

Page 10: Riak ve RiakCS

İlk Basho Müşterisi (2009 sonu)Mochi web her bir talep = 1 read, aynı anda duruma göre bir write

Unavailability, yüksek gecikme oranları = kaybedilen reklam gelirleri

Session StoreMochi Media

Page 11: Riak ve RiakCS

Github Pages için Web server olarak Riak Webmachine HTTP serverGit.io URL shortener

Document StoreGithub Pages / Git.io

Page 12: Riak ve RiakCS

Walkie Talkie Voxer

Page 13: Riak ve RiakCS

11 Riak Nodes ~500GB dataset ~20k peak concurrent kulllanıcı~4MM günlük request

Voxer - İstatistik Bilgi

Ve bir anda değişen ihtiyaçlar!!!!!

Page 14: Riak ve RiakCS
Page 15: Riak ve RiakCS

> 100 nodes ~1TB günlük gelen veri> 200k concurrent kullanıcı> 2 milyar günlük requestAralık-Ocak ayları arasında 11 node birden 80 node daha büyüdü!!!

Voxer - Son durum

Page 16: Riak ve RiakCS

Dağıtık Bir Sistemden Ne Bekliyoruz?

●High Available●Low Latency●Scalable

●Fault Tolerant●Ops-Friendly●Predictable

Page 17: Riak ve RiakCS

Read/Write esnasında başarısızlığın sonuçları:Gelir kaybıKullanıcı kaybı

Availability ve latency kavramları birbiri içine geçmiş kavramlardır

High Availability

Page 18: Riak ve RiakCS

●Bazı hallerde, gecikmiş bir cevabın en küçük bir değeri yoktur. ●Kullanıcı yavaş sitelerin çalışmadığını düşünür●SLA gereksinimleri yerine getirilemez●SOA için gereken SLA yerine getirilemez

Low Latency

Page 19: Riak ve RiakCS

Gecikme nelere malolur?

Kullanıcı olayı nasıl görüyor?

Page 20: Riak ve RiakCS

●Her şey fail olabilir● Özellikle cloud içinde!

●Host/disk/network sorunu ortaya çıkarsa nelere etki eder;

● Availability sorunu oluşur● Latency oluşur● Operasyon ekibini etkiler

Fault Tolerance

Page 21: Riak ve RiakCS

Bu muhabbetler tanıdık geliyor mu?

●“bad shard key seçmişiz...” ●“master node gene patladı” ●“failover script yazdığımız gibi çalışmadı...” ●“meğerse konfigürasyon hatası varmış...”

Bütün gece oturup DB ayağa kaldırmak, sizi KAHRAMAN YAPMAZ.

Operasyonel Maliyet

Page 22: Riak ve RiakCS
Page 23: Riak ve RiakCS
Page 24: Riak ve RiakCS
Page 25: Riak ve RiakCS

Sorular

Page 26: Riak ve RiakCS

Kaynakça

Bashohttp://www.basho.comhttp://docs.basho.com/

NoSQL Veritabanlarıhttp://www.slideshare.net/kunthar

Scaling to Millions of Simultaneous Connectionshttp://www.confreaks.com/videos/2051-erlangfactorysf2012-scaling-to-millions-of-simultaneous-connectionshttp://download.analysis3.com/Scaling-to-Millions-of-Simultaneous-Connections---Erlang-Factory-download-w7839.pdf

http://en.wikipedia.org/wiki/CAP_theorem