Sarper Aydoğan – Turkcell Teknoloji Staj’2010

Slides:



Advertisements
Benzer bir sunumlar
Veritabanı Nedir?
Advertisements

4 SQL- Yapısal Sorgulama Dili
SCANNER SINIFI ve KLAVYEDEN VERİ OKUNMASI
Microsoft SQL Server.
SQL Structured Query Language
Nesneye Dayalı (Nesne Tabanlı ) Programlama
MySQL Veritabanı Sunucusu ve MySQL Veritabanı Kullanımı
Performance Tuning Performans Düzenleme Teknikleri.
H.Tonguç Yılmaz - Unutulmuş Özellikler: Oracle Veritabanına Yaptığınız Yatırımı Sonuna Kadar Kullanın TROUG Oracle Day 2011 etkinliği.
Programlama-II (Java ile Bilgisayar Programlama)
RELATIONAL DATABASE MAGAMENT SYSTEM (RDMS)
Diziler & Kolleksiyonlar.  Çalışılan tüm objelerin bilinmemesi  Dinamik sayıda obje ile çalışmak  Benzer işlem yapılacak objeleri bir arada tutmak.
Microsoft Danışman Öğrenci
MapReduce Mustafa Agâh ÖZTÜRK
BPR152 ALGORİTMA VE PROGRAMLAMA - II
İndeksler Sibel SOMYÜREK.
EkoPC Bilişim Ltd. Eğitim Hizmetleri
Iletisim Icin : Blog : E - Mail :
İlişkisel Veri Modeli.
Veri Tabanı Yönetim Sistemleri
Veritabanı Yönetim Sistemleri Hızlı ve Kısa Giriş
Java Programlama Koleksiyon(Collection) Sınıfları
Kullanıcılar Yazılım Geliştiriciler Admin haklarına ihtiyaç yok Kullanıcı bazlı ActiveX yüklemesi Site bazlı ActiveX yüklemesi Rendering alt yapısında.
Veri Tabanı Yönetim Sistemleri
Veri Tabanı Yönetim Sistemleri
4 Veri Bütünlüğü ve Constraint’ler
Veritabanı Temel Kavramlar ve
Veritabanı Yönetim Sistemleri-I
SQL Dili ve MySQL Komutları
ER Şemaları Kullanılarak İlişkisel Veritabanının Tasarlanması
Veri Tabanı Yönetim Sistemleri 1 Ders 1 VTYS’nin Tanımı ve Bileşenleri
MySQL Operatörleri ve Fonksiyonları
Önceki Dersi Hatırlama !!
SQL (Structured Query Language). MySQL de Temel Komutlar : CREATE DATABASE isim; verilen isimde bir veri tabanı oluşturur. SHOW DATABASES; Tüm yaratılan.
Veritabanı Kavramları
NESNEYE YÖNELİK PROGRAMLAMA
JAVA’DA DİZİLER Dr.Galip AYDIN.
Trees, Vectors, Iterators. ADT Abstract Data Type (ADT) vs implementation -Soyut Veri Türleri - Uygulamaları.
LINQtoSQL Silverligth Uygulamalarında LinqtoSql. LINQ (Language Integrated Query) özellikle dil içerisinde, Sql tarzı sorgular yazabilmemizi ve bunları.
VERİTABANI.
Bölüm 7 - Diziler İçerik 7.1 Giriş 7.2 Diziler 7.3 Dizileri Tanımlama 7.4 Dizileri Kullanan Örnekler 7.5 Referanslar ve Referans Parametreler.
Nesneye Dayalı Programlama
SQL’ e Giriş Uzm. Murat YAZICI.
Bilgisayar Mühendisliği Bölümü
BTP206– Görsel Programlama II
Veritabanı Kavramları
ADRESİNDEN ÖRNEK VERİ TABANLARINI İNDİRİNİZ
Turizm Acentesi (Uçak Seyehat Acentesi). Genel Bakış Uçak ile seyehat etmek isteyen bir yolcu olsun. Kişi uçak bileti alabilmek için önünde iki seçenek.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
Yapısal Sorgulama Dili SQL VTYS Giriş Hafta 5 Ders Notu.
EurobankTekfen SQL Server DBA Turgay Sahtiyan.
SQL Server’da Index Kavramı
EurobankTekfen SQL Server DBA Turgay Sahtiyan.
GYTE Programlama dilleri Can GÜLŞE PHP Parser Hypertext Preprocessor.
LINQ { C# 3.0 ve Language Integrated Query } MEHMET MECİT GÖK NO:
JAVA 1. GİRİŞ & TARİHÇE Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmıştır. Açık kodlu. Nesneye yönelik. Düzlemden.
Altıncı hafta. Müfredat programı Ödev teslim edenler Mantıksal tasarım ödevini teslim edenler: Belediye Projesi Valilik Projesi Mekan Projesi Konaklama.
Asp.Net Veritabanı İşlemleri
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı
VIEW lerle çalışmak 11.BÖLÜM.
SİSTEM ANALİZİ VE TASARIMI
İNDEKS.
SQL Veri Tipleri.
Oğuz KIRÇİÇEK
VERİ TABANI SQL (STRUCTURED QUERY LANGUAGE) SAVAŞ TUNÇER.
Structure of an IR System
3- VERİ TİPLERİ - OPERATÖRLER Nesne Yönelimli Programlama - i
Nesneye Dayalı Programlarla Nesne İlişki Haritalanması
M2M SİSTEMLERDE SQL VEYA NOSQL KULLANIMI
VERİTABANI YÖNETİM SİSTEMLERİ 6-SQL Server-2
Sunum transkripti:

Sarper Aydoğan – Turkcell Teknoloji Staj’2010

Not Only SQL Var olma Sebebi? No to SQL Sürekli artan veriyi ölçeklendirme -> Artan karmaşık çoğa – çok (many to many) ilişkiler Çok öğeli sabit ilişkisel şemalar yerine önceden belirlenmemiş ve genişletilebilir veriler veri şeması kullanıyor olması Veri karmaşık “Joinler” kullanılmadan sadece primary key’e dayalı olarak tekrar tekrar çağırılıyorsa. No to SQL RDMS Performans Maaş Listesi Web Uygulamaları Not Only SQL Performans Sosyal Networkler Data Karmaşıklığı

Atomicity, Consistency, Isolation, Durability Büyük datalar? Consistency JOIN Availability ilişkisel Partition Tolerance CAP Dağınık ACID Atomicity, Consistency, Isolation, Durability Yatay ve Dikey ölçeklendirmeye izin veren (Yeni modüllerin ve datanın rahatça eklenebilmesi) Ölçeklendirme & Kaynaklar?

Key Value Stores Büyük data bloklarını tutmak ve ölçeklendirmek için kullanılır. A Her unique anahtar değeri bir değeri referans eder. (HashMap) Database’in Değerden haberi yok Memcached’den farklı olarak replication, versioning, locking ve sorting gibi özellikler sunar. B C D

Voldemort Open Source (Linkedin Katkılarıyla) Veri otomatik, parçalar haline getirilip, parçalar birden çok servera dağıtılıyor. Concurreny problemleri “multi-version concurrency control” (MVCC) ile çözülüyor. Gelişmiş Failure Handling

Document Database { “_id” : “1″, “name” : “A”, “groupid” : “1″, } Her veriyi bir doküman olarak saklar. Key Value Store’la benzerlik gösterir. Farklı olarak Key- Value Store’dan daha karmaşık yapıda veri saklar (Arrayler, objeler..) Multiple index’lemeyi destekler RDBMS’den farklı olarak veri tabanı ve tablolar yok CouchDB, MongoDB { “_id” : “1″, “name” : “A”, “groupid” : “1″, } { “_id” : “2″, “name” : “B”, “groupid” : “1″, }

Key –Value Store, Document DB ve RDBMS özelliklerini taşır Dinamik Query’ler Indexing Temel veri birimi -> Document Hızlı okuma/yazma için dizayn edilmiştir. Tanıdık veri Tipleri Kullanır -> Array, Binary, Boolean, DateTime, Null, String, Embedded Object indexler Veriye ulaşma ve değiştirme yolları Dinamik Query’ler MapReduce

CouchDB & MongoDB Database -> Documents Concurrency -> MVCC Data Types -> string,number,boolean,array,object Query Method -> Map/reduce Database -> Collections(Tables) -> Documents Concurreny -> Yerinde Güncelleme Data Types -> string, int, double, boolean, date, bytearray, object, array, others Query Method -> Dynamic; object-based query language 

Wide Column Stores Google BigTable Clone Satır ve sütunlara dayanan ölçeklendirme Her key birden çok sütunla ilişkilenir Dağınık ve birden çok boyutludur Yarı ilişkisel yapıya sahiptir Ölçeklendirme, satırları ve sütunları parçalayarak meydana gelir Satırlar, primary key’e bağlı olarak bölünür. Sütunlar, sütun gruplarına bağlı olarak bölünür.

HBase Hadoop Database – büyük datasetlerine hızlı read/write HDFS (Hadoop Distributes File System) üzerinde çalışır Concurrency - Locks BTree- Sıralama Hızlı Hadoop MapReduce’lariyla başa çıkabilecek Hbase tabloları* Veri sıralanmış biçimde saklanır Real Time Query’ler için Optimization Twitter, Yahoo!** *MapReduce- Büyük datasetlerin çözülmesi **http://wiki.apache.org/hadoop/Hbase/PoweredBy

Map and Reduce

Hbase & Cassandra Java tabanlı Concurrency - Locks BTree- Sıralama Hızlı Hadoop Dosyalamasını Kullanır Java tabanlı Concurrency - MVCC Ordered Hash Index- Btree’den daha yavaş Otomatik failure detection ve full recovery inbox search Mevcut Klonlar BigTable ‘ın transaction oranına ulaşamamıştır. Google Maps, Earth, Gmail, YouTube

Graph Database Veriyi tablolar yerine grafik yapıları (node, edge, property) üzerinde değerleri saklayan database çeşidi. Key – Value yapısına benzetilebilir. RDBMS –Static ve basit veri Graph – Dinamik ve karmaşık veri

Neo4j’deki tüm operasyonlar transactionlar üzerinden çalışır ve tüm transactionlar ACID’i destekler. Node firstNode = graphDb.createNode(); Node secondNode = graphDb.createNode(); Relationship relationship = firstNode.createRelationshipTo( secondNode, MyRelationshipTypes.KNOWS ); firstNode.setProperty( "message", "Hello, " ); secondNode.setProperty( "message", "world!" ); relationship.setProperty( "message", "brave Neo4j"); brave Neo4j Hello World

Name Type Concurreny Data Storage Voldemort Key- Value MVCC RAM Hbase Wide Column Locks Hadoop Cassandra Disk CouchDB Document MongoDB Field-Level Neo4j Graph

NoSQL Avantajları OLTP Projelerinde hızlı read/write’a olanak vermesi Kolay ölçeklendirebilme ve dağıtım yapabilme İlişisel db’lere göre bazı projelerde kolay implementation sağlaması

NoSQL Dezavantajları Data Integrity -> Uygulama Katmanına Dayalı İlişkisel DB’ler kadar mature sistemler değiller Standard bir dilin olmaması