# NoSQL (Not Only SQL (Yalnızca SQL Değil))

Adres: https://softwaredictionary.org/tr/terimler/nosql
Kategori: Veritabanları
Son güncelleme: 2026-09-29
Okunuşu: no es-kyu-el ya da no sikuıl

Kısaca: NoSQL, veriyi ilişkisel tablolar yerine doküman, anahtar-değer çifti, geniş sütun ya da çizge gibi başka modellerde saklayan veritabanı ailesidir.

## NoSQL nedir?

NoSQL, tabloların anahtarlarla bağlandığı geleneksel ilişkisel modeli kullanmayan veritabanları için kullanılan şemsiye bir terimdir. Ad genellikle "not only SQL" (yalnızca SQL değil) diye okunur; çünkü bu veritabanlarının çoğu hâlâ bir sorgu dili sunar, hatta bazıları SQL benzeri sözdizimini bile destekler.

Dört ana tür vardır. MongoDB gibi doküman veritabanları JSON benzeri dokümanları saklar; Redis gibi anahtar-değer depoları her anahtarı bir değere eşler, tıpkı dev bir sözlük gibi; Apache Cassandra gibi geniş sütunlu depolar veriyi birçok makineye yayılmış esnek sütunlarda düzenler; Neo4j gibi çizge veritabanları ise düğümleri ve aralarındaki ilişkileri saklar.

NoSQL veritabanları büyük web uygulamaları için popüler oldu; çünkü çoğu yatay ölçeklenecek biçimde, yani veriyi birçok sunucuya yayacak şekilde tasarlanmıştır ve sıklıkla esnek bir şemaya izin verir; böylece aynı koleksiyondaki kayıtların farklı alanları olabilir. Önbellekleme, kullanıcı oturumları, gerçek zamanlı analitik, ürün katalogları ve sosyal ağlarda yaygındırlar.

SQL ve NoSQL karşılaştırması bir yarış değil, bir ödünleşimdir. İlişkisel veritabanları katı bir şema uygular ve karmaşık sorgularda ile çok satırlı işlemlerde (transaction) üstündür; NoSQL veritabanları ise bu güçlerin bir kısmını belirli erişim örüntülerinde esneklik, ölçek ya da hız karşılığında feda eder. Bugün sınır daha bulanık: birçok NoSQL veritabanı işlemleri destekliyor, PostgreSQL gibi ilişkisel veritabanları da JSON saklayıp sorgulayabiliyor.

## Önemli noktalar

- NoSQL, "hiç SQL yok" değil, "yalnızca SQL değil" anlamına gelir.
- Ana türler doküman, anahtar-değer, geniş sütun ve çizge veritabanlarıdır.
- Birçok NoSQL veritabanı, çok sayıda sunucuya yatay olarak ölçeklenir.
- Şemalar genellikle esnektir; kayıtların farklı alanları olabilir.
- SQL ya da NoSQL seçimi, verinize ve onu nasıl sorguladığınıza bağlıdır.

## Örnek: MongoDB'de doküman saklamak ve sorgulamak

```javascript
// Using the MongoDB Node.js driver
const users = db.collection("users");

// Documents in the same collection can have different fields
await users.insertOne({ name: "Ada", skills: ["math", "code"] });
await users.insertOne({ name: "Linus", country: "Finland" });

// Find users whose skills array contains "code"
const coders = await users.find({ skills: "code" }).toArray();
```

## Sık sorulan sorular

**SQL ile NoSQL arasındaki fark nedir?**

SQL veritabanları veriyi sabit şemalı tablolarda saklar ve sorgular için SQL kullanır; NoSQL veritabanları ise doküman ya da anahtar-değer çifti gibi başka modelleri, genellikle esnek bir şemayla kullanır. SQL veritabanları karmaşık sorgularda ve tutarlılıkta güçlüdür; NoSQL veritabanları çoğunlukla esneklik ve yatay ölçek için seçilir.

**MongoDB bir NoSQL veritabanı mıdır?**

Evet. MongoDB, en yaygın kullanılan NoSQL türlerinden biri olan bir doküman veritabanıdır ve veriyi JSON benzeri dokümanlar olarak saklar.

**NoSQL veritabanları işlemleri (transaction) destekler mi?**

MongoDB dahil birçok modern NoSQL veritabanı çok dokümanlı işlemleri destekler, ancak sağlanan garantiler ürüne göre değişir. Geçmişte birçok NoSQL sistemi yalnızca tek bir kayıtta atomik değişiklik garanti ediyordu.

---

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