Junior
NoSQL veritabanları nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
NoSQL (Not Only SQL), geleneksel tablolarla sabit şemaya sahip olmayan yapıları kullanan bir sınıf veritabanı yönetim sistemidir. Büyük miktarda yapılandırılmamış, yarı yapılandırılmış ve çok yapılandırılmış verilerle çalışmak üzere tasarlanmışlardır ve esnek ölçeklenebilirlik ile yüksek kullanılabilirlik sağlarlar.
NoSQL veritabanlarının ana kategorileri:
- "Anahtar-değer" (Key-Value Stores): Verileri anahtar-değer çiftleri olarak saklarlar, burada anahtar değeri benzersiz şekilde tanımlar.
# Bir anahtar-değer deposunda veri gösterimi örneği user_data = { "user:123": {"name": "Alice", "age": 30}, "product:456": {"name": "Laptop", "price": 1200} } - "Sütunlu" (Columnar Databases): Verileri satır yerine sütunlar halinde saklarlar. Analitik sorgular ve büyük veri işleme için optimize edilmiştir.
- "Belge" (Document Databases): Verileri belgeler (örneğin, JSON, BSON, XML) biçiminde saklarlar. Veri şeması esnektir.
// Belge veritabanında bir belge örneği { "_id": "prod_abc", "name": "Smartphone", "brand": "XYZ", "specs": { "display": "6.5 inch", "camera": "48MP" }, "tags": ["elektronik", "mobil"] } - "Graf" (Graph Databases): Düğümler (noktalar) ve kenarlar (ilişkiler) biçiminde temsil edilen verilerin saklanması ve işlenmesi için tasarlanmıştır. İlişkilerin analizinde kullanılır.
SQL tabanlı ilişkisel veritabanlarından farkları:
| Özellik | İlişkisel (SQL) | NoSQL |
|---|---|---|
| Veri şeması | Sabit, katı | Esnek, dinamik |
| Ölçeklenebilirlik | Dikey (sunucu gücünü artırma) | Yatay (sunucu ekleme) |
| Normalizasyon | Yüksek (fazlalığı azaltma) | Düşük (performans için veri çoğaltma) |
| ACID işlemleri | Genellikle tam destek | Değişken destek (bazen BASE) |
| Sorgu dili | SQL | Çeşitli (genellikle API, özgü diller) |
NoSQL veritabanları, yüksek ölçeklenebilirlik, şema esnekliği, büyük veri işleme hızı (Big Data), yarı yapılandırılmış veya yapılandırılmamış verilerle çalışma veya belirli veri modelleri (örneğin, grafikler) gerektiren senaryolar için tercih edilir.