16 Ekim 2010 Özgür Web Günleri Yeditepe Üniversitesi. Nosql Veritabanları

Benzer belgeler
Günümüzde Postgres. Modern, Ölçeklenebilir Uygulamalar. Utku Azman Citus Data PGDay citusdata.com

Semantik Ağ ve Üst Veri Sistemleri İçin Yeni Nesil Veri Tabanı Yönetim Modeli: NoSQL. R. Orçun Madran Atılım Üniversitesi.

NoSQL. SQL ve Daha Fazlası (Not Only SQL) Hazırlayan: Ahmet Cevahir ÇINAR

NoSQL. Buğra Çakır. 23 Mart 13 Cumartesi

MongoDB. NoSQL Database

Red Hat Jboss Data Grid: Uygulamalarınıza Süper Güç Katın!

Cloudera Training for Apache HBase

NoSql ve MongoDB. Saygın Topatan

Büyük veriye genel bakış, mimari ve çözümler

PHP+Memory Cache+PostgreSQL Kullanarak Performanslı Veritabanı Uygulaması Geliştirme

Ölçeklenebilir, Yüksek Erişilebilir ve Performanslı Bir Takip ve İzleme Sistemi Mimarisi: Karşılaştırmalı Bir Çalışma

MongoDB ve Diğer Veritabanlarında Sharding

Büyük, Dağıtık, Veri Yoğunluklu Uygulamalarda Programlama Paradigmaları

PostgreSQL ile NoSQL. Gereksinimlerinizi Karşılamak

ORM & Hibernate. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu

Üst Düzey Programlama

15 Ekim 2010 Özgür Web Günleri Yeditepe Üniversitesi. Erlang Web Çatıları

2 SERVER 2012 R2 FAILOVER CLUSTER 13

YBS Ansiklopedi. Büyük Veri, TUB Teoremi, ACID ve BASE Yaklaşımları. (Big Data, CAP Theorem, ACID and BASE Approaches) Şadi Evren ŞEKER. 1.

Her Yönüyle SQL Enjeksiyonu. OWASP-Türkiye Bünyamin Demir

1 Milyon Kullanıcıya Nasıl Hizmet Veriyoruz? CloudLMS Teknik Alt Yapı ve Mimarimiz

İÇİNDEKİLER. YAZARLAR HAKKINDA... v. RESİMLER LİSTESİ...xv. 1.1.Bulut Bilişim Kavramının Analizi...1 BÖLÜM 1: TEMELLER...1

RRDTool Kullanımı ve ULAKNET İstatistikleri. Çağlar GÜLÇEHRE TÜBİTAK ULAKBİM-ATB

PostgreSQL Veritabanı Sunucusu Devrim GÜNDÜZ.

TESİ. indeks. söylenebilir?? bir ilişkidir d) Hiçbiri. veya somutlaştırılmış. düzeyidir? sağlayabilir? sına. d) Hepsi. olabilir? c) Verilerin d) Hepsi

Veritabanı. Ders 2 VERİTABANI

Araştırma Raporu MUSTAFA AFYONLUOĞLU

İnternet Programcılığı

BÜYÜK VERİ. Abdulkadir ŞAN Proje Yöneticisi 7/1/2014 VERİ SİSTEMLERİ. Anayurt Güvenliği Md. Yrd. Metin Madenciliği ve Kaynaştırma Sistemleri

MongoDB. Doğan Aydın. Eylül, 2011

Unutulmuş Özellikler: Oracle Veritabanına Yaptığınız Yatırımı Sonuna Kadar Kullanın

Interact API v2.0 Belge sürümü : 2.0.0

WebSphere Application Server extended Deployment

Mobil Test Otomasyon Araçları Bilgilendirme Test Ekibi Şubat 2017

Özgür Yazılımlarla Web Programlama. Özlem Özgöbek

İleri Seviyede PostgreSQL Yönetimi Devrim GÜNDÜZ. PostgreSQL Geliştiricisi PostgreSQL Markafoni

License. Veri Tabanı Sistemleri. Konular. Hareket Özellikleri. Tanım hareket: bir işin mantıksal bir birimi

