• Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
mongoDB Tablo ve Veri Tipleri

 
#1

Doküman, MongoDB’de veri depolama birimidir. Döküman, veriyi depolamak için JSON stilinde bir yapı kullanır. (JavaScript Object Notation).
JSON dokümanları için basit bir örnek
site : http://gelecegiyazanlar.turkcell.com.tr
şeklinde olabilir. Genellikle nesne (object) dokümana referans verilir. Dokümanlar ilişkisel veritabanı yönetim sistemindeki (Relational Data Base System-RDBS) kayıtlara (records) karşı gelir. Aşağıdaki tablo MongoDB ile ilişkisel veritabanı tablo yapısını karşılaştırmaktadır:
İlişkisel Veri Tabanı Sistemi
MongoDBTable (Tablo)
Collection (Koleksiyon)
Column (Sütun)
Key (Anahtar)
Value (Değer)
Value (Değer)
Records / Rows (Kayıtlar / Satırlar)
Document / Object (Döküman / Nesne)

Aşağıdaki tablo ise MongoDB’de kullanılabilecek veri tiplerini listelemektedir:
Veri Tipi
Tanım
String
UTF-8 karakter dizisi
İnteger
Tamsayı
Boolean
Mantıksal true / false değer
Null
Boş
Array
Veriler dizisi
Object
Nesne
Timestamp
Zamana referans veren 64 bitlik değer
ObjectID
Her dokümana özgü eşsiz (unique) anahtar

KOLEKSİYONLAR (Collections)
Koleksiyon çok sayıda doküman içerebilir ve bunları saklamak için kullanılır. Koleksiyonu ilişkisel veritabanı sistemindeki tabloya benzetebiliriz. Koleksiyonun içerdiği dokümanların her biri farklı bir yapıda olabilir. Çünkü MongoDB, şemadan bağımsız (schema-free) bir veritabanı sistemidir.
İlişkisel veritabanı sistemlerinde bilindiği gibi, şema, veri tabanında saklanacak verilerin genel formatını belirlemektedir. MongoDB’de ise bu tür bir yapı formatına ihtiyaç yoktur. Aşağıdaki farklı yapıda iki doküman aynı koleksiyon içinde saklanabilir:
Kod:
{"kitap" : "SQL"} {"dersnotu" : 129}

ÖLÇEKLENEBİLİRLİK (SCALABILITY)
Yazılım geliştiricilerin en önemli problemlerinden biri ölçekleme problemidir. Bunun anlamı, depolanması gereken veri miktarı büyüdükçe nasıl hareket edileceğidir.
Bu konuda iki yaklaşım mevcuttur:
Yukarıya doğru genişleme (scale up): Bu yaklaşımda veri miktarı büyüdükçe daha büyük bilgisayar kullanmak söz konusudur. Önemli sakıncalar,
a) Bilgisayar gücü arttıkça maliyet çok hızlı artmaktadır.
b) Bilgisayarı büyütmek için de bir üst sınır mevcuttur.
Yatay genişleme (scale out or horizontally): Bu yaklaşımda veri miktarı arttıkça, yeni bir makul boyutta sunucu (server) alınarak mevcut kümeye (cluster) eklenir. Çok daha kolay ve esnek bir ölçekleme yöntemidir, ancak en büyük sakıncası, bilgisayar kümesinin boyutu büyümüşse (yüzlerce, binlerce) bu kümenin nasıl yönetileceğidir.
MongoDB ikinci yaklaşıma göre (yatay genişleme) tasarlanmıştır. Belgeye dayalı model yaklaşımı sayesinde, veritabanının sunucular arasında dağıtılması daha kolay olmaktadır. MongoDB, verinin dengeli dağıtılması konusuna özel önem vermekte, belgeleri bilgisayarlar arasında dengeli dağıtmakta ve belli bir dokümanı talep eden kullanıcının, doğru sunucuya yönelmesini de sağlamaktadır. Böylece yazılım geliştiriciler, ölçekleme problemi ile uğraşmak yerine, kendi esas işleri olan yazılım geliştirmeye konsantre olabilmektedirler. Bilgisayar kümesinin yeni bilgisayarlara ihtiyacı olduğunda, bunlar kümeye kolayca eklenmekte ve Mongo DB, veriyi yeniden bilgisayarlar arasında en uygun biçimde dağıtmaktadır.
MongoDB’nin Temel Özellikleri
MongoDB, genel maksatlı bir veritabanı sistemidir; veri oluşturma, okuma, güncelleme ve silme işlemlerinin dışında, ölçekleme problemini de yukarda anlatıldığı biçimde kolayca çözmektedir.
MongoDB, ikincil indekslerin (secondary indexes) oluşturulmasını desteklemektedir. Böylece çok daha hızlı sorgular düzenlenebilir. Ayrıca, unique (tek) ya da bileşik (compound), mekansal (geospatial) ve full-metin indeksleri oluşturma yeteneklerine de sahiptir. Ayrıca basit parçalardan karmaşık veri yapıları oluşturma yetenekleri de mevcuttur (aggregation). MongoDB’de ayrıca belirli bir süre için saklanan veri koleksiyonları oluşturma özelliği de mevcuttur. MongoDB, kolay kullanımlı protokollerle, büyük veri dosyalarını saklama imkanı da sağlar.
İlişkisel modelde yaygın işlemler olan birleştirme (join) ya da çoklu satır hareketleri (multirow transactions) MongoDB’de mevcut değildir. Çünkü bu özelliklerle ölçeklenebilirlik problemini kolayca çözmek olası değildir. MongoDB’nin her özelliği, büyük miktarda veri ile çalışırken yüksek performans sağlama, hızdan taviz vermeme üzerine kurulmuştur. O nedenle de ilişkisel modeldeki bazı işlemleri kolayca yapamayabilir.
MongoDB: İlk Kullanım
Bu bölümde MongoDB ile ilişkili temel kavramları vereceğiz.
BELGE (DOCUMENT)
MongoDB’de belge, temel veri birimidir. Kabaca ilişkisel modeldeki satır (row) yapısına benzetilebilir, ancak ondan çok daha zengin içeriklidir.
KOLEKSİYON (COLLECTION)
Benzer şekilde, koleksiyon da ilişkisel modelin dinamik şemasındaki bir tabloya (table) benzetilebilir.



Ara
Cevapla


[-]
Hızlı Cevap

İnsan Doğrulama:
Aşağıda görünen onay kutusunu işaretleyiniz. Bu işlem otomatik spam kayıtları önlemek için kullanılır.

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  mongoDB İstemci Oluşturma xray 1 1,517 19-11-2017, Saat: 12:26
Son Yorum: dalaylama
  mongoDB Agregasyon (Aggregation) xray 0 877 18-11-2017, Saat: 19:50
Son Yorum: xray
  mongoDB Veritabanındaki Dökümanların Sıralanması xray 0 997 18-11-2017, Saat: 19:37
Son Yorum: xray
  mongoDB Veri Tabanı Oluşturma - Use Komutu xray 0 1,089 18-11-2017, Saat: 19:37
Son Yorum: xray
  MongoDB Kurulumu xray 0 988 18-11-2017, Saat: 19:32
Son Yorum: xray

Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


Konuyu Okuyanlar:
1 Ziyaretçi

   
Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2020 MyBB Group.  



Merih Forum® bilgi paylaşım platformu. 2015-2020 Tüm hakları saklıdır.