SlideShare a Scribd company logo
1 of 27
Download to read offline
Riak
&
RiakCS
6 Nisan 2013
Linux ve Özgür Yazılım Günleri, Bilgi Üniversitesi
Gökhan Boranalp
gokhan@zetaops.com
Riak?
●Özet geç...
●NoSQL veritabanı seçmek
●Sıkıntılar?
●Dağıtık bir sistemden ne istiyoruz?
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ç
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
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öntemi
tercih etmiş olursunuz.
Dağıtık Bir Sistemden Ne Bekliyoruz?
●High Available
●Low Latency
●Scalable
●Fault Tolerant
●Ops-Friendly
●Predictable
Gerçek Hayat Örnekleri
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
Notifcation Service
Yammer
İ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 Store
Mochi Media
Github Pages için Web server olarak Riak
Webmachine HTTP server
Git.io URL shortener
Document Store
Github Pages / Git.io
Walkie Talkie
Voxer
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!!!!!
> 100 nodes
~1TB günlük gelen veri
> 200k concurrent kullanıcı
> 2 milyar günlük request
Aralık-Ocak ayları arasında 11 node birden
80 node daha büyüdü!!!
Voxer - Son durum
Dağıtık Bir Sistemden Ne Bekliyoruz?
●High Available
●Low Latency
●Scalable
●Fault Tolerant
●Ops-Friendly
●Predictable
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
●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
Gecikme nelere malolur?
Kullanıcı olayı nasıl görüyor?
●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
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
Sorular
Kaynakça
Basho
http://www.basho.com
http://docs.basho.com/
NoSQL Veritabanları
http://www.slideshare.net/kunthar
Scaling to Millions of Simultaneous Connections
http://www.confreaks.com/videos/2051-erlangfactorysf2012-scaling-to-millions-of-simultaneous-connections
http://download.analysis3.com/Scaling-to-Millions-of-Simultaneous-Connections---Erlang-Factory-download-w7839.pdf
http://en.wikipedia.org/wiki/CAP_theorem
gokhan@zetaops.com

More Related Content

Similar to Riak ve RiakCS

Mongodb Ödev- İnternet programcılığı- IP2-Vize 2
Mongodb Ödev- İnternet programcılığı- IP2-Vize 2Mongodb Ödev- İnternet programcılığı- IP2-Vize 2
Mongodb Ödev- İnternet programcılığı- IP2-Vize 2gulindasdan
 
Serverless ile istegelsin
Serverless ile istegelsin Serverless ile istegelsin
Serverless ile istegelsin Ceri Tandogan
 
Istanbul Datascience Academy Talks
Istanbul Datascience Academy TalksIstanbul Datascience Academy Talks
Istanbul Datascience Academy TalksMetin Uslu
 
Apache Kafka - Yüksek Performanslı Dağıtık Mesajlaşma Sistemi - Türkçe
Apache Kafka - Yüksek Performanslı Dağıtık Mesajlaşma Sistemi - TürkçeApache Kafka - Yüksek Performanslı Dağıtık Mesajlaşma Sistemi - Türkçe
Apache Kafka - Yüksek Performanslı Dağıtık Mesajlaşma Sistemi - TürkçeEmre Akış
 
Berkeley Data Analytics Stack Genel Bakış
Berkeley Data Analytics Stack Genel Bakış Berkeley Data Analytics Stack Genel Bakış
Berkeley Data Analytics Stack Genel Bakış Veysel Taşcıoğlu
 
Berkeley Data Analytics Stack Genel Bakış
Berkeley Data Analytics Stack Genel BakışBerkeley Data Analytics Stack Genel Bakış
Berkeley Data Analytics Stack Genel Bakıştechbase
 
Hyper-V v2.0 ve SCVMM 2008 R2
Hyper-V v2.0 ve SCVMM 2008 R2 Hyper-V v2.0 ve SCVMM 2008 R2
Hyper-V v2.0 ve SCVMM 2008 R2 Mustafa
 
Docker - Ankara Cloud Meetup
Docker - Ankara Cloud Meetup Docker - Ankara Cloud Meetup
Docker - Ankara Cloud Meetup Mustafa AKIN
 
Ankara Spark Meetup - Big Data & Apache Spark Mimarisi Sunumu
Ankara Spark Meetup - Big Data & Apache Spark Mimarisi SunumuAnkara Spark Meetup - Big Data & Apache Spark Mimarisi Sunumu
Ankara Spark Meetup - Big Data & Apache Spark Mimarisi SunumuSerkan Sakınmaz
 
Sunucularımızı Gözleyelim
Sunucularımızı GözleyelimSunucularımızı Gözleyelim
Sunucularımızı GözleyelimOguz Yarimtepe
 
