Πώς μια βάση δεδομένων MongoDB μπορεί να οργανώσει καλύτερα τα δεδομένα σας

Το MongoDB (από το humongous) είναι μια βάση δεδομένων που προσανατολίζεται σε βάσεις δεδομένων και χρησιμοποιείται ως εναλλακτική λύση για την MySQL. Αλλά τι σημαίνει αυτό;

Το MongoDB (από το humongous) είναι μια βάση δεδομένων που προσανατολίζεται σε βάσεις δεδομένων και χρησιμοποιείται ως εναλλακτική λύση για την MySQL.  Αλλά τι σημαίνει αυτό;
Διαφήμιση

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

Ως εκ τούτου, το κίνημα NoSQL. Το SQL σημαίνει Δομημένη γλώσσα ερωτήματος και χρησιμοποιείται για την επικοινωνία με βάσεις δεδομένων. Αλλά δεν είναι τόσο μεγάλη σε μεγαλύτερη κλίμακα. Όταν, για παράδειγμα, οι εφαρμογές γίνονται ιογενείς, απαιτείται υποστήριξη για να μπορούν οι χρήστες να χρησιμοποιούν την εφαρμογή χωρίς να αντιμετωπίζουν προβλήματα. Αλλά SQL γίνεται πολύπλοκη σε αυτή την κλίμακα, περισσότερο από ό, τι πολλοί προγραμματιστές μπορούν να χειριστούν.

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

Τι είναι το MongoDB;

Connection_to_the_MongoDB_Shell

Το MongoDB (από το "humongous") είναι μια βάση δεδομένων με βάση τις βάσεις δεδομένων που χρησιμοποιείται ως εναλλακτική λύση για την MySQL. Αλλά τι σημαίνει αυτό; Λοιπόν, μια βάση δεδομένων είναι ένα δομημένο σύνολο δεδομένων. Τι είναι λοιπόν μια βάση δεδομένων; [MakeUseOf Εξηγεί] Έτσι τι είναι μια βάση δεδομένων, ούτως ή άλλως; [Explications MakeUseOf] Για έναν προγραμματιστή ή έναν ενθουσιώδη τεχνολογίας, η έννοια μιας βάσης δεδομένων είναι κάτι που μπορεί πραγματικά να θεωρηθεί δεδομένο. Ωστόσο, για πολλούς ανθρώπους η ιδέα μιας ίδιας της βάσης δεδομένων είναι λίγο αλλοδαπός .... Διαβάστε περισσότερα, ωστόσο το MongoDB διαφέρει ως προς το ότι τείνει να είναι λιγότερο αυστηρό για το πώς αυτά τα δεδομένα είναι δομημένα. Οι πληροφορίες ομαδοποιούνται, αντί να αναλύονται σε σχετικά έγγραφα και πίνακες, όπως το MySQL, ένα δημοφιλές σύστημα διαχείρισης RDBMS ή σχεσιακής βάσης δεδομένων που χρησιμοποιεί SQL.

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

Το MongoDB χρησιμοποιεί το BSON για την αποθήκευση πληροφοριών. Το BSON (ένας συνδυασμός "δυαδικού" και "JSON" ή JavaScript Object Notation) μπορεί να θεωρηθεί ως δυαδική ή αριθμητική αναπαράσταση των εγγράφων JSON. JSON Τι είναι το JSON; A Layman's Επισκόπηση Τι είναι το JSON; Μια επισκόπηση του Layman Είτε πρόκειται να είστε web developer είτε όχι, είναι καλή ιδέα να γνωρίζετε τουλάχιστον τι είναι το JSON, γιατί είναι σημαντικό και γιατί χρησιμοποιείται σε όλο τον ιστό. Το Read More είναι μια μορφή ανοιχτού προτύπου (όπως ανοιχτού κώδικα) για την οργάνωση δεδομένων.

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

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

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

Τι το κάνει διαφορετικό από την MySQL;

Mysql-screenshot

Με την MySQL να είναι ίσως η πιο ευρέως χρησιμοποιούμενη RDBMS εκεί έξω, αν και λανθασμένη όπως μπορεί να είναι, είναι φυσικό ότι θα γίνουν εναλλακτικές λύσεις. Με το NoSQL να αποτελεί εναλλακτική λύση για την SQL, το MongoDB θεωρείται εναλλακτική λύση για την MySQL. Η MySQL χρησιμοποιεί πίνακες για να οργανώσει τα δεδομένα της και βασίζεται στο κλασικό μοντέλο σχεσιακών δεδομένων από τον εικοστό αιώνα, αν και, όπως το MongoDB, μπορεί να τροποποιηθεί για βελτιωμένη λειτουργικότητα.

Ωστόσο, οι δύο διαφέρουν πολύ. Προορίζονται για διαφορετικούς σκοπούς, για έναν. Το MongoDB προορίζεται περισσότερο για τη μεγαλύτερη (πολύ μεγάλη) κλίμακα, ενώ υπάρχει μόνο τόσα πολλά που μπορεί να χειριστεί η MySQL. Όπως αναφέρθηκε προηγουμένως, η MySQL χρησιμοποιεί πίνακες για την οργάνωση δεδομένων που μπορούν να καταλήξουν σε πολύ περίπλοκες. Ωστόσο, είναι και τα δύο πολύ καλά συστήματα, και στην πραγματικότητα, υβρίδια εφαρμόζονται σε ορισμένες τοποθεσίες γύρω από τον ιστό. Το Craigslist είναι γνωστό ότι είναι ένας από τους πιο επιτυχημένους ιστότοπους που υλοποιούν ένα υβριδικό MongoDB / MySQL.

