Ana içeriğe geç

Doküman Veritabanı

İngilizcesi
Document Database
Türkçe karşılığı
belge veritabanı
Okunuşu
dokyumınt deytıbeys

Günlük kullanımda iki ad da yaygın.

Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/document-database

Kısaca

Doküman veritabanı, kayıtları genellikle JSON benzeri, kendi içinde bütün dokümanlar olarak saklayan, alanları kayıttan kayda değişebilen NoSQL veritabanıdır.

Doküman veritabanı nedir?

Doküman veritabanı, veriyi genellikle JSON ya da onun ikili bir biçimindeki dokümanlar olarak saklar ve benzer dokümanları koleksiyonlarda gruplar. Her doküman, iç içe nesneler ve diziler dahil bir öğeyle ilgili her şeyi barındırır. Örneğin bir blog yazısı dokümanı başlığını, etiketlerini ve yazarının adını tek bir yerde tutabilir.

Her dokümanın benzersiz bir ID'si vardır ve veritabanı, address.city gibi iç içe olanlar dahil içindeki her alanı indeksleyip sorgulayabilir. Şema esnektir: aynı koleksiyondaki iki dokümanın farklı alanları olabilir; ancak çoğu doküman veritabanı istediğinizde doğrulama kuralları eklemenize izin verir. Tek bir dokümandaki değişiklikler atomiktir, birçok ürün artık çok dokümanlı transaction'ları da destekler ve koleksiyonlar ölçeği büyütmek için sunucular arasında shard'lanabilir. MongoDB ve CouchDB bilinen örneklerdir; PostgreSQL'in JSONB türü ise ilişkisel bir veritabanı içinde doküman tarzı depolama sunar.

Her formun kendi başına tamamlandığı ve bazı formlarda ek bölümlerin doldurulduğu bir kâğıt form klasörü düşünün. Bu model, ürün katalogları, içerik yönetim sistemleri, kullanıcı profilleri, oyun durumu ve mobil uygulama backend'leri gibi genellikle bir bütün olarak okunan ve yazılan veriye uyar.

En yaygın karışıklık ilişkisel veritabanıyla yaşanır. İlişkisel tasarım bir siparişi orders ve order_items tablolarına böler ve birleştirir; doküman veritabanı ise kalemleri sipariş dokümanının içine gömebilir. Bu, siparişin tamamını okumayı hızlı kılar ancak birçok doküman üzerinde rapor almayı zorlaştırır ve senkron tutulması gereken veriyi çoğaltır. Doküman veritabanı ayrıca her değeri yalnızca anahtarla getirilen opak bir blob olarak ele alan key-value store'dan da farklıdır; doküman veritabanı değerin içindeki alanları anlar ve onları arayıp indeksleyebilir.

Önemli noktalar

  • Her kayıt, bir koleksiyonda saklanan, kendi içinde bütün, JSON benzeri bir dokümandır.
  • Dokümanlar nesne ve dizileri iç içe barındırabilir ve alanları değişebilir.
  • İç içe olanlar dahil her alan indekslenip sorgulanabilir.
  • İlişkili veriyi gömmek okumaları hızlandırır ancak bilgiyi çoğaltır.
  • En yaygın NoSQL veritabanı türlerinden biridir.

Örnek

İç içe dokümanları saklamak ve sorgulamak (MongoDB sözdizimi)javascript
// One document holds the order and its line items together
await db.orders.insertOne({
  customer: { name: "Ada", city: "London" },
  items: [
    { sku: "BOOK-1", qty: 2, price: 12.5 },
    { sku: "PEN-3", qty: 1, price: 3 },
  ],
  status: "paid",
});

// Query and index fields nested inside documents
await db.orders.createIndex({ "customer.city": 1 });
const london = await db.orders.find({ "customer.city": "London" }).toArray();

Sık sorulan sorular

Doküman veritabanı ile NoSQL aynı şey midir?

Doküman veritabanı, NoSQL veritabanlarının bir türüdür. NoSQL ayrıca key-value store'ları, geniş sütunlu depoları ve çizge veritabanlarını da kapsar.

İlişkili veriyi gömmeli miyim yoksa başvuru mu vermeliyim?

Birlikte okunan ve tek bir üst kayda ait olan veriyi, örneğin bir siparişin kalemlerini gömün. Birçok dokümanca paylaşılan, sık değişen ya da sınırsız büyüyebilen veriye, örneğin popüler bir yazının yorumlarına ID ile başvurun.

Doküman veritabanının şeması var mı?

Baştan bir şema gerektirmez; bu yüzden şemasız ya da şema esnek olarak adlandırılır. Pratikte uygulama yine de belirli alanları bekler ve çoğu doküman veritabanı isteğe bağlı doğrulama kuralları uygulayabilir.

İlgili sayfalar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar