Deməli, dostlar, yenə də möhtəşəm hekayələrin vaxtı gəldi. Zarafatsız! Təsəvvür elə ki, sənin database-in — içində dəyərli məlumatlar olan bir kitabdır. Bəs nə baş verər, əgər təsadüfən bu kitabdan səhifələri qoparsan, ya da onu bir əjdaha yandırsa (və ya hard disk qəfil qərara gəlsə ki, indi sıradan çıxmaq üçün ən uyğun vaxtdır)? Hər iki halda, real və ya fantastik, məlumatını itirəcəksən. Bax, məhz burada backup-lar köməyə gəlir — məlumatların üçün bir növ “sığorta ipi” kimi.
Ehtiyat nüsxə çıxarmaq, yəni sadə dillə desək, backup etmək — məlumatların ayrıca bir faylda və ya başqa bir yerdə saxlanılması prosesidir ki, gözlənilməz bir vəziyyətdə onları bərpa edə biləsən.
Backup-lar — nəsə düz getməsə, sənin sığortandır. Onlar avadanlıq və ya proqram nasazlıqlarından sonra məlumatları bərpa etməyə, təsadüfi səhvləri (məsələn, ehtiyatsız DELETE əmri WHERE olmadan) geri qaytarmağa, həmçinin development-dan production-a kimi serverlər arasında database-i rahat köçürməyə imkan verir. Bundan əlavə, backup-lar tez-tez köhnə məlumatların arxivləşdirilməsi üçün istifadə olunur — “birdən lazım olar” və ya tarix üçün saxlamaq istəyəndə. Onsuz kritik anda əlin boş qala bilər.
Məlumat itkisi riskləri
Gəlin, məlumatlarını məhv edə biləcək real təhlükələrdən danışaq. Bu, zarafat deyil! Budur, hər bir database admin-inin qorxudan tər basacağı bir neçə nümunə:
Avadanlıq nasazlıqları. Hard disk-lər sıradan çıxır, flash kartlar itir, serverlər isə bəzən “əbədi məzuniyyətə” çıxmaq qərarına gəlir.
İstifadəçi səhvləri.
Onda olur ki, developer təsadüfən belə bir sorğu işə salır:
DELETE FROM telebeler;
WHERE istifadə etmədən. Təbriklər, sən bütün tələbələri sildin! (Ümid edirəm, database-in dekanı deyilsən).
Zərərli hücumlar.
Hacker-lər sisteminə hücum edib məlumatları şifrələyə və ya silə bilər.
Təbii fəlakətlər.
Film ssenarisi kimi səslənsə də, zəlzələ və ya daşqın serverlərini məhv edə bilər.
Və əlbəttə, təhlükəsizlik hissi heç vaxt artıq olmur. Backup-u bir dəfə qurmaq, sonra isə database-i sıfırdan bərpa etməyə çalışmaqdan qat-qat yaxşıdır — əjdahanı məlumatlarını qaytarmağa razı salmağa ümid etməkdənsə.
Backup-lardan istifadə üçün əsas ssenarilər
Artıq backup-ların niyə lazım olduğunu başa düşdün, indi isə gəlin, onlar hansı hallarda vəziyyəti xilas edir, baxaq.
Nasazlıqdan sonra məlumatların bərpası
İşləyirsən, birdən hər şey çökür — database, server, internet. Nasazlıq! Backup olmadan oturub düşünəcəksən ki, sonuncu dəfə məlumatların harada idi. Backup ilə isə sistemi tez bərpa edə biləcəksən. Bunun üçün adətən nasazlıqdan əvvəl çıxarılmış nüsxə istifadə olunur. Məsələn:
- Serverin tam sıradan çıxması. Bütün database-i ehtiyat nüsxədən bərpa edirsən.
- Ayrı-ayrı cədvəllərin zədələnməsi. Yalnız lazım olan cədvəlləri bərpa edirsən.
Serverlər arasında məlumatların köçürülməsi
Təsəvvür elə ki, database-i bir serverdən digərinə köçürmək lazımdır: məsələn, avadanlığı yeniləmək və ya yeni server qurmaq üçün. Belə hallarda backup-lar bu işi tez həll edir. Köhnə serverdə nüsxə çıxarırsan, sonra onu yenidə bərpa edirsən.
Database-in backup-unu çıxarmaq üçün komanda nümunəsi:
pg_dump -U postgres -d universitet -f universitet_backup.sql
Yuxarıdakı komanda universitet database-in ehtiyat nüsxəsini yaradır, hansı ki, başqa serverdə bərpa üçün istifadə oluna bilər.
Uzunmüddətli saxlama üçün məlumatların arxivləşdirilməsi
Bəzən məlumatları gələcək analiz və ya tarix üçün saxlamaq istəyirsən. Məsələn, son 10 ilin sifarişləri varsa, ən köhnə məlumatları arxivə köçürüb əsas database-də yer aça bilərsən.
Bu yanaşma kömək edir:
- Əsas database-in işini sürətləndirməyə.
- Dəyərli tarixi məlumatları saxlamağa — birdən lazım olar.
Backup-lar vəziyyəti xilas etdiyi real nümunələr
Backup-un vacibliyini hiss etmək üçün real həyatdan bir neçə hekayə:
Hacker hücumundan sonra bərpa. Bir dəfə bir şirkət ransomware virusuna görə bütün məlumatlarını itirdi. Onları xilas edən yeganə şey — bir gün əvvəl çıxarılmış backup idi. Hücum nəticəsində biznesi itirmək əvəzinə, cəmi 2 saatlıq fasilə ilə qurtuldular.
Developer səhvləri. (Kim düşünərdi ki, developer-lər də səhv edir?) Tələbələrdən biri diplom işi üçün olan cədvəli sildi. Xoşbəxtlikdən, database-in backup-u hər şeyi 10 dəqiqəyə bərpa etməyə imkan verdi.
Hələlik bu qədər. Artıq bilirsən ki, ehtiyat nüsxələr niyə lazımdır, hansı risklərin qarşısını alır və onları nə qədər tez-tez çıxarmaq lazımdır. Növbəti leksiya backup-ların növlərinə daha dərindən baxacaq və hansı növün sənin məqsədlərinə daha uyğun olduğunu başa düşməyə kömək edəcək. Gələn leksiyada görüşənədək!
GO TO FULL VERSION