Ana içeriğe geç

Key-Value Store

Anahtar-Değer Deposu

Türkçe karşılığı
anahtar-değer veritabanı
Okunuşu
ki velyu stor

Günlük kullanımda iki ad da yaygın.

Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/key-value-store

Kısaca

Key-value store, her veriyi benzersiz bir anahtar altında saklayan bir NoSQL veritabanıdır; uygulama veriyi bu anahtarla çok hızlı okuyup yazabilir.

Key-value store nedir?

Key-value store, NoSQL veritabanlarının en basit türüdür: her kayıt, benzersiz bir anahtar ve bir değerden oluşan bir çifttir. Anahtar genellikle user:42:profile gibi bir dizedir; değer ise bir sayıdan ya da dizeden JSON dokümanına veya ikili veriye kadar her şey olabilir. Veriyi SET gibi bir işlemle saklar ve her zaman anahtarıyla GET ile geri okursunuz.

Arka planda çoğu key-value store dev bir hash tablosu gibi çalışır. Anahtar, değerin tam olarak nerede yaşadığını bulmak için hash'lenir; böylece ne kadar veri saklanırsa saklansın okuma ve yazmalar kabaca aynı sürede gerçekleşir. Bazı depolar milisaniyenin altında hız için her şeyi bellekte tutar, çoğu zaman isteğe bağlı diske kaydetmeyle; diğerleri ise diskte kurulur ve anahtarları birçok sunucuya yayar.

Bir tiyatrodaki vestiyeri düşünün: paltonuzu verir ve numaralı bir bilet alırsınız; daha sonra paltoyu geri almak için gereken tek şey biletir. Görevli ceplerde ne olduğunu umursamaz. Bu, key-value store'ları önbellekler, kullanıcı oturumları, alışveriş sepetleri, özellik bayrakları (feature flag) ve hız sınırlama sayaçları için harika bir seçim yapar.

Ödünleşim, sınırlı sorgulamadır. Key-value store çoğu zaman JSON'u da saklayan ancak her dokümanın içindeki alanları arayıp indeksleyebilen bir doküman veritabanıyla karıştırılır. Saf bir key-value store'da, anahtarlarınızı bu soru için önceden tasarlamadıysanız belirli bir şehirdeki tüm kullanıcıları verimli biçimde isteyemezsiniz.

Önemli noktalar

  • Her kayıt, bir değerle eşleşen benzersiz bir anahtardır.
  • Anahtarla arama çok hızlıdır, genellikle sabit zamana yakındır.
  • Yaygın kullanımlar arasında önbellekleme, oturumlar, sayaçlar ve özellik bayrakları vardır.
  • Genellikle bir değerin içeriğine göre sorgulama yapamazsınız.
  • user:42:cart gibi iyi anahtar adlandırma, tasarımın önemli bir parçasıdır.

Örnek

Redis uyumlu bir komut satırı istemcisiyle temel işlemlerbash
# Store a value under a key, then read it back by the same key
redis-cli SET user:42:name "Ada"
redis-cli GET user:42:name        # "Ada"

# Store a session that expires after 30 minutes (1800 seconds)
redis-cli SET session:abc123 "user-42" EX 1800

# Increase a counter atomically
redis-cli INCR page:home:views

# Remove a key
redis-cli DEL session:abc123

Sık sorulan sorular

Key-value store ile önbellek aynı şey midir?

Tam olarak değil. Önbellek bir kullanım senaryosudur, key-value store ise bir veritabanı türüdür; birçok önbellek bellek içi key-value store'lar üzerine kurulur, ancak key-value store'lar kalıcı birincil veritabanları da olabilir.

İlişkisel veritabanı yerine ne zaman key-value store kullanmalıyım?

Veriyi her zaman bilinen bir anahtarla arıyorsanız ve oturumlar ya da sayaçlar gibi çok hızlı okuma ve yazma gerekiyorsa kullanın. Birleştirmelere, karmaşık filtrelemeye ya da kayıtlar arasında katı ilişkilere ihtiyacınız varsa ilişkisel veritabanı genellikle daha uygundur.

Key-value store ile hash tablosu arasındaki fark nedir?

Hash tablosu, tek bir programın içindeki bellek içi bir veri yapısıdır; key-value store ise birçok programın ağ üzerinden paylaşabildiği bir veritabanı hizmetidir. Birçok key-value store dahilen hash tabloları kullanır ve üzerine kalıcılık, süre dolumu ve replikasyon ekler.

İlgili sayfalar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar