MongoDB Sharding: Εκπαιδευτικό βήμα προς βήμα με παράδειγμα

Τι είναι το Sharding στο MongoDB;

Το Sharding είναι μια έννοια στο MongoDB, η οποία χωρίζει μεγάλα σύνολα δεδομένων σε μικρά σύνολα δεδομένων σε πολλές παρουσίες MongoDB.

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

Η συλλογή που θα μπορούσε να είναι μεγάλη σε μέγεθος χωρίζεται σε πολλές συλλογές ή Shards όπως λέγονται. Λογικά όλα τα θραύσματα λειτουργούν ως μία συλλογή.

Πώς να εφαρμόσετε Sharding

Τα θραύσματα υλοποιούνται χρησιμοποιώντας συστάδες που δεν είναι τίποτα άλλο από μια ομάδα παρουσιών MongoDB.

Τα συστατικά ενός Shard περιλαμβάνουν

  1. A Shard - Αυτό είναι το βασικό πράγμα, και αυτό δεν είναι παρά μια παρουσία MongoDB που κρατά το υποσύνολο των δεδομένων. Σε περιβάλλοντα παραγωγής, όλα τα θραύσματα πρέπει να είναι μέρος σετ αντιγράφων.
  2. Διακομιστής Config - Πρόκειται για μια παρουσία mongodb που περιέχει μεταδεδομένα σχετικά με το σύμπλεγμα, βασικά πληροφορίες σχετικά με τις διάφορες παρουσίες mongodb που θα διατηρούν τα θραύσματα δεδομένων.
  3. A Router - Πρόκειται για μια παρουσία mongodb η οποία βασικά είναι υπεύθυνη για την εκ νέου κατεύθυνση των εντολών που στέλνει ο πελάτης στους σωστούς διακομιστές.

Παράδειγμα βήμα προς βήμα Sharding Cluster

Βήμα 1) Δημιουργήστε μια ξεχωριστή βάση δεδομένων για τον διακομιστή ρυθμίσεων.

mkdir /data/configdb

Βήμα 2) Ξεκινήστε την παρουσία mongodb σε λειτουργία διαμόρφωσης. Ας υποθέσουμε ότι εάν έχουμε έναν διακομιστή με όνομα Server D, ο οποίος θα είναι ο διακομιστής διαμόρφωσης, θα πρέπει να εκτελέσουμε την παρακάτω εντολή για να διαμορφώσουμε τον διακομιστή ως διακομιστή διαμόρφωσης.

mongod -configdb ServerD: 27019

Βήμα 3) Ξεκινήστε την παρουσία mongos καθορίζοντας τον διακομιστή διαμόρφωσης

mongos -configdb ServerD: 27019

Βήμα 4) Από το κέλυφος mongo συνδεθείτε στην παρουσία του mongo

mongo -host ServerD -port 27017

Βήμα 5) Εάν έχετε διακομιστή Α και διακομιστή Β που πρέπει να προστεθούν στο σύμπλεγμα, εκδώστε τις παρακάτω εντολές

sh.addShard("ServerA:27017")sh.addShard("ServerB:27017")

Βήμα 6) Ενεργοποίηση θραύσης για τη βάση δεδομένων. Επομένως, εάν χρειαστεί να κατακερματιστεί η βάση δεδομένων Employeedb, εκδώστε την παρακάτω εντολή

sh.enableSharding(Employeedb)

Βήμα 7) Ενεργοποίηση θραύσης για τη συλλογή. Αν λοιπόν χρειαστεί να καταργήσουμε τη συλλογή υπαλλήλων, εκδώστε την παρακάτω εντολή

Sh.shardCollection("db.Employee" , { "Employeeid" : 1 , "EmployeeName" : 1})

Περίληψη:

  • Όπως εξηγείται στο σεμινάριο, το Sharding είναι μια ιδέα στο MongoDB, η οποία χωρίζει μεγάλα σύνολα δεδομένων σε μικρά σύνολα δεδομένων σε πολλές παρουσίες MongoDB.

ενδιαφέροντα άρθρα...