23
MongoDB Sunum Tarık YILMAZ

Mongo sunum

Embed Size (px)

DESCRIPTION

MongoDB Sunum - SOCIAPlus

Citation preview

Page 1: Mongo sunum

MongoDB SunumTarık YILMAZ

Page 2: Mongo sunum

MongoDB Sunum

MongoDB Nedir?

Page 3: Mongo sunum

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]

Page 4: Mongo sunum

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, ...

Page 5: Mongo sunum

MongoDB Sunum

SQL ve NoSQL arasındaki farklar nelerdir ?

Page 6: Mongo sunum

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

Page 7: Mongo sunum

MongoDB Sunum

Hangi Durumlarda MongoDB Kullanılmalı?

Page 8: Mongo sunum

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)

Page 9: Mongo sunum

MongoDB Sunum

Kimler Kullanıyor?

Page 10: Mongo sunum

Kimler Kullanıyor?

Page 11: Mongo sunum

MySQL vs MongoDB

MySQL MongoDB

Database DBTable CollectionRow DocumentColumn Field

Column Name => Value Key => Value

Page 12: Mongo sunum

MongoDB Sunum

PHP ve MongoDB

Page 13: Mongo sunum

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]

}

Page 14: Mongo sunum

PHP MongoDB

User collection :{

“username” : “tarik54”,“comment” : [1,13,34,76,122]

}

Comment collection:{

“id” : 34“content” : “Hello World!”

}

relation

Page 15: Mongo sunum

PHP MongoDB

PHP Classes & Objects

• MongoClient• MongoDB• MongoCollection• MongoCursor• MongoGridFS• MongoGridFSCursor

Page 16: Mongo sunum

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”);

Page 17: Mongo sunum

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);

Page 18: Mongo sunum

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);

Page 19: Mongo sunum

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));

Page 20: Mongo sunum

MongoDB vs MySQL

MongoDB ve MySQL Benchmark

Page 21: Mongo sunum

MySQL vs MongoDB

MySQL vs. MongoDBv5.5.35 v2.4.9Mysqli PHPMongo

PHP Client100000 adet veri

Insert + Get + IncrementSync requests

Page 22: Mongo sunum

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.

Page 23: Mongo sunum

MongoDB Sunum

Sorular?