14 Δεκέμβριος 2017

Ο ιδρυτής της MongoDB για τα δυναμικά σχήματα

Μέσα σε μόλις λίγα χρόνια, το λογισμικό NoSQL της MongoDB έχει αποκτήσει σημαντικότατο ρόλο στα big data. Ένας από τους λόγους είναι η οριζόντιας κλίμακας κατασκευής της και ο παραλληλισμός της, σύμφωνα με τον Dwight Merriman, πρόεδρο της

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

 

 


Όταν η MongoDB ξεκίνησε το 2007 και οι διαδικτυακές εφαρμογές αναπτύσσονταν, η ευέλικτη ανάπτυξη λογισμικού βρισκόταν σε ανάπτυξη επίσης. Αυτό έδειχνε πιο δυναμικά σχήματα δεδομένων, σωστά;


Dwight Merriman: Αν το δει κανείς από αυτήν την σκοπιά σήμερα, η διαχείριση δεν είναι πια κυκλική, αλλά αντίθετα είναι ευέλικτη. Βλέπουμε πολλές επαναλήψεις και μικροανακοινώσεις. Έχουμε μια νέα ανακοίνωση κάθε μέρα. Και μετά την αλλάζουμε. Ο διευθυντής προϊόντων λέει: «Όχι, δεν ήθελα αυτό ακριβώς», και το αλλάζουμε ξανά.


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


Αυτή ήταν η περίπτωση που δεν κλιμακώθηκαν αποτελεσματικά στο διαδίκτυο οι εφαρμοσμένες βάσεις δεδομένων; Ήταν η κλιμάκωση το σημαντικότερο κριτήριο για την δημιουργία της βάσης δεδομένων;


Dwight Merriman: Νομίζω η MongoDB είναι μια λειτουργική βάση δεδομένων. Η πιο συνηθισμένη υπόθεση είναι ότι κάποιος δημιουργεί μια εφαρμογή και η MongoDB τη στηρίζει. Είναι σαν διαδικτυακή επεξεργασία συναλλαγών, με τη διαφορά ότι δεν έχουμε μεγάλες συναλλαγές.

 

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

 

Dwight Merriman: Το κάναμε έτσι επειδή θέλαμε να συγχρονιστούμε με μικρότερες μηχανές – όχι για να συγκρινόμαστε με όλο και μεγαλύτερες μηχανές.

 

Όταν συλλάβατε την ιδέα με τους συναδέλφους σας, το caching διαδιδόταν όλο και περισσότερο στο διαδίκτυο. Προσπαθήσατε να κάνετε κάτι επιπλέον στην δημιουργία βάσης δεδομένων;


Dwight Merriman: Όταν ξεκινήσαμε, υπήρξε δυσκολία. Αντιμετωπίζαμε τα ίδια προβλήματα συνέχεια. Η οργάνωση υπολογιστών άλλαζε συνέχεια. Η ταχύτητα των ρολογιών δεν αυξανόταν. Ο τρόπος μέτρησης σήμερα διαφέρει πολύ – γίνεται κυρίως μέσω του παραλληλισμού.


Ξέρετε, πολλές φορές το caching είναι έγκυρο. Αλλά γινόταν αποκούμπι. Η βάση δεδομένων ήταν πολύ αργή. Αυτό για εμάς ήταν σημάδι. Οι άνθρωποι είχαν 30 εξυπηρετητέςcache, και όλοι είχαν αρκετή RAM – γιατί λοιπόν όχι 30 εξυπηρετητές βάσεων δεδομένων, ο καθένας με αρκετή RAM;


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


Dwight Merriman: Η μεγαλύτερη προτεραιότητά μας τώρα είναι οι λειτουργίες – να τις κάνουμε δηλαδή ευκολότερες στις DevOps, DBAs, sys admins – για αυτό το πεδίο της πληροφορικής. Χρειάζεται κανείς την αυτοματοποίηση γιατί απλά υπάρχουν πάρα πολλές μηχανές. Για αυτόν τον λόγο εγγράφουμε την MongoDB Service Suite, που καταγράφει δυνατότητες, λογισμικό υποστήριξης και λογισμικό αυτοματοποίησης για ανάπτυξη.