MongoDB - Genel Bakış

MongoDB, yüksek performans, yüksek kullanılabilirlik ve kolay ölçeklenebilirlik sağlayan çapraz platformlu, belge odaklı bir veritabanıdır. MongoDB, koleksiyon ve belge kavramı üzerinde çalışıyor.

Veri tabanı

Veritabanı, koleksiyonlar için fiziksel bir kaptır. Her veritabanı, dosya sisteminde kendi dosya kümesini alır. Tek bir MongoDB sunucusunun tipik olarak birden çok veritabanı vardır.

Toplamak

Koleksiyon, MongoDB belgelerinden oluşan bir gruptur. RDBMS tablosunun eşdeğeridir. Tek bir veritabanı içinde bir koleksiyon mevcuttur. Koleksiyonlar bir şemayı zorlamaz. Bir koleksiyondaki belgelerin farklı alanları olabilir. Tipik olarak, bir koleksiyondaki tüm belgeler benzer veya ilgili amaçlara sahiptir.

Belge

Doküman, bir dizi anahtar / değer çiftidir. Belgelerin dinamik şeması vardır. Dinamik şema, aynı koleksiyondaki belgelerin aynı alan veya yapı kümesine sahip olması gerekmediği ve bir koleksiyonun belgelerindeki ortak alanların farklı veri türlerini tutabileceği anlamına gelir.

Aşağıdaki tablo RDBMS terminolojisinin MongoDB ile ilişkisini göstermektedir.

RDBMS MongoDB
Veri tabanı Veri tabanı
Tablo Toplamak
Tuple / Satır Belge
sütun Alan
Tablo Birleştirme Gömülü Belgeler
Birincil anahtar Birincil Anahtar (MongoDB'nin kendisi tarafından sağlanan varsayılan anahtar _id)
Veritabanı Sunucusu ve İstemcisi
mysqld / Oracle mongod
mysql / sqlplus mongo

Örnek Belge

Aşağıdaki örnek, virgülle ayrılmış bir anahtar-değer çifti olan bir blog sitesinin belge yapısını göstermektedir.

{
   _id: ObjectId(7df78ad8902c)
   title: 'MongoDB Overview', 
   description: 'MongoDB is no sql database',
   by: 'tutorials point',
   url: 'http://www.tutorialspoint.com',
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 100, 
   comments: [	
      {
         user:'user1',
         message: 'My first comment',
         dateCreated: new Date(2011,1,20,2,15),
         like: 0 
      },
      {
         user:'user2',
         message: 'My second comments',
         dateCreated: new Date(2011,1,25,7,45),
         like: 5
      }
   ]
}

_idher belgenin benzersizliğini garanti eden 12 baytlık onaltılık bir sayıdır. Belgeyi eklerken _id sağlayabilirsiniz. Sağlamazsanız, MongoDB her belge için benzersiz bir kimlik sağlar. Geçerli zaman damgası için bu 12 bayt ilk 4 bayt, makine kimliği için sonraki 3 bayt, MongoDB sunucusunun işlem kimliği için sonraki 2 bayt ve kalan 3 bayt basit artımlı DEĞER'dir.