Sütun-yönlü verilənlər bazası

Vikipediya, azad ensiklopediya
NurAy (müzakirə | töhfələr) tərəfindən edilmiş 07:35, 21 oktyabr 2024 tarixli redaktə
Naviqasiyaya keç Axtarışa keç

Sütun-yönlü verilənlər bazası (ing. Column-Oriented Database) — məlumatları ənənəvi cədvəl əsaslı verilənlər bazalarından fərqli olaraq, sətirlar yerinə sütunlar üzrə saxlayır. Ənənəvi əlaqəli verilənlər bazalarında (RDBMS) məlumatlar sətir şəklində saxlanılır, yəni hər bir sətir bütöv məlumatlar dəstini təmsil edir. Sütun-yönlü verilənlər bazasında isə hər bir sütun ayrıca saxlanır, bu da bəzi növ sorğular və böyük həcmli verilənlər üzərində daha səmərəli emal aparmağa imkan verir.[1][2]

Xüsusiyyətləri

  1. Sütun əsaslı saxlanma — məlumatlar sətir-sətir deyil, sütunlar şəklində saxlanır. Bu o deməkdir ki, hər bir sütunun məlumatları diskdə birgə saxlanılır. Məsələn, Ad, Soyad, Yaş sütunları ayrılıqda saxlanılır, bu da sütun üzrə analiz və oxuma əməliyyatlarını sürətləndirir.[3]
  2. Sürətli analitik sorğular — sütun-yönlü saxlanma metodu, xüsusilə analitik və hesabat sorğularında (məsələn, böyük verilən dəstləri üzərində agregasiya əməliyyatları) daha səmərəli olur, çünki yalnız lazım olan sütunlar oxunur və sətirlərın bütün məlumatları üzərində emal aparılmır.
  3. Məlumatların sıxılması — eyni sütun daxilində oxşar tipli məlumatlar saxlanıldığı üçün məlumatların sıxılması daha effektivdir. Sıxılmış məlumatlar daha az yer tutduğuna görə disk və yaddaşdan daha az istifadə olunur və oxuma əməliyyatları sürətlənir.
  4. Üfüqi genişlənmə (ing. scalability) — böyük verilənlər dəstlərinin müxtəlif nodelərə bölünərək saxlanılması və emalı üçün sütun-yönlü bazalar genişlənə bilər. Üfüqi genişlənmə onları paylanmış sistemlər üçün daha uyğun edir.[4]

Üstünlükləri

  • Hesabat və analitik proseslər üçün optimallaşdırma — böyük verilən dəstləri üzərində SUM(), COUNT(), AVG() kimi əməliyyatları yerinə yetirən analitik sorğular üçün çox əlverişlidir.
  • Lazımsız məlumatları yükləməmə — sətir-yönlü verilənlər bazasında bir sorğuda bütün sətirin yüklənməsi lazım gəlir, lakin sütun-yönlü bazalarda yalnız sorğunun tələb etdiyi sütunlar oxunur.
  • Sıxılmış məlumatlarla yüksək performans — məlumatların sıxılması oxuma əməliyyatlarını daha da sürətləndirir.

İstifadə sahələri

  • Verilən anbarları (ing. Data Warehousing) — böyük həcmli verilənlərin analiz edilməsi və hesabat çıxarılması ilə məşğul olan sistemlərdə sütun-yönlü bazalar geniş istifadə olunur.
  • Big Data analizləri — məsələn, maliyyə məlumatlarının və ya elmi məlumatların emal edilməsi üçün sütun-yönlü verilənlər bazaları uyğun seçimdir.
  • Real-time analitika — real vaxtda məlumatlara əsaslanan analitik sistemlərdə, məsələn, klik axını (ing. clickstream) analizi, marketinq analitikası və digərlərində istifadə edilir.

Tanınmış sütun-yönlü verilənlər bazaları

  • Apache HBase — geniş miqyaslı paylanmış verilənlər üçün açıq mənbəli sütun-yönlü verilənlər bazası.
  • Google Bigtable — Google-un paylanmış sütun-yönlü verilənlər bazası, geniş miqyaslı tətbiqlərdə istifadə olunur.
  • Apache Cassandra — paylanmış sütun-yönlü verilənlər bazası, çox yüksək genişlənmə və davamlılıq təmin edir.
  • Amazon Redshift — Amazon Web Services-də böyük verilənlərin saxlanılması və analiz edilməsi üçün sütun-yönlü verilənlər bazası.

Sütun-yönlü verilənlər bazaları, əsasən, böyük həcmli məlumatlar üzərində sorğu əməliyyatlarının sürətini artırmaq və analitik hesabatlar üçün optimallaşdırma məqsədilə istifadə edilir. Lakin kiçik və ya tranzaksional əməliyyatlar üçün ənənəvi sətir-yönlü verilənlər bazaları daha uyğun ola bilər.

İstinadlar

  1. Abadi, Daniel J.; Madden, Samuel R.; Hachem, Nabil. Column-stores vs. Row-stores: How different are they really? // Proceedings of the 2008 ACM SIGMOD international conference on Management of data. 2008. 967–980. doi:10.1145/1376616.1376712. ISBN 978-1-60558-102-6.
  2. Funke, Florian; Kemper, Alfons; Neumann, Thomas. "Compacting Transactional Data in Hybrid OLTP&OLAP Databases". Proceedings of the VLDB Endowment. 5 (11). 2012: 1424–1435. doi:10.14778/2350229.2350258.
  3. "Apache ORC". İstifadə tarixi: 2024-05-21.
  4. "Apache Arrow". İstifadə tarixi: 2024-05-21.