Sobes.tech
Junior — Middle

Ποια μέσα και μέθοδοι υπάρχουν για τη μεταφορά δεδομένων μεταξύ βάσεων δεδομένων;

sobes.tech AI

Απάντηση από AI

Για τη μεταφορά δεδομένων μεταξύ βάσεων δεδομένων, χρησιμοποιούνται τα ακόλουθα μέσα και μέθοδοι:

  • Εξαγωγή/εισαγωγή δεδομένων — εξαγωγή δεδομένων από μια βάση σε μορφή CSV, SQL dump ή άλλη μορφή και στη συνέχεια εισαγωγή σε άλλη βάση.
  • Διαδικασίες ETL (Extract, Transform, Load) — εξαγωγή δεδομένων, μετασχηματισμός και φόρτωση στη στοχευμένη βάση με εξειδικευμένα εργαλεία (π.χ., Apache NiFi, Talend).
  • Αντιγραφή (Replikation) — ρύθμιση συγχρονισμού δεδομένων μεταξύ βάσεων σε πραγματικό χρόνο ή με καθυστέρηση.
  • JDBC/ODBC — προγραμματισμένη πρόσβαση σε βάσεις δεδομένων για ανάγνωση και εγγραφή δεδομένων μέσω εφαρμογών Java.
  • Εξειδικευμένα εργαλεία μετανάστευσης — π.χ., Flyway, Liquibase για μετανάστευση σχημάτων και δεδομένων.

Παράδειγμα σε Java με χρήση JDBC για αντιγραφή δεδομένων από έναν πίνακα σε άλλον:

Connection sourceConn = DriverManager.getConnection(sourceUrl, user, pass);
Connection targetConn = DriverManager.getConnection(targetUrl, user, pass);

Statement stmt = sourceConn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM source_table");

PreparedStatement ps = targetConn.prepareStatement("INSERT INTO target_table (col1, col2) VALUES (?, ?)");

while (rs.next()) {
    ps.setString(1, rs.getString("col1"));
    ps.setString(2, rs.getString("col2"));
    ps.executeUpdate();
}

rs.close();
stmt.close();
ps.close();
sourceConn.close();
targetConn.close();