Data Migration — mahiyyəti, metodları və məlumat köçürmə prosesi

Müəllif: IT Sectr Dərc olunub: 2026-06-14 Oxuma vaxtı: 10 dəq

Data Migration — məlumatların saxlama sistemləri, formatlar və ya proqram təminatı versiyaları arasında köçürülməsi prosesidir. Tətbiq inkişafında məlumat miqrasiyası verilənlər bazasının yenilənməsi, provayderin dəyişdirilməsi və ya yeni saxlama arxitekturasına keçid zamanı tələb olunur. Gartner (2025) məlumatına görə, məlumat miqrasiyası layihələrinin 60%-i kifayət qədər test edilməməsi və geri qayıtma strategiyasının olmaması səbəbindən planlaşdırılmış büdcəni aşır. Düzgün planlaşdırılmış miqrasiya dayanma müddətini minimuma endirir və məlumat itkisini aradan qaldırır.

Əsas məqamlar

  • Data Migration — məlumatların bütövlük və əlçatanlıq qorunmaqla sistemlər arasında köçürülməsi.
  • ETL prosesi (Extract, Transform, Load) — istənilən məlumat miqrasiyasının əsas modeli.
  • Big Bang — qısa dayanma pəncərəsində bir dəfəlik miqrasiya.
  • Trickle — sistemi dayandırmadan axın sinxronizasiyası.
  • Geri qayıtma — nasazlıq zamanı ilkin vəziyyətə qayıtmaq üçün məcburi plan.

Data Migration nədir

Data Migration — məlumatların bir mənbədən digərinə bütövlük, ardıcıllıq və tamamlandıqdan sonra əlçatanlıq təmin edilməklə köçürülməsi prosesidir. Sadə kopyalamadan fərqli olaraq, miqrasiya formatların transformasiyası, dublikatların təmizlənməsi, referensial bütövlüyün yoxlanılması və nəticənin validasiyasını əhatə edir.

Data Migration ehtiyacı DBMS yeniləməsi (məsələn, MySQL 5.7-dən MySQL 8.0-a), bulud provayderinin dəyişdirilməsi, monolitdən mikroxidmətlərə keçid və ya sxemdən NoSQL-ə keçid zamanı yaranır. Stripe (2024) məlumatına görə, şirkətlərin 89%-i ən azı iki ildə bir dəfə məlumat miqrasiyası ilə qarşılaşır, 43%-i isə bunu texniki yeniləmənin ən çətin mərhələsi hesab edir.

Məlumat miqrasiyasının əsas məqsədləri

Birinci məqsəd — daha müasir saxlama həllinə keçməklə məhsuldarlığın artırılması. İkinci — infrastruktur təchizatçısını dəyişdirməklə əməliyyat xərclərinin azaldılması. Üçüncü — məlumatların müəyyən yurisdiksiyada saxlanmalı olduğu tənzimləyici tələblərə (GDPR, 152-FZ) uyğunluğun təmin edilməsi.

Miqrasiyanın inteqrasiyadan fərqi

İnteqrasiya iki işləyən sistem arasında daimi sinxronizasiyanı nəzərdə tutur. Miqrasiya — mənbənin sonradan söndürülməsi ilə birdəfəlik köçürmədir. İnteqrasiya mənbədəki məlumatları silmir, miqrasiya isə qəbuledici sistemin primary statusuna keçirilməsi ilə tamamlanır. Bu prinsipial fərq alətlərin və validasiya yanaşmalarının seçimini müəyyənləşdirir.

Data Migration üçün ETL modeli

İstənilən Data Migration-un əsas arxitekturası ETL (Extract, Transform, Load) modelinə əsaslanır. Extract — məlumatların mənbədən çıxarılması. Transform — hədəf sxemə uyğun çevrilmə. Load — qəbulediciyə yükləmə. Hər bir mərhələnin öz keyfiyyətə nəzarət metodları var.

Extract: məlumatların çıxarılması

Çıxarma mərhələsində məlumatlar mənbə verilənlər bazasından, fayl anbarından və ya API-dən oxunur. Artımlı boşaltma (CDC — Change Data Capture) yalnız dəyişdirilmiş qeydləri köçürməyə imkan verir, trafik həcmini azaldır. Tam dump kiçik həcmlər üçün uyğundur, lakin terabayt verilənlər bazaları üçün Debezium və ya Kafka Connect vasitəsilə axın replikasiyası üstünlük təşkil edir.

