ScholarGate
Asistan

NoSQL Veri Depoları

NoSQL veri depoları, yatay olarak ölçeklenebilirlik ve erişilebilirlik sağlamak amacıyla, bazı ilişkisel garantilerden feragat etme pahasına esnek veri modelleri ve dağıtım stratejileri benimseyen, anahtar-değer, belge, geniş sütunlu ve grafik tabanlı ilişkisel olmayan veritabanlarıdır.

PaperMind ile konu bulYakındaMakale ve konu bul
Tools & resources
Slaytları indir
Learn & explore
VideoYakında

Tanım

NoSQL veri deposu, ilişkisel modelden ayrılan, verileri anahtar-değer çiftleri, belgeler, geniş seyrek sütunlar veya grafikler olarak düzenleyen ve tipik olarak ölçeklenebilirlik ve erişilebilirlik sağlamak amacıyla replikasyon ve gevşek tutarlılık ile bir küme üzerinde dağıtan bir veritabanıdır.

Kapsam

Bu konu, NoSQL sistemlerinin ana kategorilerini ve veri modellerini kapsamaktadır: basit arama işlemleri için anahtar-değer depoları, iç içe geçmiş kayıtlar için belge depoları, seyrek, büyük tablolar için geniş sütunlu depolar ve yüksek düzeyde bağlantılı veriler için grafik veritabanları. Bu sistemlerde yaygın olan tasarım tercihleri — parçalama (sharding), replikasyon ve ayarlanabilir tutarlılık — ve her modelin uygun olduğu erişim desenleri incelenmektedir. Konu, bitişik alanlar olan geniş tutarlılık kuramını (CAP ve tutarlılık modellerini) ve işleme çerçevelerini dışarıda bırakmaktadır.

Temel sorular

  • Her bir NoSQL kategorisi (anahtar-değer, belge, geniş sütunlu, grafik) hangi veri modelini sunmaktadır?
  • Her kategoriye hangi erişim desenleri ve iş yükleri uygun düşmektedir?
  • NoSQL depoları, ölçeklenebilirlik ve erişilebilirlik için verileri nasıl parçalamakta (shard) ve çoğaltmaktadır (replicate)?
  • Hangi ilişkisel özelliklerden (birleştirmeler, işlemler, şemalar) feragat etmektedirler ve neden?
  • Ayarlanabilir tutarlılık ayarları, uygulamaların gecikme süresi (latency) ve güncellik (freshness) arasındaki dengeyi nasıl kurmasını sağlamaktadır?

Anahtar kavramlar

  • anahtar-değer deposu
  • belge deposu
  • geniş sütunlu depo
  • grafik veritabanı
  • parçalama (sharding) ve replikasyon
  • ayarlanabilir tutarlılık
  • şema esnekliği
  • denormalize edilmiş erişim desenleri

Temel kuramlar

Anahtar-değer ve geniş sütunlu modeller
Anahtar-değer depoları, basit ve hızlı arama işlemleri için opak anahtarları değerlerle eşleştirmektedir; geniş sütunlu depolar ise verileri esnek, seyrek sütun ailelerine sahip satırlar halinde düzenlemektedir. Dynamo ve Bigtable tarafından örneklendirilen her iki model de parçalama (sharding) ve replikasyon ile büyük kümelere ölçeklenebilmektedir.
Belge ve grafik modelleri
Belge depoları, kendi kendini tanımlayan iç içe geçmiş kayıtları (genellikle JSON) tutmakta ve yapıları üzerinde sorguları desteklemektedir; grafik veritabanları ise varlıkları ve ilişkileri, yüksek düzeyde bağlantılı verilerin dolaşımı için optimize edilmiş düğümler ve kenarlar olarak modellemektedir.
Ölçek için gevşetilmiş garantiler
Yatay olarak ölçeklenmek ve erişilebilir kalmak için birçok NoSQL deposu şemaları gevşetmekte, çoklu satır işlemlerini ve birleştirmeleri bırakmakta ve ayarlanabilir veya nihai tutarlılık sunarak, veri bütünlüğü sorumluluğunun bir kısmını uygulamaya kaydırmaktadır.

Klinik önem

NoSQL depoları, internet hizmetlerinin yaygın olarak kullanılan yapı taşlarıdır: anahtar-değer ve geniş sütunlu depolar, oturum durumunu, katalogları ve zaman serisi verilerini büyük ölçekte desteklemektedir; belge depoları esnek uygulama verilerine uygunluk göstermektedir; ve grafik veritabanları öneri ve dolandırıcılık tespiti sistemlerine güç vermektedir; bu da veri mühendisliği için modellerinin bilgisini temel hale getirmektedir.

Tarihçe

NoSQL hareketi, internet şirketlerinin tek düğümlü ilişkisel veritabanlarının ötesine ölçeklenme ihtiyacından doğmuştur. Google'ın Bigtable'ı (2006/2008) geniş sütunlu modeli tanıtmış ve Amazon'un Dynamo'su (2007) yüksek erişilebilir, nihai tutarlı anahtar-değer modelini sunmuştur. Bu etkili tasarımlar, 2000'li yılların sonları ve 2010'lu yıllarda açık kaynaklı anahtar-değer, belge, geniş sütunlu ve grafik veritabanlarının bir neslini ortaya çıkarmıştır.

Öne çıkan isimler

  • Werner Vogels
  • Jeffrey Dean
  • Sanjay Ghemawat

İlgili konular

Temel eserler

  • decandia2007
  • chang2008

Sıkça sorulan sorular

Anahtar-değer, belge, geniş sütunlu ve grafik depoları arasından nasıl seçim yapmalıyım?
Modeli erişim desenine göre eşleştirin: bilinen bir anahtarla basit aramalar için anahtar-değer; alanlarına göre sorgulanan, kendi içinde bütün, iç içe geçmiş kayıtlar için belge; öngörülebilir satır anahtarı erişimine sahip çok büyük, seyrek tablolar için geniş sütunlu; ve sosyal ağlar veya öneriler gibi ilişkiler ve dolaşımların baskın olduğu veriler için grafik veritabanları tercih edilmelidir.
NoSQL depoları işlemleri (transactions) desteklemekte midir?
Tarihsel olarak birçok NoSQL deposu, ölçeklenebilirlik karşılığında yalnızca tek anahtarlı atomik işlemler sunmuş ve çoklu kayıt işlemlerini desteklememiştir. Bu durum değişmiştir: günümüzde birçok modern NoSQL ve 'NewSQL' sistemi, çoklu belge veya hatta dağıtılmış işlemler sağlamaktadır. Bu nedenle, işlem desteği büyük ölçüde farklılık göstermekte ve her sistem için ayrı ayrı kontrol edilmesi gerekmektedir.

Bu kavram için yöntemler

İlgili kavramlar