Εξόρυξη δεδομένων: Εισαγωγή παρτίδας έναντι απόκτησης με βάση το άγκιστρο

Είναι η εξαγωγή παρτίδων ή η εξαγορά βασισμένη σε γάντζο καλύτερη για τη στρατηγική εξόρυξης δεδομένων;

Κατά την εξόρυξη δεδομένων από εξωτερικές πηγές, η μεθοδολογία μπορεί να προσδιοριστεί είτε ως "παρτίδα" είτε ως "γάντζος". Αυτά είναι πολύ διαφορετικά και έχουν τα δικά τους πλεονεκτήματα. Ας χρησιμοποιήσουμε ένα παράδειγμα για να το απλουστεύσουμε ελαφρά. Για παράδειγμα, οι πληροφορίες είναι δεδομένα πτήσης που αφορούν τη θέση ενός αεροσκάφους ανά πάσα στιγμή. Επομένως, θα πρέπει να έχουμε τα ακόλουθα βασικά στοιχεία:

  1. Κατάσταση κίνησης (σε στάση ή σε κίνηση)
  2. Γεωγραφικό πλάτος
  3. Γεωγραφικό μήκος
  4. Υψόμετρο
  5. Προέλευση (τρέχουσας ή επόμενης πτήσης)
  6. Προορισμός (τρέχουσας ή επόμενης πτήσης)
  7. Χρόνος (ακρίβεια χιλιοστών)

Σε αυτό το παράδειγμα, θα πρέπει να είμαστε σε θέση να εξάγουμε τις περισσότερες πληροφορίες σχετικά με το αεροσκάφος χρησιμοποιώντας τα προαναφερθέντα δεδομένα. Ας αναλύσουμε τις δύο μεθόδους εισαγωγής δεδομένων.

Εισαγωγή παρτίδας

Μια εισαγωγή κατά παρτίδες βασίζεται στο πρόγραμμα και θα "τραβήξει" πληροφορίες από μια πηγή σε ένα επαναλαμβανόμενο διάστημα. Χρησιμοποιώντας το παραπάνω παράδειγμα των δεδομένων πτήσης, αυτό θα μπορούσε να εφαρμοστεί ως εξής:

  1. Ομαδικά, εισάγουμε παρτίδες όλα τα αρχεία πτήσης που αφορούν αυτό το αεροσκάφος από την τελευταία στιγμή. Θα ονομάσουμε αυτή την ώρα παρτίδας, η οποία θα μπορούσε να είναι 10: 00: 00.000 (10 π.μ., με ακρίβεια χιλιοστού).
  2. Αυτός ο διακομιστής επεξεργάζεται αυτά τα δεδομένα (που εισήχθησαν με επιτυχία).
  3. Ενημερώνουμε την ώρα παρτίδας μέχρι τη στιγμή της πιο πρόσφατης εγγραφής. Επομένως, παρόλο που ο χρόνος παρτίδας στο βήμα 1 ήταν 10: 00.000, αν η τελευταία εγγραφή ήταν 9: 59: 52.915, αυτό θα γίνει ο νέος χρόνος παρτίδας.

Γιατί εφαρμόζουμε τον συγχρονισμό των παρτίδων με αυτόν τον τρόπο;

  1. Ενημερώνουμε την ώρα παρτίδας, καθώς μπορεί να αποτύχει μια ωριαία παρτίδα. Αυτό μας δίνει την πεποίθηση ότι ακόμη και αν αποτύχει μια παρτίδα, στην επόμενη περίπτωση θα εισάγουμε όλες τις πληροφορίες από την τελευταία παρτίδα.
  2. Εξοικονομούμε επίσης τον χρόνο παρτίδας μέχρι τη στιγμή της πιο πρόσφατης εγγραφής πτήσης, καθώς μια ελάχιστη χρονική διαφορά μεταξύ διακομιστών μπορεί να προκαλέσει την εισαγωγή ορισμένων δεδομένων στην επόμενη περίπτωση. Για να το εξηγήσω διαφορετικά. εάν ο διακομιστής μας είναι 5 δευτερόλεπτα μπροστά από αυτόν που παρέχει τα δεδομένα πτήσης και θα έπρεπε να αποθηκεύσουμε τον τελευταίο χρόνο παρτίδας ως το χρόνο του διακομιστή μας, κατά την επόμενη εισαγωγή θα χάσουμε αυτά τα 5 δευτερόλεπτα δεδομένων. Αντ 'αυτού, χρησιμοποιούμε τον τελευταίο χρόνο καταγραφής των δεδομένων πτήσης για να εξασφαλίσουμε ότι όλες οι παρτίδες καταγράφουν όλα τα δεδομένα.

Εισαγωγή με αγκίστρι

Μια εισαγωγή βασισμένη σε άγκιστρο είναι μια μέθοδος καθαρού πραγματικού χρόνου για την απόκτηση δεδομένων. Ένα "άγκιστρο" στον υπολογισμό αναφέρεται σε μια διαδικασία κατά την οποία ένα εξωτερικό σύστημα (όπως η λύση δεδομένων των πτήσεων) στέλνει ένα μήνυμα (που περιέχει δεδομένα) στο διακομιστή σας όταν συμβεί κάποιο συμβάν. Ένα παράδειγμα εισαγωγής με βάση το άγκιστρο θα μπορούσε να εκτελεστεί ως εξής:

  1. Μια νέα εγγραφή αποθηκεύεται στο διακομιστή δεδομένων πτήσης με όλες τις πληροφορίες (κατάσταση κίνησης, γεωγραφικό πλάτος, γεωγραφικό μήκος, υψόμετρο κ.λπ.).
  2. Ένα "γάντζο" υποκινεί, το οποίο στέλνει τα δεδομένα στο διακομιστή σας αυτόματα.
  3. Ο διακομιστής σας επεξεργάζεται αυτά τα δεδομένα (που εισήχθησαν με επιτυχία).

συμπέρασμα

Ενώ οι μέθοδοι εισαγωγής που βασίζονται σε γάντζους προτιμώνται από την προοπτική "πραγματικού χρόνου", προσφέρουν δύο κύριους κινδύνους:

  1. Πρέπει να αποκαλύψετε την πρόσβαση στον διακομιστή σας από μια εξωτερική τοποθεσία. Αυτό δημιουργεί έναν κίνδυνο για την ασφάλεια στον κυβερνοχώρο, ακόμη και όταν γίνεται σωστά.
  2. Εάν τα δεδομένα του αγκίστρου δεν παραδοθούν (για παράδειγμα, εάν ο διακομιστής σας δεν ήταν προσβάσιμος), γίνεται εξαιρετικά δυσκίνητη η ανάκτηση αυτών των δεδομένων χωρίς να εξαρτάται από την ακεραιότητα της εξωτερικής πλατφόρμας.

Έχουμε την τάση να χρησιμοποιούμε παρτίδα εισαγωγής όπου είναι δυνατόν για να αποφευχθεί αυτό, με μικρότερα "διαστήματα" όπου απαιτείται για πιο ενημερωμένες πληροφορίες.