Transform: sxemin çevrilməsi

Çevrilmə sütunların adlandırılması, məlumat tiplərinin dəyişdirilməsi, dəyərlərin normallaşdırılması və aqreqasiyanı əhatə edir. Məsələn, MySQL-dən PostgreSQL-ə miqrasiya zamanı DECIMAL rəqəm tipi NUMERIC-ə, tarix formatı isə ISO 8601-ə çevrilməlidir. Talend (2024) məlumatına görə, miqrasiya vaxtının 70%-i məhz transformasiyaya sərf olunur, köçürməyə deyil.

Load: qəbulediciyə yükləmə

Yükləmə paketlərlə (batch insert) və ya axınla həyata keçirilir. Dublikatları aradan qaldırmaq üçün idempotentlik açarı istifadə olunur. Yükləmədən sonra məcburi validasiya addımı tələb olunur: qeydlərin sayının müqayisəsi, nəzarət məbləğlərinin hesablanması və biznes qaydalarının yoxlanılması. Validasiya olmadan Data Migration tamamlanmış sayılmır.

Data Migration strategiyaları

Data Migration strategiyasının seçimi sistemin dayanma müddətini, geri qayıtma mürəkkəbliyini və hazırlıq işlərinin həcmini müəyyən edir. Əsas strategiyalar — Big Bang, Trickle və paralel işə salma (Parallel Run). Hər biri müxtəlif ssenarilərdə tətbiq olunur.

StrategiyaDayanma müddətiMürəkkəblikİtki riski
Big BangSaat-günAşağıYüksək
TrickleDəqiqəYüksəkAşağı
Parallel RunYoxÇox yüksəkMinimal

Big Bang miqrasiyası

Big Bang — köhnə sistemin birdəfəlik söndürülməsi, məlumatların köçürülməsi və yenisinin işə salınması. Kiçik həcmlər və sadə sxemlər üçün uyğundur. Risk: nasazlıq zamanı sistem ehtiyat nüsxədən tam bərpa olunana qədər əlçatan deyil. 2024-cü ildə GitLab Big Bang-dən istifadə edərək 5 TB məlumatı AWS RDS-dən GCP Cloud SQL-ə 14 saatlıq dayanma pəncərəsi ilə köçürdü.

Trickle miqrasiyası

Trickle — kiçik hissələrlə axın sinxronizasiyası. Köhnə və yeni sistem paralel işləyir, dəyişikliklər real vaxtda replikasiya olunur. Məlumatlar sabitləşdikdən sonra köhnə mənbə söndürülür. Bu yanaşma ikitərəfli sinxronizasiya və konfliktlərin həllini tələb edir. Dayanma müddəti olmadan verilənlər bazası sxeminin yenilənməsi zamanı Continuous Delivery-də istifadə olunur.

Parallel Run

Parallel Run — hər iki sistem eyni vaxtda işləyir, tətbiq hər iki mənbədən yazır və oxuyur. Qəbuledicidə məlumatların yoxlanılmasından sonra köhnə mənbə söndürülür. Bu ən təhlükəsiz strategiyadır, eyni zamanda ən bahalıdır — iki infrastrukturun dəstəklənməsi tələb olunur. Kritik maliyyə sistemlərinin miqrasiyasında tətbiq edilir.

Data Migration növləri

Tətbiq inkişafında Data Migration-un köçürmə obyekti və kontekstinə görə bir neçə növü fərqləndirilir. Hər növün öz metodologiyası və alətləri var. Növü başa düşmək düzgün strategiya seçiminə ilk addımdır.

Verilənlər bazası miqrasiyası (Database Migration)

Database Migration — müxtəlif satıcıların DBMS-ləri arasında köçürmə: Oracle-dan PostgreSQL-ə, SQL Server-dən MySQL-ə, MongoDB-dən DynamoDB-yə. Çətinlik məlumat tiplərinin, SQL dialektlərinin və indeksləmə mexanizmlərinin uyğunsuzluğundadır. Alətlər: AWS DMS, Debezium, Liquibase.