1 FULL STACK DEVELOPMENT NEDIR? 1 Nasıl Full Stack Developer Olurum? 2

Sunucularımızı Gözleyelim. Oğuz oguzyarimtepe ~ gmail.com

Spring Framework Eğitimi

KNIME ORNEK UYGULAMA

Rahman USTA Editör Altuğ B. ALTINTAŞ Papatya Yayıncılık Eğitim

İçerik. Apache Hadoop Project

Transaction ve Ortak Zamanlılık. Sibel SOMYÜREK

Sunucu Taraflı JavaScript ile Gerçek Zamanlı Web Uygulamaları Geliştirme

ULUSAL AKADEMİK AĞ VE BİLGİ MERKEZİ

Büyük Veri. Yrd. Doç. Dr. Özgür Yılmazel Gökhan Çapan Anadolu Üniversitesi

ANADOLU ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİM DALI DOKTORA YETERLİK SINAVI OCAK 2017

AJAX nedir? AJAX nasıl çalışır? AJAX. Tahir Emre KALAYCI. Sunucu Yazılım Teknolojileri

SDD Dökümantasyonu Versࠀyon 1.0. Movࠀe Predࠀctࠀon Orhan Özgün Ergen Ahmet Saday Berkay Erken

Virtualmin'e Yeni Web Sitesi Host Etmek - Domain Eklemek

M2m Sistemlerde Sql Veya Nosql Kullanimi. Using Sql Or Nosql In M2m Systems

SQL Server 2008 ile Tanışma"

ÖZGÜR YAZILIMLAR İLE J2EE

International Conference on Computer Science and Engineering Tekirdağ, Turkey, October 2016

Web 2.0 Örnek Eğitim Notu

FIRAT ÜNİVERSİTESİ BİLGİSAYAR MÜH.

PostgreSQL - Yeni dönemdeki yeri

Clonera Bütünleşik İş Sürekliliği Gereksinimler ve Kurulum Dökümanı

VT Gerçeklenmesi Ders Notları-

ĐSTEMCĐ SUNUCU SĐSTEMLER DERSĐ FĐNAL ÇALIŞMASI SORULAR YANITLAR

Doküman Tabanlı NoSQL Veritabanları: MongoDB ve CouchDB yatay ölçeklenebilirlik karşılaştırması

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

Suite 8 on Oracle 11gR2 Donanım İsterleri Kullanıcı (interface'ler dahil) Kullanıcı (interface'ler dahil)

2014-halen Ankara Üniversitesi, Bilgisayar Mühendisliği Yüksek Lisans halen Süleyman Demirel Üniversitesi, Bilgisayar Programcılığı

Sistem Gereksinimleri Opera v5

BM-311 Bilgisayar Mimarisi

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

1 WINDOWS SERVER 2012 GENEL BAKIŞ

4. Bölüm Programlamaya Giriş

Tolga Karakaya

Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz.

.com. Kurumsal Java. Özcan Acar com

LINQ (Temel Kavramlar)

EMC ISILON SCALE-OUT NAS

1 WINDOWS SERVER 2012 GENEL BAKIŞ 1 Giriş 1 Bu Kitapta 5 Çıkış Hikâyesi 6 Sürümler 7

EMRE CAMADAN KİŞİSEL BİLGİLER EĞİTİM. E-Posta: Cep:

PHP 1. Hafta 1. Sunum

MSSQL Server 2000 Kurulumu

Oracle MiniCluster S7-2

Veri Sermayenizi Sınır Tanımadan Değere Dönüştürmek için Isilon ve ECS!

Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat

Android Platformunda OpenCV İle Görüntü İşleme

Proceedings/Bildiriler Kitabı PROBLEM. gerekirse; Nmap[7], Nessus[8] [9] Webinspect[10], Acunetix[11] Bu uygulamalar sadece belirli sistem veya

ipad KAZANMAK için 1 hesabını takip etmelisiniz.

solid; BORDER-LEFT: #1F9FFF 0px solid; BORDER-RIGHT: #1F9FFF 0px solid; BORDER-TOP: #1F9FFF 0px solid; COLOR: #1F9FFF; FONT-FAMILY: Trebuschet MS;

Oracle 12c Flex Cluster - Flex ASM

