infolightbulb_outlinenew_releasesreportwarning

Büyük Veri ve NoSQL Uygulamaları

Doruk Fişek

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

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

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

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

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

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

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

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.

Şunları demeyin:
  • Evladiyelik olsun

  • Büyüyünce de giyerim

  • En pahalısı en iyisi

  • En yenisi en iyisi

Sorular

  • ?