NoSQL Nedir? - MongoDB
ile .NET Kardeşliği
İbrahim ATAY
Yazılım ve Veritabanı Danışmanı

@ibrahim_atay

www.ibrahimatay.org

info@ibrahimatay.org
NoSQL Nedir ?

1998’un sonlarına doğru ortaya çıkan bir kavramdır. Klasik ilişkisel veritabanı
yapısnıda bulunmayan ve sorgulama için SQL dili kullanmayan veritabanı türüdür.
Genel olarak xml ya da json formatında veri depolama yapmaktadır.

2009'da Atlanta'daki "no:sql(east)" konferansının NoSQL tartışması üzerinde derin etkileri oldu.
eğlenceyi seç, ilişkisel=yanlış; olan gerçek Dünyâ'dan faydalan
Var Olma Sebebi ?

Sürekli artan verileri ölçekleyebilmek
Karmaşa yaratan çok-çok ilişkiler(many to many)
Veri karmaşık “Join” kullanılmadan sadece primary key’e dayalı olarak
tekrar tekrar çağırılıyorsa.
Uygulamaların sürekli genişlemesi
Sistemler sürekli olarak genişleyebilmektedir.
NoSQL Çeşitleri

Wide Column Store / Column Families (BigTable, Hbase, Cassandra)
Document Store (MongoDB, CouchDB, RavenDB)
Key Value / Tuple Store (Azure Table Storage, MemcacheDB)
Eventually Consistent Key Value Store(Amazon Dynamo, Dynomite)
Graph Databases(BigData, Neo4J)

http://nosql-database.org/
NoSQL Farkları

http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis
NoSQL Avantajları ve Dezavantajları

Klasik ilişkisel veritabanlarından farklı olarak schema yapısı
bulundurmamaktadır.
“No only SQL” sıloganın kullanrak SQL dilini kullanmamaktadır.
Dağatık, ölçeklenebilir ve perfomas açısından daha avantajlıdır.
Fire And Forget Prensibi ile çalışmaktadır.
Birden fazla çekirdekli sistemlere uygu olarak çalışabilmektedir(Yatay
ölçeklenebilirlik)
Saklamış olduğu verileri json ya da xml formatlarında saklamaktadır.
Oluşturulan veri yapısı, uygulamanın model katmanına bağılmı olarak
çalışmaktadır.
MongoDB

MongoDB, bir Document store NoSQL veritabanıdır.
Indeksleme özelliğine sahiptir.
GirdFS özelliğine sahip olarak çalışmakta
Verilerimi bellekte tutulabiliryor.
Verilerini BSON formatında saklamaktadır.
C++ ile geliştirilmiştir.
%100 uptime çalışmak
MongoDB Sorgulama Yapısı

"nedirtv":{
"konu":"NoSQL Nedir? MongoDB ile .NET Kardesligi",
"konusmaci":"Ibrahim ATAY",
"Zaman":"14.11.20011 21:00"
}

Kolleksiyonlar üzerinde çalışılmaktadır.
JSON veri sorgulama işlemi yapmaktadır.
MongoDB sorgulama yapısı ve SQL karşılımı

http://www.mongodb.org/display/DOCS/SQL+to+Mongo+Mapping+Chart
MongoDB Gereksimleri ve kurulumu
MongoDB kurulum ve Uygulama Geliştirmek
Soru / Cevap

?
Kaynaklar

http://www.mongodb.org
http://www.10gen.com

Kristina Chodorow, Michael Dirolf

NoSQL Nedir MongoDB ile .NET Kardeşliği

  • 1.
    NoSQL Nedir? -MongoDB ile .NET Kardeşliği İbrahim ATAY Yazılım ve Veritabanı Danışmanı @ibrahim_atay www.ibrahimatay.org info@ibrahimatay.org
  • 2.
    NoSQL Nedir ? 1998’unsonlarına doğru ortaya çıkan bir kavramdır. Klasik ilişkisel veritabanı yapısnıda bulunmayan ve sorgulama için SQL dili kullanmayan veritabanı türüdür. Genel olarak xml ya da json formatında veri depolama yapmaktadır. 2009'da Atlanta'daki "no:sql(east)" konferansının NoSQL tartışması üzerinde derin etkileri oldu. eğlenceyi seç, ilişkisel=yanlış; olan gerçek Dünyâ'dan faydalan
  • 3.
    Var Olma Sebebi? Sürekli artan verileri ölçekleyebilmek Karmaşa yaratan çok-çok ilişkiler(many to many) Veri karmaşık “Join” kullanılmadan sadece primary key’e dayalı olarak tekrar tekrar çağırılıyorsa. Uygulamaların sürekli genişlemesi Sistemler sürekli olarak genişleyebilmektedir.
  • 4.
    NoSQL Çeşitleri Wide ColumnStore / Column Families (BigTable, Hbase, Cassandra) Document Store (MongoDB, CouchDB, RavenDB) Key Value / Tuple Store (Azure Table Storage, MemcacheDB) Eventually Consistent Key Value Store(Amazon Dynamo, Dynomite) Graph Databases(BigData, Neo4J) http://nosql-database.org/
  • 5.
  • 6.
    NoSQL Avantajları veDezavantajları Klasik ilişkisel veritabanlarından farklı olarak schema yapısı bulundurmamaktadır. “No only SQL” sıloganın kullanrak SQL dilini kullanmamaktadır. Dağatık, ölçeklenebilir ve perfomas açısından daha avantajlıdır. Fire And Forget Prensibi ile çalışmaktadır. Birden fazla çekirdekli sistemlere uygu olarak çalışabilmektedir(Yatay ölçeklenebilirlik) Saklamış olduğu verileri json ya da xml formatlarında saklamaktadır. Oluşturulan veri yapısı, uygulamanın model katmanına bağılmı olarak çalışmaktadır.
  • 7.
    MongoDB MongoDB, bir Documentstore NoSQL veritabanıdır. Indeksleme özelliğine sahiptir. GirdFS özelliğine sahip olarak çalışmakta Verilerimi bellekte tutulabiliryor. Verilerini BSON formatında saklamaktadır. C++ ile geliştirilmiştir. %100 uptime çalışmak
  • 8.
    MongoDB Sorgulama Yapısı "nedirtv":{ "konu":"NoSQLNedir? MongoDB ile .NET Kardesligi", "konusmaci":"Ibrahim ATAY", "Zaman":"14.11.20011 21:00" } Kolleksiyonlar üzerinde çalışılmaktadır. JSON veri sorgulama işlemi yapmaktadır.
  • 9.
    MongoDB sorgulama yapısıve SQL karşılımı http://www.mongodb.org/display/DOCS/SQL+to+Mongo+Mapping+Chart
  • 10.
  • 11.
    MongoDB kurulum veUygulama Geliştirmek
  • 12.
  • 13.

Editor's Notes

  • #5 Xml,object ve grid veritabanlarıda bulunmaktadır.
  • #11 Windows Service olarak da kurulduğunundan bahsedilecek