PostgreSQL Veritabanı Sunucusu. HOT, VACUUM ve BGWRITER

Veri Yönetiminde Son Nokta. Sedat Zencirci, Teknoloji Satış Danışmanlığı Direktörü, Orta Asya ve Türkiye

Spring Ekosisteminde Kurumsal Yazılım Geliştirme. Kenan Sevindik Harezmi Bilişim Çözümleri A.Ş.

SAP de E-Fatura Uygulaması

Algorithm of Your Life. AJAX ve...

VERİ TABANI YÖNETİM SİSTEMLERİ

BLM401 Mobil Cihazlar için ANDROID İşletim Sistemi. SQLite Veritabanı. BLM401 Dr.Refik SAMET

«BM364» Veritabanı Uygulamaları

> what is ansible*? "infrastructure as code"

1-20 Kullanıcı. 2*Xeon 2.4 GHZ 4 GB 2*146 GB 15k (Raid 1) c: 30 GB, d: Kullanıcı Kullanıcı Kullanıcı.

We are looking for Software Engineer who will work in Machine Learning and Artificial Intelligence and wants to make the dream a reality.

10 yıllık sektör deneyimimiz ve yazılım teknolojileri alanında uzmanlaşmış eğitmen kadromuzla, size, ekibinize ve yazılım kültürünüze değer katacak

Transkript:

16 Ekim 2010 Özgür Web Günleri Yeditepe Üniversitesi Nosql Veritabanları

CAP Theorem Aynı anda aşağıdaki üçü bir arada olamaz! Consistency (Aynı anda tüm birimlerde aynı veri) Availability (Bazı birimlerde sorun olsa bile çalışmaya devam ederler) Partition Tolerance (Önemli miktarda mesaj kaybı olsa bile sistem çalışmaya devam eder) Bunlardan sadece ikisi aynı anda elde edilebilir.

Dynamo Paper

Basit Terimler N: Tüm sistem içinde sağlıklı/tercih edilmiş birimlerin sayısı R: Okuma anında gereken minimum birim sayısı W: Yazma anında gereken minimum birim sayısı Coordinator: Okuma veya yazma işlemlerini yapmak üzere belirlenmiş olan birim

Consistent Hashing Hash Table içinde sadece değişiklik kadar K/n key remap edilir. K=key sayısı, n=birim (node sayısı)

Vector Clocks Yazılan verinin versiyonlarını tutmak için kullanılır. Yazılan veriye timestamp eklenir. En son veri dikkate alınır. Vector Clock Erlang uyarlaması http://bitbucket.org/justin/riak/src/tip/apps/riak/src/vclock.erl

Sloppy Quorum & Hinted Handoff Tüm okuma ve yazma işlemleri ilk N adet sağlıklı birimde (node) yapılır. Consistent hashing ring içindeki bazı birimler atlanır. Eğer bir birim geçici olarak down olduysa veri sağlıklı bir birime aktarılır ve veriye bir ipucu hint eklenerek orijinal alıcısına gönderilmesi gerektiği belirtilir.

Anti-Entropy & Merkle Trees Replikaların senkronize edilmesi için kullanılır. Replikalar arasındaki farkı en hızlı şekilde tespit etmek ve transfer edilecek veriyi minimize etmek? Tüm tree indirilmeden, sadece ilgilenilen kısımla çalışılır. Eğer iki birim arasında, köke bağlı iki tree aynıysa bunları senkronize etmek gerekmez.

Gossip Protocol Dedikodu mantığıyla çalışır. Sanal birimler, aralarında paylaştıkları üyelik bilgilerinin değiştiğini buradan öğrenirler.

Önemli Kavramlar Paxos Chord multi-version concurrency control (MVCC) B+ trees B trees ACID (atomicity, consistency, isolation, durability)

Nosql Türleri Kolon Tabanlı (Column Based) Belge Depolama (Document Store) Key/Value Eventually Consistent Key Value Store Graph Object Grid Database XML

