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’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
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 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/
6. 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.
7. 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
8. 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.
9. MongoDB sorgulama yapısı ve SQL karşılımı
http://www.mongodb.org/display/DOCS/SQL+to+Mongo+Mapping+Chart