Tətbiq məlumatlarının miqrasiyası (Application Data Migration)

Eyni tətbiqin müxtəlif versiyaları arasında məlumatların köçürülməsi — məsələn, varlıq strukturunun dəyişməsi ilə kod yeniləməsi zamanı. Çox vaxt tətbiq dilində miqrasiya skriptlərinin icrası ilə müşayiət olunur: Ruby on Rails-də Active Record Migrations, Java üçün Flyway, .NET-də Entity Framework Migrations. Bu skriptlər sxemi və məlumatları ardıcıl olaraq çevirir.

Bulud miqrasiyası (Cloud Data Migration)

Cloud Data Migration — məlumatların on-premise infrastrukturdan buluda və ya buludlar arasında köçürülməsi. AWS Snowball, Azure Data Box və Google Transfer Appliance terabayt həcmlərin fiziki daşınması üçün istifadə olunur. Onlayn miqrasiya üçün VPN tunelləri və replikasiya tətbiq edilir. Gartner məlumatına görə, 2027-ci ilə qədər miqrasiyaların 70%-i hibrid bulud mühitində həyata keçiriləcək.

Data Migration planlaması

Plansız Data Migration — zəmanətli uğursuzluq. Planlaşdırma cari sxemin auditi, məlumatların profilləşdirilməsi, strategiyanın seçilməsi, mühitin hazırlanması, test və geri qayıtma planının təsdiqini əhatə edir. McKinsey (2024) araşdırmasına görə, uğursuz miqrasiyaların 54%-i formal planın olmamasından qaynaqlanır.

Audit və profilləşdirmə

Miqrasiyadan əvvəl mənbə sistemin auditi aparılmalıdır: məlumatların həcmi, cədvəllərin sayı, varlıqlar arası asılılıqlar, nullable sahələrin tipləri və dublikatların mövcudluğu müəyyən edilməlidir. Profilləşdirmə anomaliyaları aşkar edir — əsas sahələrdə NULL dəyərlər, format uyğunsuzluqları, qırıq istinadlar. Bu məlumatlar tam dump-un əsasını təşkil edir.

Test mühitinin hazırlanması

Test miqrasiyası əsas işə salınmadan əvvəl istehsal məlumatlarının surətində aparılır. Məqsəd ETL boru kəmərinin məhsuldarlığını, transformasiyanın düzgünlüyünü və yükləmə sürətini yoxlamaqdır. Big Bang-dən əvvəl ən azı üç tam dövr test tövsiyə olunur. Hər dövr tam köçürmə, validasiya və geri qayıtmanı əhatə edir.

Geri qayıtma planı (Rollback)

Geri qayıtma — kritik səhvlər aşkar edildikdə orijinal sistemə qayıdış. Geri qayıtma planına daxildir: başlamazdan əvvəl mənbəyin tam ehtiyat nüsxəsi, sxemin bərpası skriptləri, köhnə sistemin işə salınması üçün addım-addım təlimat və istifadəçilərin məlumatlandırılması planı. Təsdiqlənmiş geri qayıtma planı olmadan Data Migration istehsal mühitində işə salınmamalıdır.

Data Migration kod nümunələri

Flyway ilə birlikdə Kotlin-də Data Migration-un praktiki nümunəsinə baxaq. V1 miqrasiya skripti users cədvəlini yaradır və məlumatları legacy formatdan köçürür. Flyway tətbiq edilmiş miqrasiyaları avtomatik izləyir və idempotentliyi təmin edir.

kotlin
// V1__Migrate_Users.kt — legacy formatdan məlumat miqrasiyası
import org.flywaydb.core.api.migration.BaseJavaMigration
import java.sql.Connection
import java.sql.PreparedStatement

class V1__MigrateUsers : BaseJavaMigration() {
    override fun migrate(connection: Connection) {
        val legacyUsers = connection.prepareStatement(
            "SELECT id, name, legacy_role FROM users_legacy"
        ).executeQuery()

        val insertStmt: PreparedStatement = connection.prepareStatement(
            "INSERT INTO users (id, name, role, migrated_at) VALUES (?, ?, ?, NOW())"
        )

        while (legacyUsers.next()) {
            insertStmt.setInt(1, legacyUsers.getInt("id"))
            insertStmt.setString(2, legacyUsers.getString("name"))
            val role = mapLegacyRole(legacyUsers.getString("legacy_role"))
            insertStmt.setString(3, role)
            insertStmt.executeUpdate()
        }
    }
}

