Data Redundancy nədir?
Data Redundancy (məlumat təkrarı, artıqlıq) — verilənlər bazasında eyni məlumatın bir neçə yerdə — fərqli sətirlərdə və ya cədvəllərdə — saxlanılmasıdır. Bu, adətən verilənlər bazasının düzgün layihələndirilməməsi və normallaşdırılmaması nəticəsində yaranır.
Nümunə
Məktəb şagirdlərinin siyahısını tək bir cədvəldə saxladığımızı təsəvvür edək:
ŞagirdSinifSinif rəhbəriRəhbərin telefonuAysel7ALeyla Həsənova050 111 22 33Murad7ALeyla Həsənova050 111 22 33Nərmin7ALeyla Həsənova050 111 22 33
Burada sinif rəhbərinin adı və telefonu hər şagird üçün təkrarlanır. Sinifdə 30 şagird varsa, eyni nömrə 30 dəfə saxlanılır. Müəllim nömrəsini dəyişəndə onu 30 sətirdə yeniləmək lazımdır. Bir sətir unudulsa, bazada iki fərqli nömrə olacaq və hansının doğru olduğunu bilmək mümkün olmayacaq.
Data Redundancy nə üçün yaranır?
- Cədvəllər arasında əlaqə qurulmaması: Cədvəlləri bir-birinə bağlamaq əvəzinə eyni məlumat təkrar-təkrar daxil edilir.
- Verilənlər bazasının normallaşdırılmaması: Məlumat məntiqi hissələrə bölünüb ayrı-ayrı cədvəllərdə saxlanılmırsa, təkrar qaçılmaz olur.
- Köhnə sistemlərdən keçid: Köhnə və ya sadə sistemlərdən yeni sistemə keçid zamanı təkrarlanan məlumatlar da köçürülə bilər.
- Bir neçə ayrı sistemin istifadəsi: Məsələn, eyni müştəri məlumatı həm satış, həm də mühasibat sistemində ayrıca saxlanılır.
Mənfi cəhətləri
- Yaddaşın israfı: Təkrarlanan məlumatlar lazımsız yer tutur.
- Məlumat uyğunsuzluğu (Data Inconsistency): Yuxarıdakı nümunədə olduğu kimi, eyni məlumatın fərqli nüsxələri bir-birinə zidd ola bilər.
- Yeniləmə anomaliyaları: Məlumatı dəyişmək üçün onu bütün yerlərdə tapıb dəyişmək lazımdır. Bu, həm vaxt aparır, həm də səhv ehtimalını artırır.
- Yazma əməliyyatlarının yavaşlaması: Hər əlavə və yeniləmə zamanı daha çox məlumat emal olunur.
- Məlumat bütövlüyünün pozulması: Bir-birinə zidd məlumatlar bazanın etibarlılığını aşağı salır.
Necə qarşısını almaq olar?
- Normallaşdırma (Normalization): Məlumatlar məntiqi hissələrə bölünür və əlaqəli cədvəllərdə saxlanılır. Normallaşdırmanın səviyyələri normal formalar adlanır: Birinci (1NF), İkinci (2NF), Üçüncü (3NF) normal forma və s. Hər növbəti forma əvvəlkinin bütün şərtlərinə də cavab verir. Praktikada əksər verilənlər bazaları ən azı 3NF səviyyəsinə çatdırılır.
- Primary Key və Foreign Key istifadəsi: Məlumat bir dəfə saxlanılır, digər cədvəllər isə ona istinad edir.
Yuxarıdakı nümunəni normallaşdırsaq, iki cədvəl alarıq:
Müəllimlər:
idAdTelefon1Leyla Həsənova050 111 22 33
Şagirdlər:
ŞagirdSinifmuellim_idAysel7A1Murad7A1Nərmin7A1
İndi telefon nömrəsi yalnız bir yerdə saxlanılır. Onu dəyişmək üçün bir sətri yeniləmək kifayətdir. Lazım olanda iki cədvəl SQL-də JOIN əmri ilə birləşdirilir.
Təkrar bəzən faydalı ola bilərmi?
Bəli, bəzi hallarda məlumat qəsdən təkrarlanır:
- Denormallaşdırma (sürət üçün): Çox tez-tez oxunan məlumatlar hər dəfə bir neçə cədvəli birləşdirmək əvəzinə hazır şəkildə təkrar saxlanılır. Bu, oxumağı sürətləndirir, amma yeniləməni çətinləşdirir. Bir çox NoSQL verilənlər bazası məhz bu prinsiplə işləyir.
- Etibarlılıq üçün nüsxələr: Məlumatın bir neçə serverdə və ya data mərkəzində eyni vaxtda saxlanılması (replikasiya), eləcə də ehtiyat nüsxələr (backup) avadanlıq nasazlığı zamanı məlumat itkisinin qarşısını alır.
Bu təkrarlar planlı və nəzarət altında olur. Data Redundancy problemi isə plansız, səhv dizayndan yaranan təkrardır.
Nəticə
Data Redundancy verilənlər bazası layihələndirilərkən diqqət yetirilməli ən vacib anlayışlardan biridir. Plansız təkrar səhvlərə, uyğunsuzluğa və idarəetmə çətinliklərinə səbəb olur. Ona görə verilənlər bazası yaradılarkən normallaşdırma prinsiplərindən istifadə etmək, təkrara isə yalnız şüurlu qərar kimi — sürət və ya etibarlılıq üçün — yol vermək lazımdır.
İstəyirsiniz ki, bu biliyi praktikaya keçirib real nəticələr əldə edəsiniz? IT və Kompüter Mühəndisliyi kursumuzla addım-addım öyrənməyə başlayın. Ətraflı məlumat üçün linkə keçid edin: IT və Kompüter Mühəndisliyi kursu
