Condivisione di MongoDB: tutorial passo passo con esempio

Sommario:

Anonim

Cos'è lo sharding in MongoDB?

Lo sharding è un concetto in MongoDB, che divide grandi set di dati in piccoli set di dati su più istanze di MongoDB.

A volte i dati all'interno di MongoDB saranno così enormi che le query su insiemi di dati così grandi possono causare un notevole utilizzo della CPU sul server. Per affrontare questa situazione, MongoDB ha un concetto di Sharding, che è fondamentalmente la suddivisione dei set di dati su più istanze di MongoDB.

La raccolta che potrebbe essere di grandi dimensioni è in realtà suddivisa in più raccolte o frammenti come vengono chiamati. Logicamente tutti i frammenti funzionano come un'unica raccolta.

Come implementare lo sharding

Gli shard vengono implementati utilizzando cluster che non sono altro che un gruppo di istanze di MongoDB.

I componenti di uno Shard includono

  1. A Shard : questa è la cosa di base e non è altro che un'istanza di MongoDB che contiene il sottoinsieme dei dati. Negli ambienti di produzione, tutti i frammenti devono far parte di set di repliche.
  2. Server di configurazione : si tratta di un'istanza di mongodb che contiene i metadati sul cluster, fondamentalmente informazioni sulle varie istanze di mongodb che conterranno i dati dello shard.
  3. Un router - Questa è un'istanza mongodb che fondamentalmente è responsabile del reindirizzamento dei comandi inviati dal client ai server giusti.

Esempio di cluster di partizionamento graduale

Passaggio 1) Crea un database separato per il server di configurazione.

mkdir /data/configdb

Passaggio 2) Avvia l'istanza mongodb in modalità di configurazione. Supponiamo di avere un server denominato Server D che sarebbe il nostro server di configurazione, avremmo bisogno di eseguire il comando seguente per configurare il server come server di configurazione.

mongod -configdb ServerD: 27019

Passaggio 3) Avvia l'istanza mongos specificando il server di configurazione

mongos -configdb ServerD: 27019

Passaggio 4) Dalla shell di mongo connettiti all'istanza di mongo

mongo -host ServerD -port 27017

Passaggio 5) Se si dispone del server A e del server B che devono essere aggiunti al cluster, eseguire i comandi seguenti

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

Passaggio 6) Abilita lo sharding per il database. Quindi, se abbiamo bisogno di partizionare il database Employeedb, esegui il comando seguente

sh.enableSharding(Employeedb)

Passaggio 7) Abilita lo sharding per la raccolta. Quindi, se è necessario suddividere la raccolta Employee, eseguire il comando seguente

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

Sommario:

  • Come spiegato nel tutorial, Sharding è un concetto in MongoDB, che divide grandi set di dati in piccoli set di dati su più istanze di MongoDB.