Video: What is a Columnar Database? 2024
NoSQL sütun mağazaları, ilk bakışta geleneksel ilişkisel DBMS'ye benzer. Satır ve sütun kavramları hala var. Verileri veritabanına yüklemeden önce sütun ailelerini de tanımlarsınız, yani verilerin yapısının önceden bilinmesi gerekir.
Ancak, sütun depoları, verileri ilişkisel veritabanlarından farklı olarak organize eder. Verileri hızlı erişim için bir sıraya koymak yerine, hızlı sütun işlemleri için veri organize edilir. Bu sütun merkezli görünüm, sütun mağazalarını toplama işlevlerini çalıştırmak veya birden fazla sütuna uyan kayıtları aramak için ideal kılar.
Toplam fonksiyonlar veri kombinasyonları veya analiz fonksiyonlarıdır. Sonuç sayısını saymak, toplamak veya ortalama ortalamalarını hesaplamak kadar basit olabilirler. Ancak daha karmaşık olabilirler - örneğin, kapsamlı bir süreyi tanımlayan karmaşık bir değeri geri getirmek.
Sütun mağazalarına bazen Büyük Tablolar veya Büyük Tablalı klonlar denir ve ortak ataları olan Google'ın Bigtable'ını yansıtır.
Belki sütun depolarıyla geleneksel bir RDBMS arasındaki en önemli fark, bir sütun deposunda her kaydın (RDBMS'deki satır düşünün) tek bir değer gerektirmediğidir sütun başına. Bunun yerine, sütun ailelerini modellemek mümkündür. Tek bir kayıt, kimlik alanı, "müşteri" bilgileri için bir sütun ailesi ve "sipariş madde" bilgisi için başka bir sütun ailesinden oluşabilir.
Bu sütun ailelerinin her biri birkaç alandan oluşur. Bu sütun ailelerinden biri kendi başına birden çok "satır" içeriyor olabilir. Örneğin, sipariş öğesi bilgileri, her satır öğesi için bir tane olmak üzere birden çok satır içerir. Bu satırlar, öğe kimliği, miktar ve birim fiyat gibi verileri içerir.
Bir RDBMS üzerinden bir sütun deposunun en önemli yararı, sütun depolarının her zaman bulunması gereken alanlar gerektirmediği ve bir RDBMS gibi boş bir doldurma boş değeri gerektirmediği. Bu özellik, disk alanını koruyarak seyrek veri sorununun önüne geçer. Burada değişken ve seyrek veri kümesine örnek gösterilmektedir.
Sütun depolarıyla ilgili en iyi şey, ilgili RDBMS'de olduğu gibi karmaşık Yapısal Sorgulama Dili (SQL) birleşimini kullanmak yerine tek bir kayıt kimliğini kullanarak tüm ilgili bilgileri alabilmenizdir. Bunu yapmak biraz ileri modelleme ve veri analizi gerektirir.
Gösterilen örnekte, geliştiricinin bir sorgunun sorgusunun bir karmaşık birleşim sözdiziminden haberdar olması gerekmediğinin aksine, tek bir sütun mağaza satırı seçerek tüm sipariş bilgilerini alabilirsiniz. bir RDBMS'de karmaşık SQL birleşimleri kullanıyor olmalıyız.
Böylece, karmaşık ve değişken ilişkisel veri yapıları için, bir sütun deposu, RDBMS atalarına kıyasla, depolama alanında daha verimli olur ve geliştirme aşamasında daha az hata verir.
öğesi sütun ailesinde, her öğenin kimliği anahtarın içinde temsil edilir ve değer sipariş edilen miktardır. Bu ayar, bu madde kimliği içeren tüm siparişlerin hızlı bir şekilde aranmasına olanak tanır.
Ön taraftaki veri alanlarını biliyorsanız ve ilgili verileri tek bir kayıt olarak hızla almak istiyorsanız, bir sütun mağazası düşünün.