# Doküman Veritabanı

Adres: https://softwaredictionary.org/tr/terimler/document-database
Kategori: Veritabanları
Son güncelleme: 2026-09-30
İngilizcesi: Document Database
Türkçe karşılığı: belge veritabanı
Okunuşu: dokyumınt deytıbeys

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.

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