SQLAlchemy istifadə edərək Python-da CSV-dən PostgreSQL-ə məlumat köçürmə nümunəsi. Skript fayldan çıxarma aparır, tipləri çevirir və hədəf cədvəlləri yükləyir.

python
# migrate_data.py — CSV-nin transformasiya ilə PostgreSQL-ə yüklənməsi
import pandas as pd
from sqlalchemy import create_engine

engine = create_engine("postgresql://user:pass@host/db")
df = pd.read_csv("legacy_orders.csv")

df["order_date"] = pd.to_datetime(df["order_date"])
df["amount"] = df["amount"].astype("float")
df.to_sql("orders", engine, if_exists="append", index=False)

print("Data Migration tamamlandı")

Tez-tez verilən suallar

Data Migration ETL-dən nə ilə fərqlənir?

Data Migration — məlumatların sistemlər arasında köçürülməsinin bütün prosesi. ETL — miqrasiyanın mərhələlərindən birini təsvir edən texniki modeldir (Extract, Transform, Load). ETL — icra üsulu, Data Migration — ümumi vəzifə.

Hansı miqrasiya strategiyası ən təhlükəsizdir?

Parallel Run ən təhlükəsizdir: hər iki sistem eyni vaxtda işləyir, məlumatlar avtomatik yoxlanılır. Lakin bu ən bahalı strategiyadır. Adi tapşırıqlar üçün replikasiya və geri qayıtma planı ilə Trickle kifayətdir.

Tipik məlumat miqrasiyası nə qədər vaxt aparır?

Vaxt həcmdən, transformasiya mürəkkəbliyindən və strategiyadan asılıdır. Big Bang ilə 100 GB-a qədər verilənlər bazası üçün — 2–6 saat. Trickle ilə terabayt həcmlər üçün — paralel sinxronizasiya ilə bir neçə gündən həftələrə qədər.

Data Migration üçün hansı alətlər istifadə olunur?

Əsas alətlər: AWS DMS, Azure Data Factory, CDC üçün Debezium, sxem miqrasiyaları üçün FlywayLiquibase, ETL boru kəmərləri üçün Apache NiFi. Seçim mənbə növündən və hədəf platformadan asılıdır.

Miqrasiyadan sonra məlumat itirilsə nə etməli?

Dərhal qəbuledici sistemə yazmağı dayandırın, geri qayıtma planına uyğun olaraq mənbəyə keçin və məlumatları ehtiyat nüsxədən bərpa edin. Uğursuzluğun səbəbini təhlil etdikdən sonra test miqrasiyasını təkrarlayın. Geri qayıtma planı başlamazdan əvvəl hazır olmalıdır.

Xülasə

  • Data Migration — transformasiya və validasiya ilə məlumatların sistemlər arasında köçürülməsi, sadə fayl kopyalaması deyil.
  • İstənilən miqrasiyanın arxitekturası ETL modelinə əsaslanır: çıxarma, çevrilmə və yükləmə.
  • Big Bang — sürətli, lakin riskli strategiya. Uzun dayanma müddəti olmayan istehsal sistemləri üçün Trickle üstünlük təşkil edir.
  • Miqrasiya növləri: verilənlər bazası, tətbiq və bulud — hər biri öz alətləri və yanaşmasını tələb edir.
  • Planlaşdırma audit, məlumat profilləşdirilməsi, test qaçışı və məcburi geri qayıtma planını əhatə edir.
  • FlywayDebezium kimi alətlər versiyalaşdırma və axın sinxronizasiyasını avtomatlaşdırır.
  • Miqrasiyaların 60%-i strategiyanın olmaması səbəbindən büdcəni aşır — planlaşdırma sürətdən daha vacibdir.

Açar təslim mobil tətbiq hazırlayacağıq

IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.

Layihəni müzakirə et

Həm də oxuyun