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.