Anahtar/değer veritabanı - Key–value database
Bir anahtar değeri veritabanı veya anahtar değer kayıtlı , depolanması almak ve yönetmek için tasarlanmış bir veri depolama paradigmasıdır ilişkili dizileri ve bir veri yapısı , daha yaygın bir şekilde, bugün bilinen sözlük ya da karma tablo . Sözlükler , her biri veri içeren birçok farklı alana sahip olan bir nesneler veya kayıtlar koleksiyonu içerir . Bu kayıtlar , kaydı benzersiz bir şekilde tanımlayan ve veritabanındaki verileri bulmak için kullanılan bir anahtar kullanılarak saklanır ve alınır .
Anahtar-değer veritabanları, daha iyi bilinen ilişkisel veritabanlarından (RDB) çok farklı bir şekilde çalışır . RDB'ler, veritabanındaki veri yapısını, iyi tanımlanmış veri türlerine sahip alanları içeren bir dizi tablo olarak önceden tanımlar . Veri türlerini veritabanı programına göstermek, bir dizi optimizasyon uygulamasına izin verir. Buna karşılık, anahtar-değer sistemleri, verileri her kayıt için farklı alanlara sahip olabilen tek bir opak koleksiyon olarak ele alır. Bu, önemli ölçüde esneklik sağlar ve nesne yönelimli programlama gibi modern kavramları daha yakından takip eder . Çoğu RDB'de olduğu gibi, isteğe bağlı değerler yer tutucular veya giriş parametreleri tarafından temsil edilmediğinden, anahtar-değer veritabanları genellikle aynı veritabanını depolamak için çok daha az bellek kullanır ve bu da belirli iş yüklerinde büyük performans kazanımlarına yol açabilir.
Performans, standardizasyon eksikliği ve diğer sorunlar, anahtar-değer sistemlerini uzun yıllar niş kullanımlarla sınırladı, ancak 2010'dan sonra bulut bilişime hızlı geçiş , daha geniş NoSQL hareketinin bir parçası olarak bir rönesansa yol açtı . ArangoDB gibi bazı grafik veritabanları da dahili olarak anahtar-değer veritabanlarıdır ve birinci sınıf bir veri türü olarak kayıtlar arasındaki ilişkiler ( işaretçiler ) kavramını ekler .
Türler ve önemli örnekler
Anahtar değer veritabanları kullanabilirsiniz tutarlılık modelleri arasında değişen nihai tutarlılık için serializability . Bazıları anahtar sıralamasını destekler.
Bazıları verileri bellekte (RAM) tutarken, diğerleri katı hal sürücüleri veya dönen diskler kullanır .
Her varlık (kayıt), bir dizi anahtar-değer çiftidir. Bir anahtarın, sıralı bir liste olarak belirtilen birden çok bileşeni vardır. Ana anahtar, kaydı tanımlar ve anahtarın önde gelen bileşenlerinden oluşur. Sonraki bileşenlere küçük anahtarlar denir. Bu organizasyon, bir dosya sistemindeki bir dizin yolu belirtimine benzer (örneğin, /Major/minor1/minor2/). Anahtar-değer çiftinin "değer" kısmı, basitçe, keyfi uzunluktaki yorumlanmamış bir bayt dizisidir.
Unix sistemi, orijinal olarak Ken Thompson tarafından yazılan 1979 kitaplığı olan dbm'yi (veritabanı yöneticisi) sağlar . Ayrıca, Win32 için Perl gibi programlama dilleri aracılığıyla sağlanan Microsoft Windows'a taşınır . dbm, tek bir anahtar (birincil anahtar) kullanarak ilişkisel rastgele veri dizilerini yönetir. Modern uygulamalar arasında Berkeley DB , sdbm ve GNU dbm bulunur . dbm , NoSQL kavramından önce gelse ve modern söylemde nadiren bahsedilse de, birçok yazılım tarafından kullanılır.
Ayrıca bakınız
- Büyük veri
- Veri analizi
- Dağıtılmış veri deposu
- Belge odaklı veritabanı
- Çok modelli veritabanı
- demet alanı