6 Ocak 2014 Pazartesi

MongoDB'ye giriş

Ufaktan ufaktan MongoDB'ye giriş yapıyorum. Yaparken de öğrendiklerimi belki birilerine faydalı olur umuduyla paylaşıyorum.

MongoDB'deki kavramlar ve ilişkilendirilmiş veri tabanlarındaki karşılığı aşağıdaki tabloda yer alıyor. Teknoloji ile ilgili terimlerin türkçeleştirilmesini mantıklı karşılamayanlardan olduğum için orjinal kavramdan uzak kalmayacağım.



RDBMS MongoDB
Database Database
Row Document
Column Field

(RDBMS- Relational Database Management System)


MongoBD'de document ( döküman/belge/row ) kavramı

MongoDB içindeki key-value eklinde tutulan bir kayıt bir document'tır. Her document kendi dinamic  şemasına sahiptir. dinamik şemadan kasıt, aynı collection (tablo) içindeki document'ların aynı yapı ve aynı alanlara sahip olması gerekmiyor demektir. Farklı field da tanımlamalar yapılabilir.
Ortak alanlarda farklı tiplerde veri tutabilir. MongoDB'deki belgeler (documents) JSON nesnelerine benzer. 'deki "row" karvamına karşılık gelmektedir.


Örnek 1.
MongoDB'de bir document (row)


MongoDB'de Collection (Tablo) kavramı
Collection (Koleksiyon/tablo) MongoDB belgelerinin (documents) grubudur. RDBMS'deki karşılığı ise "TABLO"lardır. Collection içindeki Documents (belgeler) farklı alanlara sahip olabilir.
 Bir koleksiyondaki tüm belgeler (documents) benzer ya da bir amaçla bağlantılıdır.

MongoDB'deki "id" mantığı
_id her document'ın tekliğini sağlayan / garanti eden 12 byte'lık hexadecimal bir numaradır.
Document'ı eklerken bu değeri siz de verebilirsiniz. Siz vermediğiniz takdirde MongoDB kendi bir tane atayacaktır. Otomatik atanan _id'nin atanması ise şu şekildedir;

ilk 4 byte = şuanki zaman (current timestamp)
sonraki 3 byte = makine id'si (machine id)
sonraki 3 byte = mongodb serverin işlem id'si (process id of mongodb server )
son 2 byte ise artan bir değerdir.


Hiç yorum yok:

Yorum Gönder