Büyük Veri ve NoSQL Uygulamaları
NoSQL Ne Oluyor?
Büyüyen İnternet verisi geleneksel RDBMS’te performanslı işlenemiyor
NoSQL: RDBMS alternatifi (?) yatay olarak ölçeklenebilen sistemlerin halk arasındaki genel ismi
RDBMS’de kullanılan SQL dili kullanılmadığı için "NoSQL" deniyor.
Verinin Büyüğü Nasıl Oluyor?
Verinin büyüklüğü görece bir kavram
10larca TB → PB’lara doğru
Veriyi silmek, saklamaktan daha pahalı
Veri değerli, donanım ucuz
Donanım burada, ya yazılım nerede?
Nedir Bu Veriler?
Yazılımı kullanan çok sayıda kişinin her türlü davranış kaydı ve istatistikleri
Sensörlerin topladıkları ortam verileri
Sunucu / uygulama logları
Verilerin sonsuz sayıda revizyonu
Finansal veriler ve hareketleri
Otomobil sürüş istatistikleri
…
Veriler Akıyor
Veri o kadar hızlı üretiliyor ki gerçek zamanlı işlenemiyor
Ham hali ile doğru kaydetmek en önemli hedef
Kesintiye tahammül yok (çok sayıda veri kaybı!)
Veriler daha sonra ayrıca işleniyor
Veri Büyüyünce
Tek bir sunucunun donanımı yetmeyecek
Sürekli donanım eklemek gerekecek
Veri saklayan sunucular nasıl ölçeklenecek?
Veri nasıl bulunacak?
Veri nasıl yedeklenecek?
Yedekten ne kadar zamanda dönülebilecek?
Ya felaket durumunda?
Büyük Veri Çözümleri
Doküman: MongoDB, Couchbase
Anahtar/Değer: Couchbase, Redis, Riak
Tüm Metin Arama: ElasticSearch, Solr
Map/Reduce Arama: Hadoop
Graph: Neo4J, Virtuoso
Kolon: Cassandra, HBase
Memory-grid: Redis, Hazelcast, InfiniSpan
…
Redis
Redis’in Özellikleri
RedisLabs tarafından 2009’dan beri geliştiriliyor.
Veritabanı, önbellek katmanı ve MQ (mesaj kuyruğu) olarak kullanılıyor.
Tamamen bellekte çalışan bir veri yapısı ambarı.
İstenen aralıklarla veriler kalıcı hale getirilebiliyor.
String, hash, liste, dizi bitmap, coğrafik indeks ve daha nicelerini saklayabiliyor + işleyebiliyor.
Şemasız tasarım
Replikasyon, yüksek erişebilirlik ve veri parçalama ile ölçekleme
Otomatik failover
En az kullanılan verilerin otomatik boşaltılması
Verilere kullanım ömrü verilebilmesi
Redis’i Kim Kullanıyor?
Twitter
Pinterest
Flickr
Instagram
Alibaba
Vine
Kickstarter
…
MongoDB
MongoDB’nin Özellikleri
MongoDB firması tarafından 2007’den beri geliştiriliyor
Doküman temelli
Dinamik şemalı
Replikasyon ve yüksek erişilebilirlik
Otomatik failover
Otomatik shardlama ve çoğaltma ile yatay genişleme
JSON ile sorgulama
Map/Reduce
Dosya sistemi olarak kullanabilme (GridFS)
MongoDB Üniversitesi ve Sertifikasyonu
MongoDB’yi Kim Kullanıyor?
Cisco
Facebook
Yandex
EA Games: FIFA
Linked.in
Craigslist
Adobe
eBay
Verizon
FourSquare
…
Couchbase
Couchbase’in Özellikleri
2009’da ilk sürümü yayınlandı. Couchbase firması tarafından geliştiriliyor.
Couchdb: Doküman ya da anahtar/değer veritabanı
Membase: Memcached ile %100 uyumlu bir nesne önbelleği
Veriyi değiştirmeden yeni sorgular ve indeksler oluşturma
Hadoop dünyası ile entegrasyon
SQL entegrasyonu ve göçü
Couchbase Lite ile gömülü veritabanı (mobil, IoT ve diğerleri)
Couchbase Sync Gateway ile Couchbase Lite - Couchbase Server arası senkronizasyon
Couchbase’i Kim Kullanıyor?
Vodafone
Adidas
Intel
Blizzard
PayPal
BMW
…
Hadoop
Hadoop’un Özellikleri
2005’ten beri geliştiriliyor. Apache Software Foundation 2010’da devraldı.
HortonWorks ve Cloudera firmaları dünya çapında yaygın servis hizmeti sunuyor.
Dağıtık depolama ve işleme framework’ü.
HDFS: Kendi kendini tamir eden, dağıtık bir dosya sistemi. 100 PB’ın üzerinde sistemler mevcut.
Map/Reduce: HDFS’te, farklı sunucularda saklanan verilerin işlenmesi.
YARN: Hadoop kümesinin kaynak yönetimi ve kullanımı.
Hadoop üzerine ya da beraber kullanılabilen birçok araç: Hive, Pig, HBase, Mahout, …
Hadoop’u Kim Kullanıyor?
Yahoo!
Facebook
IBM
ImageShack
Last.fm
Linked.in
Spotify
En zengin 50 firmanın (Fortune 50) yarısından fazlası
…
Riak
Riak’in Özellikleri
Basho tarafından 2009’dan beri geliştiriliyor.
Dağıtık anahtar/değer veritabanı.
Replikasyon, yüksek erişebilirlik ve otomatik veri dağıtımı
Farklı veri depolama motorları desteği
Verilerin bellekte, diskte ya da ikisinde birden saklanabilmesi
Riak KV: Anahtar değer verilerinin saklanması için.
Riak S2: Büyük boyutta dosyaları saklamak için.
Riak TS: Zaman içinde karşılaştırılacak veriler için (IoT, Finans/Ekonomi, Bilimsel).
Riak’i Kim Kullanıyor?
AT-T
Comcast
Best Buy
Xing
Symantec
…
ElasticSearch
ElasticSearch’ün Özellikleri
Elastic firması tarafından 2010’dan beri geliştiriliyor.
Dağıtık arama ve analiz servisi
Otomatik shardlama ve çoğaltma ile yatay ölçekleme
Yüksek erişebilirlik
Tam metin araması
Doküman temelli
Tüm alanlar öntanımlı indeksleniyor
Şemasız JSON dokümanları
RESTful API
Apache Lucene temelli
ElasticSearch’ü Kim Kullanıyor?
Wikimedia
Github
Mozilla
StackOverFlow
Netflix
StumbleUpon
ING Bank
Microsoft
Uber
…
Solr
Solr’ın Özellikleri
2004’ten beri geliştiriliyor. 2006’da Apache Software Foundation devraldı.
Dağıtık arama ve analiz servisi
Zookeeper ile yatay ölçekleme
Yüksek erişilebilirlik
Tam metin araması
Genişlemeye açık eklenti mimarisi
Tüm alanlar öntanımlı indeksleniyor
İsteğe göre şemalı ya da şemasız kullanım
UIMA ile doğal dil araması
RESTful API
Apache Lucene temelli
Solr’ı Kim Kullanıyor?
NASA
Disney
Ticketmaster
Apple
Reddit
…
Nasıl Seçmeli?
Kurum kültürü
Mevcut bilgi birikimi
Eldeki araçlarla uyumluluk
İhtiyaç için hazır çözümü olup olmadığı
Kullanılacak işlevler için verimlilik ve performans
Destek alacak firma
Nasıl Seçmemeli?
İnternet’te okuduğunuz her şeye inanmayın: Bilgiler güncel olmayabilir, görüşler yanlı olabilir.
Tek bir kişi/firmanın yönlendirmesiyle hareket etmeyin.
Beğendiğiniz bir kurumun kullanması, size uygun olduğu anlamına gelmez.
Evladiyelik olsun
Büyüyünce de giyerim
En pahalısı en iyisi
En yenisi en iyisi
Sorular
?