mongo sunum
DESCRIPTION
MongoDB Sunum - SOCIAPlusTRANSCRIPT
MongoDB SunumTarık YILMAZ
MongoDB Sunum
MongoDB Nedir?
MongoDB Nedir?
MongoDB, Doküman tabanlı, C++ ile geliştirilen bir NoSQL veri tabanıdır. Bilinen
en yaygın NoSQL veri tabanıdır. Veriler BSON (Binary JSON) türünde
dokümanlarda tutulur. Tablo yoktur, tasarım yoktur, ilişki yoktur. [Schema-less]
MongoDB Nedir?
Yayılmasında etken olan durumlar;• hızlı R/W kapasitesi• dinamik veri yapısı• yatay ölçeklenebilme• aggregation ve map-reduce desteği• GridFS ile dosya ve metadata saklama• C++, PHP, Java, Python, JS, C#, Perl, ...
MongoDB Sunum
SQL ve NoSQL arasındaki farklar nelerdir ?
SQL vs NoSQL
SQL• Sabit tablo yapısı vardır• Kalıp veriler için uygundur• Genelde küçük ve orta çaplı veriler için tasarlanmıştır• Dağıtık yapı için pek uygun değildir
NoSQL• Şemasız dinamik tasarım vardır• Esnek veriler için uygundur• Orta ve büyük veriler için tasarlanmıştır• Dağıtık yapıya önem verilir
MongoDB Sunum
Hangi Durumlarda MongoDB Kullanılmalı?
MongoDB Kullanım Durumu
• Yüksek R/W trafiği• Karmaşık sorgu & analiz ihtiyacı• Kullanıcı IO, haber, duyuru verileri• Log verileri• Ürün, katalog verileri saklanması• Resim, video saklanması (GridFS)
MongoDB Sunum
Kimler Kullanıyor?
Kimler Kullanıyor?
MySQL vs MongoDB
MySQL MongoDB
Database DBTable CollectionRow DocumentColumn Field
Column Name => Value Key => Value
MongoDB Sunum
PHP ve MongoDB
PHP MongoDB
Örnek veri :{
“username” : “trK.54.Ylmz”, “password” : “a123ay346ADQ2asd”,“logged” : false,“activated” : true,“regdate” : new MongoDate(),“age” : 22,“sales” : {“electronic”: [“ipod”, “iphone”]},“comment” : [1,13,34,76,122]
}
PHP MongoDB
User collection :{
“username” : “tarik54”,“comment” : [1,13,34,76,122]
}
Comment collection:{
“id” : 34“content” : “Hello World!”
}
relation
PHP MongoDB
PHP Classes & Objects
• MongoClient• MongoDB• MongoCollection• MongoCursor• MongoGridFS• MongoGridFSCursor
PHP MongoDB
• $con = new MongoClient();• $con = new MongoClient(“mongodb://localhost:27017”);• $con = new MongoClient(“mongodb://user:[email protected]/test”)• $con = new MongoClient(
“mongodb://localhost:12345,serv1.example.com/dbtest”);
• $coll = $con->selectCollection(“test”, “testColl”);• $coll = $con->selectDB(“test”)->selectCollection(“testColl”);
PHP MongoDB
• $data = $coll->findOne(array(“username” => “tarik54”));
• $datas = $coll->find(array(“logged” => true), array(“username” => true));
• $datas = $coll->find(array(“logged” => true, '$or' => [“age” => 22, “activated” => true]));
• $datas = $coll->find(array(“logged“ => true))->sort(array(“username” => -1))->skip(10)->limit(10);
PHP MongoDB
• $object = array(“username” => “tarik54”, “password” => “2312aa”,“logged” => false);
• $result = $coll->insert($object);
• $object2 = new UserObject();• $object2->setUsername(“tarik54”);• $object2->setPassword(“2312aa”);• $object2->setLogStatus(false);
• $result = $coll->insert($object);
PHP MongoDB
• $coll->update(array(“username” => “tarik54”), array('$set' => array('logged' => true)));
• $coll->update(array(“uid” => 12561211), array('$inc' => array(“age” => 1)));
• $coll->update(array(“uid” => 12561211),array(“$push” => array(“comment” => 152)));
• $coll->remove(array(“activated” => false));
MongoDB vs MySQL
MongoDB ve MySQL Benchmark
MySQL vs MongoDB
MySQL vs. MongoDBv5.5.35 v2.4.9Mysqli PHPMongo
PHP Client100000 adet veri
Insert + Get + IncrementSync requests
MySQL vs MongoDB
MySQL vs. MongoDB
Get : 23.7655899525352 8.2969670295715 Insert : 607.1592478752136 11.084399938583 Increm. : 439.2179238796234 19.202459096909
sonuçlar sn türündedir.
MongoDB Sunum
Sorular?