veri tabanları . sql vs nosql
veri tabanları . sql vs nosqlveri tabanları . sql vs nosql
veri tabanları . sql vs nosqlOrçun Çolak
 
Gartner Tr2009 Istanbul May27 Qvbi Tech Summary
Gartner Tr2009 Istanbul May27 Qvbi Tech SummaryGartner Tr2009 Istanbul May27 Qvbi Tech Summary
Gartner Tr2009 Istanbul May27 Qvbi Tech SummaryMUZAFFER YONTEM
 

Similar to Riak ve RiakCS (20)

Sukru_TRSUG2016
Sukru_TRSUG2016Sukru_TRSUG2016
Sukru_TRSUG2016
 
Mongodb Ödev- İnternet programcılığı- IP2-Vize 2
Mongodb Ödev- İnternet programcılığı- IP2-Vize 2Mongodb Ödev- İnternet programcılığı- IP2-Vize 2
Mongodb Ödev- İnternet programcılığı- IP2-Vize 2
 
Nosql & MongoDB
Nosql & MongoDBNosql & MongoDB
Nosql & MongoDB
 
Serverless ile istegelsin
Serverless ile istegelsin Serverless ile istegelsin
Serverless ile istegelsin
 
MongoDB ve C# Driver'ı
MongoDB ve C# Driver'ıMongoDB ve C# Driver'ı
MongoDB ve C# Driver'ı
 
Istanbul Datascience Academy Talks
Istanbul Datascience Academy TalksIstanbul Datascience Academy Talks
Istanbul Datascience Academy Talks
 
Apache Kafka - Yüksek Performanslı Dağıtık Mesajlaşma Sistemi - Türkçe
Apache Kafka - Yüksek Performanslı Dağıtık Mesajlaşma Sistemi - TürkçeApache Kafka - Yüksek Performanslı Dağıtık Mesajlaşma Sistemi - Türkçe
Apache Kafka - Yüksek Performanslı Dağıtık Mesajlaşma Sistemi - Türkçe
 
Mongo sunum
Mongo sunumMongo sunum
Mongo sunum
 
Web Programlama
Web ProgramlamaWeb Programlama
Web Programlama
 
Berkeley Data Analytics Stack Genel Bakış
Berkeley Data Analytics Stack Genel Bakış Berkeley Data Analytics Stack Genel Bakış
Berkeley Data Analytics Stack Genel Bakış
 
Berkeley Data Analytics Stack Genel Bakış
Berkeley Data Analytics Stack Genel BakışBerkeley Data Analytics Stack Genel Bakış
Berkeley Data Analytics Stack Genel Bakış
 
Hyper-V v2.0 ve SCVMM 2008 R2
Hyper-V v2.0 ve SCVMM 2008 R2 Hyper-V v2.0 ve SCVMM 2008 R2
Hyper-V v2.0 ve SCVMM 2008 R2
 
Docker - Ankara Cloud Meetup
Docker - Ankara Cloud Meetup Docker - Ankara Cloud Meetup
Docker - Ankara Cloud Meetup
 
Ankara Spark Meetup - Big Data & Apache Spark Mimarisi Sunumu
Ankara Spark Meetup - Big Data & Apache Spark Mimarisi SunumuAnkara Spark Meetup - Big Data & Apache Spark Mimarisi Sunumu
Ankara Spark Meetup - Big Data & Apache Spark Mimarisi Sunumu
 
Sunucularımızı Gözleyelim
Sunucularımızı GözleyelimSunucularımızı Gözleyelim
Sunucularımızı Gözleyelim
 
Modern Frontend
Modern FrontendModern Frontend
Modern Frontend
 
MongoDB Overview
MongoDB OverviewMongoDB Overview
MongoDB Overview
 
veri tabanları . sql vs nosql
veri tabanları . sql vs nosqlveri tabanları . sql vs nosql
veri tabanları . sql vs nosql
 
12factor apps
12factor apps12factor apps
12factor apps
 
Gartner Tr2009 Istanbul May27 Qvbi Tech Summary
Gartner Tr2009 Istanbul May27 Qvbi Tech SummaryGartner Tr2009 Istanbul May27 Qvbi Tech Summary
Gartner Tr2009 Istanbul May27 Qvbi Tech Summary
 

More from Gokhan Boranalp

Zetaops ZOPS presentation
Zetaops ZOPS presentationZetaops ZOPS presentation
Zetaops ZOPS presentationGokhan Boranalp
 
