InfluxDB, ένα εξαιρετικό DB ανοιχτού κώδικα για τη διαχείριση μεγάλων ποσοτήτων δεδομένων

Όταν πρόκειται για επιλογή βάσης δεδομένων για ένα νέο έργο ή ένα υπάρχον για να αντικαταστήσετε αυτό με το οποίο εργάζεστε, Έχω ήδη αναφέρει εδώ στο blog ότι ο καλύτερος ιστότοπος για να βρείτε μια επιλογή είναι Κινητήρες DB, στις οποίες μπορούμε να βρούμε μεγάλο αριθμό βάσεων δεδομένων και των οποίων είμαι βέβαιος ότι δεν γνωρίζατε καν την ύπαρξή τους.

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

Πρέπει να γνωρίζουμε ότι το InfluxDB είναι μια βάση δεδομένων βελτιστοποιημένη για δεδομένα χρονοσειρών και μπορεί να χρησιμοποιηθεί στο κέντρο δεδομένων εσωτερικής εγκατάστασης ή ως λύση cloud σε Microsoft Azure, Amazon Web Services (AWS) και Google Cloud Computing.

Η βάση δεδομένων χρονοσειρών (TSDB) μπορεί να λειτουργήσει χωρίς διακομιστή στο cloud ή με δικούς του διακομιστές στο κέντρο δεδομένων. Η βάση δεδομένων αναπτύσσεται από την αμερικανική εταιρεία Influxdata.

Το InfluxDB επικεντρώνεται στην αποθήκευση μεγάλων ποσοτήτων δεδομένων στον επιστημονικό τομέα και δεδομένα που αποστέλλονται από αισθητήρες. InfluxDB είναι πολύ πιο γρήγορο από τις συμβατικές βάσεις δεδομένων όταν πρόκειται για αποθήκευση και διαχείριση χρονοσειρών. Η επεξεργασία σε πραγματικό χρόνο είναι επίσης δυνατή, καθώς και η αναζήτηση δεδομένων με την εσωτερική γλώσσα ερωτήματος Flux, η οποία βασίζεται σε Javascript.

Αυτό μοιάζει περισσότερο με μια γλώσσα προγραμματισμού από μια γλώσσα ερωτήματος SQL που ακούει στη θύρα 8086, καθώς και το InfluxDB δεν έχει εξωτερικές εξαρτήσεις και έχει ενσωματωμένες συναρτήσεις εστιασμένες στο χρόνο για την αναζήτηση μιας δομής δεδομένων αποτελείται από μέτρα, σειρές και σημεία. Κάθε σημείο αποτελείται από πολλά ζεύγη κλειδιού-τιμής που ονομάζονται σύνολο πεδίων και μια χρονική σήμανση. Όταν ομαδοποιούνται από ένα σύνολο ζευγών κλειδιών-τιμών που ονομάζονται σύνολο ετικετών, καθορίζουν μια σειρά. Τέλος, οι σειρές ομαδοποιούνται από ένα αναγνωριστικό συμβολοσειράς για να σχηματίσουν ένα μέτρο.

Οι τιμές μπορούν να είναι ακέραιοι αριθμοί 64-bit, κινητά σημεία 64-bit, συμβολοσειρές και τιμές Boolean. Οι βαθμοί ευρετηριάζονται με βάση το χρόνο και το σύνολο ετικετών. Οι πολιτικές διατήρησης ορίζονται σε μια μέτρηση και ελέγχουν τον τρόπο μείωσης και κατάργησης των δεδομένων. Τα συνεχή ερωτήματα εκτελούνται περιοδικά και αποθηκεύουν τα αποτελέσματα σε μια μέτρηση στόχου.

Εάν οι χρονοσειρές πρόκειται να αποθηκευτούν σε βάσεις δεδομένων, για παράδειγμα όταν χρησιμοποιείτε υποδομές Internet of Things, Το InfluxDB μπορεί να χρησιμοποιηθεί για την αποθήκευση πληροφοριών αισθητήρα, συμπεριλαμβανομένων των χρονικών σημείων. Δεδομένου ότι ο συγχρονισμός παίζει σημαντικό ρόλο στο InfluxDB, μια εσωτερική υπηρεσία χρονισμού διασφαλίζει ότι όλοι οι κόμβοι στο σύμπλεγμα InfluxDB λειτουργούν συγχρόνως. Φυσικά, το InfluxDB είναι επίσης κατάλληλο για αποθήκευση δεδομένων παρακολούθησης σε δίκτυα εταιρειών.

Οι βάσεις δεδομένων στο InfluxDB δεν χρειάζεται να είναι περίπλοκες και να παρέχουν δεκάδες στήλες. Είναι λογικό να το χρησιμοποιείτε με λίγες στήλες εάν, για παράδειγμα, ορισμένες μετρημένες τιμές από έναν αισθητήρα πρέπει να αποθηκευτούν ως συνάρτηση του χρόνου.

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

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

Το InfluxDB αποτελείται από λίγα μόνο στοιχεία που είναι διαθέσιμα για Linux και macOS. Όλες οι λειτουργίες περιέχονται σε ένα αρχείο, καθιστώντας εύκολη την εγκατάσταση και τη λειτουργία.

Τέλος, αν σας ενδιαφέρει να μάθετε περισσότερα για αυτό, μπορείτε ελέγξτε τις λεπτομέρειες στον παρακάτω σύνδεσμο.


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.