MongoDB fragmentación base de datos --MongoDB

fragmento MongoDB

La solución a los datos de crecimiento

expansión vertical: aumento de la CPU, disco duro y otros recursos de almacenamiento para expandir la capacidad

expansión horizontal: los datos distribuidos a través de múltiples servidores, es decir, para utilizar el corte en lonchas

MongoDB lo que la fragmentación?

Consiste en dividir la base de datos, todos los datos almacenados en el proceso de dispersión de los diferentes servidores

¿Por qué debería lograr MongoDB fragmentación?

ventajas:

1. cúmulo abstracta, por lo que los grupos "invisibles", MongoDB viene con un proceso patentado llamado enrutamiento de mongo

2. Resolver el problema de espacio de almacenamiento en disco y mejorar el rendimiento de procesamiento de datos

3. Para mejorar la seguridad de datos, para asegurar que el clúster siempre puede leer la fragmentación y la replicación combinación MongoDB, asegúrese de que los datos de la rebanada a varios servidores, sino también asegurarse de que tienen cada uno una copia de seguridad sub-datos correspondientes de manera que se puede asegurar que hay tiempo para reemplazar el servidor, el otro puede hacerse cargo de una parte del trabajo continuo roto inmediatamente de la biblioteca

4. racimos facilitar ampliar

racimo Slice componentes principales:

Routers : los datos de enrutamiento, y el cliente módulo dedicado

servidor config Parte de la información de configuración para todos los depósitos, retirar de datos, la información de todo el fragmento nodos, función de fragmentación de:

Fragmento : La ubicación de almacenamiento de datos reales, los datos almacenados en la unidad de trozo

Despliegue MongoDB fragmentación clúster

Como se muestra en la figura entorno de despliegue

1. Instalación MongoDB, 8 Ejemplo de configuración

2. Crear un directorio para almacenar datos

mkdir -p / usr / local / mongodb / datos / shard11

mkdir -p / usr / local / mongodb / datos / shard12

mkdir -p / usr / local / mongodb / datos / shard21

mkdir -p / usr / local / mongodb / datos / shard22

mkdir -p / usr / local / mongodb / datos / config1

mkdir -p / usr / local / mongodb / datos / config2

mkdir -p / usr / local / mongodb / datos / config3

3. Crear un directorio de registro y archivos de registro y agregar permisos

mkdir -p / usr / local / mongodb / logs

tocar /usr/local/mongodb/logs/router.log

tocar /usr/local/mongodb/logs/shard11.log

tocar /usr/local/mongodb/logs/shard12.log

tocar /usr/local/mongodb/logs/shard21.log

tocar /usr/local/mongodb/logs/shard22.log

tocar /usr/local/mongodb/logs/config1.log

tocar /usr/local/mongodb/logs/config2.log

tocar /usr/local/mongodb/logs/config3.log

chmod -R 777 /usr/local/mongodb/logs/router.log

chmod -R 777 /usr/local/mongodb/logs/shard11.log

chmod -R 777 /usr/local/mongodb/logs/shard12.log

chmod -R 777 /usr/local/mongodb/logs/shard21.log

chmod -R 777 /usr/local/mongodb/logs/shard22.log

chmod -R 777 /usr/local/mongodb/logs/config1.log

chmod -R 777 /usr/local/mongodb/logs/config2.log

chmod -R 777 /usr/local/mongodb/logs/config3.log

4. Editar Perfil

fragmento perfil

vim /usr/local/mongodb/bin/shard11.conf

vim /usr/local/mongodb/bin/shard12.conf

En comparación shard11.conf modificar el número de puerto y dbpath y logpath

vim /usr/local/mongodb/bin/shard21.conf

vim /usr/local/mongodb/bin/shard22.conf

En comparación shard21.conf modificar el número de puerto y dbpath y logpath

config fichero de configuración

vim /usr/local/mongodb/bin/config1.conf

vim /usr/local/mongodb/bin/config2.conf

vim /usr/local/mongodb/bin/config3.conf

En comparación config1.conf modificar el número de puerto y dbpath y logpath

enrutador fichero de configuración

vim /usr/local/mongodb/bin/router.conf

El promotor fragmento y el nodo de la configuración nodal

/ Usr / local / mongodb / bin / mongod -f /usr/local/mongodb/bin/shard11.conf

/ Usr / local / mongodb / bin / mongod -f /usr/local/mongodb/bin/shard12.conf

/ Usr / local / mongodb / bin / mongod -f /usr/local/mongodb/bin/shard21.conf

/ Usr / local / mongodb / bin / mongod -f /usr/local/mongodb/bin/shard22.conf

/ Usr / local / mongodb / bin / mongod -f /usr/local/mongodb/bin/config1.conf

/ Usr / local / mongodb / bin / mongod -f /usr/local/mongodb/bin/config2.conf

/ Usr / local / mongodb / bin / mongod -f /usr/local/mongodb/bin/config3.conf

6. Log constituyen conjunto de réplicas nodo de configuración

/ Usr / local / mongodb / bin / mongo --port 27111

> Cfg = {_ id: 'config', miembros: [{_ id: 0, host: '127.0.0.1: 27111'}, {_ id: 1, host: '127.0.0.1: 27222'}, {_ id: 2, host: '127.0.0.1: 27333'}]}

 

7. Iniciar fragmento dos rebanadas nodos que constituyen conjunto de réplicas

/ Usr / local / mongodb / bin / mongo --port 27018

> Cfg = {_ Identificación: 'shard1', los miembros: [{_ id: 0, host: '127.0.0.1: 27018'}, {_ id: 1, host: '127.0.0.1: 27019'}]}

/ Usr / local / mongodb / bin / mongo --port 27118

> Cfg = {_ Identificación: 'shard1', los miembros: [{_ id: 0, host: '127.0.0.1: 27118'}, {_ id: 1, host: '127.0.0.1: 27119'}]}

8. Start nodo de encaminamiento, la fragmentación y el aumento

/ Usr / local / mongodb / bin / Mongos -f conf / router.conf

Mongos> sh.addShard ( "shard1 / 127.0.0.1: 27018,127.0.0.1: 27019")

Mongos> sh.addShard ( "shard1 / 127.0.0.1: 27118,127.0.0.1: 27119")

estado de fragmentación de la base de datos de clúster Ver

9. permitir la fragmentación en el ataque a la base de datos

MongoDB fragmentación se basa, a una colección de colección fragmentada (tabla) llevado a cabo, es necesario para que pueda apoyar la fragmentación en la base de datos

Mongos> sh.enableSharding ( "KGC”)

Colección de fragmentos

primer índice

Mongos> db.kgc.createIndex ({ "_ id": 1})

En el conjunto de ensayo en el kgc biblioteca de fragmentos

sh.shardCollection ( "kgc.test", { "id": 1})

Ver estado: mongo> sh.status ()

10. Los datos de prueba se inserta cíclico fragmento

Mongos> for (var i = 1; i <= 10000; i ++) db.kgc.insert ({edad: i, nombre: "wangmazi", dir: "Beijing", país: "China"})

 

Publicado 37 artículos originales · ganado elogios 6 · Vistas a 10000 +

Supongo que te gusta

Origin blog.csdn.net/feili12138/article/details/104924768
Recomendado
Clasificación