Hangisi Ne Zaman? Örnek data yapısı yarat Data türünü tercih et. (hash/column/tuple/json) Per record data size hesapla, Zamansal veri büyümesini hesapla Donanım planını kontrol et İşletim sistemini kontrol et. -> SONRA Veri tipi karmaşık değil, K/V, EC K/V Veri tipi karmaşık, Document, Column, EC K/V Eventual Consistency isteniyor, Column, Document, EC K/V Veri lineer olarak ve hızla artıyor, veri tipine göre dağıtıklık özelliği barındıran biri Fazla veri (>4TB) analizi ön planda, map/reduce, sistem orkestrasyonu gibi yardımcı unsurlar var mı? W or R intensive? Tek tek incele!

Column Families Hadoop / HBase=> API: Java / any writer, Protocol: any write call, Query Method: MapReduce Java / any exec, Replication: HDFS Replication, Written in: Java Cassandra=> API: many Thrift languages, Query Method: MapReduce, Written in: Java, Concurrency: eventually consistent Hypertable=> API: Thrift (Java, PHP, Perl, Python, Ruby, etc.), Protocol: Thrift, Query Method: HQL, native Thrift API, Replication: HDFS Replication, Concurrency: MVCC, Consistency Model: Fully consistent Amazon SimpleDB

Document CouchDB=> API: JSON, Protocol: REST, Query Method: MapReduceR of JavaScript Funcs, Replication: Master Master, Written in: Erlang, Concurrency: MVCC MongoDB=> API: BSON, Protocol: lots of langs, Query Method: dynamic object-based language, Replication: Master Slave, Written in: C++,Concurrency: Update in Place. Terrastore=> API: Java & http, Protocol: http, Language: Java, Querying: Range queries, Predicates, Replication: Partitioned with consistent hashing, Consistency: Per-record strict consistency RavenDB=>.Net solution. Provides HTTP/JSON access

Key Value Riak=> API: JSON, Protocol: REST, Query Method: MapReduce term matching, Scaling: Multiple Masters; Written in: Erlang, Concurrency: eventually consistent (stronger then MVCC via Vector Clocks) Chordless=> API: Java & simple RPC to vals, Protocol: internal, Query Method: M/R inside value objects, Scaling: every node is master for its slice of namespace, Written in: Java, Concurrency: serializable transaction isolation Redis=> API: Tons of languages, Written in: C, Concurrency: in memory and saves asynchronous disk after a defined time. Append only mode available. Different kinds of fsync policies. Replication: Master / Slave

Key Value - devamı Scalaris=> Written in: Erlang, Replication: Strong consistency over replicas, Concurrency: non blocking Paxos, in memory. Tokyo Cabinet / Tyrant Berkeley DB=> API: Many languages, Written in: C, Replication: Master / Slave, Concurrency: MVCC, License: Sleepycat, Berkeley DB Java Edition: API: Java, Written in: Java, Replication: Master / Slave, Concurrency: serializable transaction isolation Mnesia=> ErlangDB

Eventually Consistent K/V Amazon Dynamo Voldemort=> Amazons Dynamo türevi open source. Dynomite=> Written in Erlang. With "data partitioning, versioning, and read repair, and user-provided storage engines provide persistence and query processing". KAI=> Amazons Dynamo türevi open source.

Grid Database GigaSpaces=> Popular SpaceBased Grid Solution Hazelcast=> P2P Data Grid Solution on java.util.*, On a 100 Noce EC2 Cluster (Yaratıcısı Talip Öztürk)

Eventually Consistent K/V Amazon Dynamo Voldemort=> Amazons Dynamo türevi open source. Dynomite=> Written in Erlang. With "data partitioning, versioning, and read repair, and user-provided storage engines provide persistence and query processing". KAI=> Amazons Dynamo türevi open source.

Sorular

Kaynakça http://www.allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf http://www.spiteful.com/2008/03/17/programmers-toolbox-part-3-consistent-hashing/ https://nosqleast.com/2009/#speaker/sheehy http://en.wikipedia.org/wiki/chord_%28dht%29 http://en.wikipedia.org/wiki/paxos_algorithm http://nosql-database.org/ http://news.ycombinator.com/item?id=1470521 http://www.julianbrowne.com/article/viewer/brewers-cap-theorem http://dbmsmusings.blogspot.com/2010/04/problems-with-cap-and-yahoos-little.html

kunthar@gmail.com