NoSQL Nedir?
Yayın: · Son güncelleme:
NoSQL Nedir? Kısaca
NoSQL, verileri sabit tablolar yerine doküman, anahtar-değer, sütun ailesi ya da graf gibi esnek yapılarda saklayan veritabanlarının genel adıdır. Adı "Not only SQL" (yalnızca SQL değil) olarak yorumlanır.

NoSQL nedir?
NoSQL, ilişkisel tablo modelini kullanmayan ya da yalnızca ona bağlı kalmayan veritabanlarının ortak adıdır. Bu sistemlerde her kaydın aynı sütunlara uyması gerekmez, bu yüzden yapısı sık değişen veriler kolayca saklanır. Pek çoğu, veriyi birden fazla sunucuya dağıtarak büyük hacimlerle çalışmak üzere tasarlanmıştır.
Başlıca NoSQL türleri
Bu kavram tek bir teknoloji değil, birkaç farklı yaklaşımın şemsiye adıdır:
| Tür | Veriyi nasıl tutar? | Örnek sistem |
|---|---|---|
| Doküman | JSON benzeri belgeler | MongoDB, Firestore |
| Anahtar-değer | Anahtar ve karşılık gelen değer | Redis, DynamoDB |
| Sütun ailesi | Geniş, seyrek satırlar | Cassandra, HBase |
| Graf | Düğümler ve ilişkiler | Neo4j |
Örneğin bir mobil uygulamada kullanıcı profili tek bir doküman olarak tutulabilir. Bir kullanıcının üç telefon numarası, diğerinin hiç numarası olmaması sorun çıkarmaz.
İlişkisel veritabanından farkı
En belirgin fark şemadır. İlişkisel veritabanı tabloları önceden tanımlamanızı ister, NoSQL sistemleri ise çoğunlukla şemayı uygulama tarafına bırakır. Ölçekleme tarafında NoSQL genellikle yeni sunucu ekleyerek büyür.
Bu esnekliğin bedeli de vardır. Bazı NoSQL sistemleri tutarlılıktan biraz ödün vererek hız kazanır ve tablolar arası JOIN benzeri işlemler sınırlı olabilir. Muhasebe gibi her kuruşun tutması gereken işlerde ilişkisel model hâlâ daha yaygındır.
Seçerken nelere bakmalı?
Önce verinizin şekline ve en sık yapacağınız sorgulara bakın. Ürün kataloğu, oturum bilgisi, sosyal ağ bağlantıları ya da sensör verileri NoSQL'e uygun örneklerdir. Kararsız kaldığınızda küçük bir prototip kurup gerçek sorgularınızı denemek, teorik karşılaştırmalardan daha net sonuç verir.
Sıkça Sorulan Sorular
NoSQL veritabanlarında SQL hiç kullanılmaz mı?
Kullanılabilir. Adı "yalnızca SQL değil" anlamına gelir ve bazı NoSQL sistemleri SQL'e benzeyen sorgu dilleri sunar. Örneğin Cassandra'nın CQL adlı dili SQL'e oldukça yakındır.
NoSQL, ilişkisel veritabanından daha mı hızlıdır?
Her durumda değil. Basit anahtar okumalarında ve dağıtık yazma işlemlerinde hızlı olabilir, ancak karmaşık ilişkili sorgularda ilişkisel sistemler daha verimli çalışır. Hız, verinin yapısına ve sorgu tipine bağlıdır.