Εισαγωγή+στην+MongoDB

Εισαγωγή στην MongoDB
Η mongodb (https://www.mongodb.org/) είναι ίσως η δημοφιλέστερη εγγραφοκεντρική βάση δεδομένων αυτή τη στιγμή. Ο εξυπηρετητής της βάσης και τα υποστηρικτικά εργαλεία που διατίθενται μαζί με αυτόν είναι ΕΛ/ΛΑΚ (http://www.mongodb.org/about/licensing/) και υποστηρίζονται από πολυπληθή κοινότητα προγραμματιστών.

Το αντίστοιχο της εγγραφής (record) των σχεσιακών βάσεων, ονομάζεται έγγραφο (document) στην MongoDB και περιέχει πεδία που απαρτίζονται από ζεύγη κλειδιών-τιμών (key-value pairs). Τα έγγραφα της MongoDB είναι παρόμοια με τα αντικείμενα της μορφής JSON. Οι τιμές των πεδίων μπορούν να περιέχουν άλλα έγγραφα, πίνακες και πίνακες από έγγραφα. Το αντίστοιχο του πίνακα (table) των σχεσιακών βάσεων, ονομάζεται συλλογή (collection) στην MongoDB. Ένα παράδειγμα εγγράφου της MongoDB μπορεί να είναι το παρακάτω: code {   "id" : 18, "className" : "ΓΠ1", "birthDate" : ISODate("1998-03-30T21:00:00.000Z"), "absences" : 33, "lastName" : "ΚΑΣΤΡΙΝΑΚΗΣ", "firstName" : "ΚΩΝΣΤΑΝΤΙΝΟΣ", "fathersName" : "ΕΜΜΑΝΟΥΗΛ", "grades" : [ {           "lessonName" : "Πληροφορική σε Επιχειρήσεις και Οργανισμούς", "grade" : 13 },        {            "lessonName" : "Δίκτυα Υπολογιστών", "grade" : 19 }   ] } code

Τα πλεονεκτήματα της χρήσης εγγράφων είναι ότι:
 * αντιστοιχούν στους (έμφυτους -native) τύπους δεδομένων πολλών μοντέρνων γλωσσών προγραμματισμού (όπως η ιδιαίτερα δημοφιλής τελευταία javascript) διευκολύνομτας πολύ τον προγραμματισμό εφαρμογών
 * η δυνατότητα για ενσωματωμένα έγγραφα και πίνακες μειώνει την ανάγκη για δαπανηρές πράξεις τύπου join
 * η δυνατότητα χρήσης αδόμητου ή ημιδομημένου σχήματος υποστηρίζει την εύκολη επέκταση των εφαρμογών.

Η MongoDB παρέχει υψηλή απόδοση, υψηλή διαθεσιμότητα και αυτόματη κλιμάκωση. Μερικά από τα χαρακτηριστικά της βάσης που συντελούν στα παραπάνω είναι:
 * Υποστήριξη ενσωμάτωσης αντικειμένων στο μοντέλο δεδομένων της (nested documents), δυνατότητα η οποία μειώνει την ανάγκη για πολλαπλές αναγώσεις/εγγραφές στους χώρους αποθήκευσης.
 * Παρέχει δείκτες (indexes) οι οποίοι μπορούν να δεικτοδοτήσουν κλειδιά και σε ενσωματωμένα έγγραφα (documents).
 * Η υπηρεσία λειτουργίας αντιγράφων της βάσης (replication) παρέχει αυτόματη ανάκαμψη από βλάβες (automatic failover) και πλεονασμό δεδομένων (data redundancy).
 * Παρέχει οριζόντια κλιμάκωση ως βασική της υπηρεσία και παρέχει την δυνατότητα κατακερματισμού των δεδομένων (sharding) σε ένα σύνολο (cluster) υπολογιστών.