Πώς λειτουργεί?

mongodb έγγραφο

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

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

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

Το MongoDB χρησιμοποιεί κέλυφος βασισμένο σε JavaScript και υποστηρίζει τους προγραμματιστές που γράφουν προσαρμοσμένο κώδικα χρησιμοποιώντας τις λειτουργίες JavaScript και πιθανότατα θα είναι πιο διαδεδομένες καθώς το JavaScript συνεχίζει να αναπτύσσεται. Τι είναι το JavaScript και μπορεί να υπάρχει το Διαδίκτυο χωρίς αυτό; Τι είναι το JavaScript, και μπορεί το Διαδίκτυο να υπάρχει χωρίς αυτό; Το JavaScript είναι ένα από αυτά που πολλοί θεωρούν δεδομένους. Όλοι το χρησιμοποιούν. Διαβάστε περισσότερα στη δημοτικότητα.

Ποιος το χρησιμοποιεί;

Παρόλο που εξακολουθεί να είναι σχετικά νέος, το MongoDB χρησιμοποιείται σε διάφορους δημοφιλείς ιστότοπους. Αυτά περιλαμβάνουν το επιχειρηματικό περιοδικό Forbes, καθώς και το gif-tastic Buzzfeed.

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

Διανυκτέρευση, η κινητή επισκεψιμότητα αυξήθηκε από το 5% στο 15% της συνολικής κίνησης Forbes.com και γρήγορα έπεσε στο 50%.

Το Buzzfeed υποφέρει από τις προκλήσεις που αντιμετωπίζει οποιαδήποτε μεγάλη οργάνωση μέσων μαζικής ενημέρωσης. Το κατανεμημένο προσωπικό γραφής τους δημοσιεύει ένα τέτοιο τεράστιο ποσό περιεχομένου 5 ιστοσελίδες για να ελέγξετε τις τελευταίες Buzz και των ιογενών βίντεο 5 ιστοσελίδες για να ελέγξετε τις τελευταίες Buzz και Viral Βίντεο Διαβάστε περισσότερα, σε ένα τεράστιο ακροατήριο. Το MongoDB επιτρέπει στο Buzzfeed να κλιμακώνεται γρήγορα ανάλογα με την επισκεψιμότητα που λαμβάνει και να καθορίζει ποιοι τύποι περιεχομένου αντέχουν στους αναγνώστες του.

Πώς το χρησιμοποιείς?

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

mongodb κέλυφος στο πρόγραμμα περιήγησης

Ο επίσημος ιστότοπος MongoDB προσφέρει στους χρήστες τη δυνατότητα να δοκιμάσουν ένα κέλυφος MongoDB στα προγράμματα περιήγησής τους. Το TutorialsPoint προσφέρει πολλά πολύ λεπτομερή μαθήματα για τη χρήση του MongoDB, από αρχάριους έως προχωρημένους. Υπάρχουν επίσης προγράμματα για το GitHub όχι μόνο για κωδικοποιητές: 9 τρόποι χρήσης του GitHub για δημιουργική δουλειά όχι μόνο για κωδικοποιητές: 9 τρόποι χρήσης του GitHub για δημιουργική δουλειά Το GitHub είναι γνωστό για τις εξαιρετικές δυνατότητες που μπορεί να προσφέρει στους προγραμματιστές, αλλά δεν είναι μόνο γι 'αυτούς . Υπάρχουν πολλές άλλες δημιουργικές χρήσεις για το GitHub. Εδώ είναι εννέα που μπορείτε να εξερευνήσετε. Διαβάστε περισσότερα σχετικά με το MongoDB, συμπεριλαμβανομένου του The Little MongoDB Book από τον Karl Seguin, για όλα όσα πρέπει να ξέρετε για το MongoDB.

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

Πρέπει να το χρησιμοποιήσετε;

Αυτό εξαρτάται από την προσωπική σας κατάσταση.

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

Το MongoDB χρησιμοποιεί επίσης όλη τη διαθέσιμη μνήμη ως μνήμη cache του συστήματος. Ως αποτέλεσμα, υπάρχουν προβλήματα επιδόσεων σε υπολογιστές που εκτελούνται σε συστήματα 32-bit, τα οποία μπορούν να απευθύνονται μόνο σε μέγιστη μνήμη 4 GB. Για να μάθετε περισσότερα σχετικά με τη χρήση της μνήμης RAM στον υπολογιστή σας, φροντίστε να δείτε αυτό το άρθρο από τον Brad Jones Πόση RAM Χρειάζεστε πραγματικά; Πόση RAM Χρειάζεστε πραγματικά; Η μνήμη RAM είναι σαν βραχυπρόθεσμη μνήμη. Όσο περισσότερο κάνετε πολλαπλούς στόχους, τόσο περισσότερο χρειάζεστε. Μάθετε πόσο έχει ο υπολογιστής σας, πώς μπορείτε να αξιοποιήσετε στο έπακρο αυτό, ή πώς να πάρετε περισσότερα. Διαβάστε περισσότερα .

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

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

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

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

συμπέρασμα

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

Έχετε εμπειρία με το MongoDB; Περίεργο να το δοκιμάσεις; Αφήστε ένα σχόλιο παρακάτω και θα μιλήσουμε!

Πιστοποιητικά εικόνας: "Σύνδεση με το MongoDB Shell" από τον Ularugeanina μέσω του Wikimedia Commons, "Mysql-screenshot" από τον Stephantom μέσω του Wikimedia Commons

In this article