Εξέλιξη Κομματιού
Ενότητα 1: Εισαγωγή και Αρχιτεκτονική MongoDB (4 ώρες)
Περιεχόμενο:
- Ιστορία και οικοσύστημα της MongoDB
- Τυπικές περιπτώσεις χρήσης, πλεονεκτήματα και μειονεκτήματα
- Γενική αρχιτεκτονική: στιγμιότυπα, διεργασίες και παραμετροποίηση
Πρακτική:
- Διαδραστική εξερεύνηση: σύνδεση με Mongo Shell/CLI
- Δημιουργία δείγματος βάσης δεδομένων και συλλογής
Ενότητα 2: Εγκατάσταση και Αρχική Παραμετροποίηση (6 ώρες)
Περιεχόμενο:
- Απαιτήσεις υλικού και πόρων
- Εγκατάσταση σε Linux (deb/rpm), Windows και macOS
- Αρχεία παραμετροποίησης YAML (mongod.conf): dataDir, logDir, bindIp, port
- Επιλογές εκκίνησης και διαχείριση systemd/υπηρεσιών
Πρακτική:
- Ανάπτυξη στιγμιοτύπων σε τοπικά VM ή κοντέινερ Docker
- Προσαρμογή παραμέτρων για ανάπτυξη έναντι παραγωγής
- Επαλήθευση ασφαλούς απομακρυσμένης συνδεσιμότητας
Ενότητα 3: Μοντελοποίηση Δεδομένων και Βασικές Λειτουργίες (5 ώρες)
Περιεχόμενο:
- Έγγραφα BSON, συλλογές, βάσεις δεδομένων
- Μοντελοποίηση: ενσωμάτωση έναντι αναφορών· πρότυπα σχεδίασης δεδομένων
- Βασικά ευρετήρια (παρουσιάστηκαν νωρίτερα)
- Λειτουργίες με Mongo Shell και παραδείγματα δέσμης ενεργειών με χρήση drivers
Πρακτική:
- Μοντελοποίηση περίπτωσης χρήσης: σύστημα αποθέματος ή τιμολόγησης
- Υλοποίηση λειτουργιών CRUD
- Επικύρωση σχήματος με χρήση JSON Schema στη MongoDB
Ενότητα 4: Ευρετήρια και Απόδοση (4 ώρες)
Περιεχόμενο:
- Απλά, σύνθετα, πολλαπλών κλειδιών, κειμένου και γεωχωρικά ευρετήρια
- Χρήση του explain() και ανάλυση μετρικών
- Επίπτωση των ευρετηρίων στην απόδοση εγγραφής και στη μνήμη
Πρακτική:
- Δημιουργία συλλογών με δοκιμαστικά δεδομένα
- Δοκιμή ερωτημάτων με και χωρίς ευρετήρια· ερμηνεία του explain()
- Προσαρμογή ευρετηρίων με βάση τα πρότυπα πρόσβασης
Ενότητα 5: Ασφάλεια (5 ώρες)
Περιεχόμενο:
- Μηχανισμοί αυθεντικοποίησης: SCRAM, LDAP/Kerberos (εισαγωγή)
- Ορισμός χρηστών και προσαρμοσμένων ρόλων
- TLS/SSL μεταξύ πελατών και διακομιστών
- Κρυπτογράφηση σε κατάσταση ηρεμίας: παραμετροποίηση κλειδιών
- Βασική καταγραφή ελέγχου
Πρακτική:
- Δημιουργία χρηστών με ελάχιστα δικαιώματα
- Παραμετροποίηση TLS σε τοπικά στιγμιότυπα
- Επαλήθευση μη εξουσιοδοτημένης πρόσβασης και ανασκόπηση αρχείων καταγραφής ελέγχου
Ενότητα 6: Αναπαραγωγή και Υψηλή Διαθεσιμότητα (6 ώρες)
Περιεχόμενο:
- Έννοιες αναπαραγωγής: Πρωτεύον, Δευτερεύον, oplog
- Παραμετροποίηση συνόλου αντιγράφων: εκκίνηση, συμμετοχή, διαιτησία
- Παρακολούθηση κατάστασης και εκλογών
- Συντήρηση: προσθήκη/αφαίρεση μελών, ανακατανομή προτεραιοτήτων
Πρακτική:
- Ανάπτυξη συνόλου αντιγράφων τριών κόμβων (τοπικά ή σε VM)
- Προσομοίωση αποτυχίας του πρωτεύοντος και παρατήρηση ανακατεύθυνσης
- Αναδημιουργία δευτερευόντων κόμβων και ανάκτηση αντιγράφων
Ενότητα 7: Κατακερματισμός και Οριζόντια Επεκτασιμότητα (6 ώρες)
Περιεχόμενο:
- Έννοιες κατακερματισμού: κλειδί κατακερματισμού, διακομιστές παραμέτρων, δρομολογητής mongos
- Επιλογή κλειδιού κατακερματισμού και σχετικοί κίνδυνοι
- Ανάπτυξη διακομιστών παραμέτρων, θραυσμάτων και mongos
- Επαναστάθμιση και μετεγκατάσταση τμημάτων
Πρακτική:
- Παραμετροποίηση απλού συμπλέγματος με κατακερματισμό
- Εισαγωγή δεδομένων μεγάλης κλίμακας και παρατήρηση της κατανομής
- Εισαγωγή αλλαγών κλειδιού κατακερματισμού και κατανόηση των περιορισμών
Ενότητα 8: Αντίγραφα Ασφαλείας, Επαναφορά και Ανάκαμψη από Καταστροφές (4 ώρες)
Περιεχόμενο:
- Εγγενή εργαλεία: mongodump/mongorestore, στιγμιότυπα συστήματος αρχείων
- Αντίγραφα ασφαλείας σε σύνολα αντιγράφων και συμπλέγματα με κατακερματισμό
- Βασική χρήση του Cloud Manager/Ops Manager για αντίγραφα ασφαλείας
- Σχεδιασμός ανάκαμψης από καταστροφές (DR): RTO, RPO
Πρακτική:
- Εκτέλεση αντιγράφων ασφαλείας και επαναφοράς σε δοκιμαστική βάση δεδομένων
- Προσομοίωση αποτυχίας και ανάκτηση από αντίγραφο ασφαλείας
- Σχεδιασμός πλάνου DR για υποθετική περίπτωση
Ενότητα 9: Παρακολούθηση και Ειδοποιήσεις (4 ώρες)
Περιεχόμενο:
- Εργαλεία: mongostat, mongotop, Cloud Manager/Atlas Monitoring
- Ενσωμάτωση με Prometheus + Grafana (έννοιες και παραδείγματα)
- Βασικές μετρικές: CPU, μνήμη, I/O, μέγεθος oplog, καθυστερήσεις
- Ειδοποιήσεις: ορισμός ορίων και ειδοποιήσεων
Πρακτική:
- Ανάπτυξη τοπικού ή βασισμένου σε κοντέινερ πράκτορα παρακολούθησης
- Ρύθμιση βασικών πινάκων ελέγχου με δείγματα μετρικών
- Προσομοίωση φόρτου και παρατήρηση ειδοποιήσεων
Ενότητα 10: Συντήρηση, Αναβαθμίσεις και Βέλτιστες Πρακτικές (4 ώρες)
Περιεχόμενο:
- Στρατηγικές αναβάθμισης για σύνολα αντιγράφων και συμπλέγματα με κατακερματισμό
- Εκκαθάριση δεδομένων, συμπίεση, έλεγχοι ακεραιότητας
- Ανασκόπηση αρχείων καταγραφής και τακτικοί έλεγχοι
- Αυτοματοποίηση εργασιών ρουτίνας (scripts, cronjobs, Ansible, Terraform)
- Πολιτικές διατήρησης και αρχειοθέτησης δεδομένων
Πρακτική:
- Προσομοίωση μικρών και μεγάλων αναβαθμίσεων σε ελεγχόμενο περιβάλλον
- Δημιουργία scripts αυτοματοποίησης για αντίγραφα ασφαλείας και παρακολούθηση
- Ανάπτυξη λίστας περιοδικής συντήρησης
Σύνοψη και Επόμενα Βήματα
Απαιτήσεις
- Κατανόηση γενικών εννοιών βάσεων δεδομένων και δομών δεδομένων
- Εξοικείωση με τη χρήση γραμμής εντολών Linux
- Βασικές γνώσεις δικτύωσης και διαχείρισης συστημάτων
Κοινό
- Διαχειριστές βάσεων δεδομένων και μηχανικοί συστημάτων που εργάζονται με τη MongoDB
- Ομάδες DevOps και υποδομών που αναπτύσσουν και συντηρούν περιβάλλοντα MongoDB
- Προγραμματιστές που ενδιαφέρονται για τα εσωτερικά της MongoDB και τις βέλτιστες πρακτικές ανάπτυξης
Σχόλια (2)
Το ρυθμός του λόγου και της εξήγησης.
Marko Skokovic - PWO by Lottomatica Serbia
Κομμάτι - MongoDB for Administrators
Μηχανική Μετάφραση
Ο Σερ Τζόζ είναι ωραίος και εξηγεί κάθε λεπτομέρεια των εντολών. Εκτιμούμε το χρόνο που διαθέτει να μοιράζεται τη γνώση του μαζί μας, και αυτό αποδεικνύει πραγματικά ότι είναι ένας ειδικός σε αυτό το πεδίο.
Almer Laureta - Asialink Finance Corporation
Κομμάτι - MongoDB for Developers
Μηχανική Μετάφραση