Google Cloud Platform Kubernetes Workshop IYTE
Google Cloud Platform Kubernetes Workshop IYTEGoogle Cloud Platform Kubernetes Workshop IYTE
Google Cloud Platform Kubernetes Workshop IYTEGokhan Boranalp
 
ZCloud Consensus on Hardware for Distributed Systems
ZCloud Consensus on Hardware for Distributed SystemsZCloud Consensus on Hardware for Distributed Systems
ZCloud Consensus on Hardware for Distributed SystemsGokhan Boranalp
 
Zops intelligent platform
Zops intelligent platformZops intelligent platform
Zops intelligent platformGokhan Boranalp
 
Kak depolama stratejiniz nasıl olmalı?
Kak depolama stratejiniz nasıl olmalı?Kak depolama stratejiniz nasıl olmalı?
Kak depolama stratejiniz nasıl olmalı?Gokhan Boranalp
 
Scrum ve Redmine ile yazılım projesi yönetimi
Scrum ve Redmine ile yazılım projesi yönetimiScrum ve Redmine ile yazılım projesi yönetimi
Scrum ve Redmine ile yazılım projesi yönetimiGokhan Boranalp
 

More from Gokhan Boranalp (9)

Zkernel
ZkernelZkernel
Zkernel
 
Zetaops ZOPS presentation
Zetaops ZOPS presentationZetaops ZOPS presentation
Zetaops ZOPS presentation
 
Gdg izmir kubernetes
Gdg izmir kubernetesGdg izmir kubernetes
Gdg izmir kubernetes
 
Google Cloud Platform Kubernetes Workshop IYTE
Google Cloud Platform Kubernetes Workshop IYTEGoogle Cloud Platform Kubernetes Workshop IYTE
Google Cloud Platform Kubernetes Workshop IYTE
 
ZCloud Consensus on Hardware for Distributed Systems
ZCloud Consensus on Hardware for Distributed SystemsZCloud Consensus on Hardware for Distributed Systems
ZCloud Consensus on Hardware for Distributed Systems
 
Zops intelligent platform
Zops intelligent platformZops intelligent platform
Zops intelligent platform
 
Kak depolama stratejiniz nasıl olmalı?
Kak depolama stratejiniz nasıl olmalı?Kak depolama stratejiniz nasıl olmalı?
Kak depolama stratejiniz nasıl olmalı?
 
Git 101
Git 101Git 101
Git 101
 
Scrum ve Redmine ile yazılım projesi yönetimi
Scrum ve Redmine ile yazılım projesi yönetimiScrum ve Redmine ile yazılım projesi yönetimi
Scrum ve Redmine ile yazılım projesi yönetimi
 

Riak ve RiakCS

  • 1. Riak & RiakCS 6 Nisan 2013 Linux ve Özgür Yazılım Günleri, Bilgi Üniversitesi Gökhan Boranalp gokhan@zetaops.com
  • 2. Riak? ●Özet geç... ●NoSQL veritabanı seçmek ●Sıkıntılar? ●Dağıtık bir sistemden ne istiyoruz?
  • 3. 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ç
  • 4. 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
  • 5. 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öntemi tercih etmiş olursunuz.
  • 6. Dağıtık Bir Sistemden Ne Bekliyoruz? ●High Available ●Low Latency ●Scalable ●Fault Tolerant ●Ops-Friendly ●Predictable
  • 8. 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
  • 10. İ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 Store Mochi Media
  • 11. Github Pages için Web server olarak Riak Webmachine HTTP server Git.io URL shortener Document Store Github Pages / Git.io
  • 13. 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!!!!!
  • 14.
  • 15. > 100 nodes ~1TB günlük gelen veri > 200k concurrent kullanıcı > 2 milyar günlük request Aralık-Ocak ayları arasında 11 node birden 80 node daha büyüdü!!! Voxer - Son durum
  • 16. Dağıtık Bir Sistemden Ne Bekliyoruz? ●High Available ●Low Latency ●Scalable ●Fault Tolerant ●Ops-Friendly ●Predictable
  • 17. 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
  • 18. ●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
  • 19. Gecikme nelere malolur? Kullanıcı olayı nasıl görüyor?
  • 20. ●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
  • 21. 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
  • 22.
  • 23.
  • 24.
  • 26. Kaynakça Basho http://www.basho.com http://docs.basho.com/ NoSQL Veritabanları http://www.slideshare.net/kunthar Scaling to Millions of Simultaneous Connections http://www.confreaks.com/videos/2051-erlangfactorysf2012-scaling-to-millions-of-simultaneous-connections http://download.analysis3.com/Scaling-to-Millions-of-Simultaneous-Connections---Erlang-Factory-download-w7839.pdf http://en.wikipedia.org/wiki/CAP_theorem