Лучшее руководство по ломтик MongoDB в 2024 году. В этом руководстве вы можете изучить Ломтики,Почему срез,ломтик MongoDB,Примеры фрагментации,
Существует еще один кластер MongoDB в пределах, нарезка технологии, большое количество данных, чтобы удовлетворить растущий спрос на MongoDB.
Когда MongoDB для хранения больших объемов данных, машина может быть недостаточно для хранения данных, может быть недостаточно для обеспечения приемлемого для чтения и записи пропускную способность. В этот момент мы можем разделить данные на несколько машин, так что система баз данных может хранить и обрабатывать больше данных.
На следующем рисунке показано использование кластерной структуры среза в распределении MongoDB:
Изображение выше имеет следующие три основных компонента:
Используется для хранения фактического блока данных, фактической производственной среды, роль осколок сервер может установить несколько машин relica установить обязательство по предотвращению принимающей единой точки отказа
mongod экземпляр, хранит всю ClusterMetadata, включая информацию фрагмента.
Передний конец маршрута, в результате чего клиентский доступ, а весь кластер как единую базу данных интерфейсных приложений могут прозрачно использовать.
порты Slice ткани распределены следующим образом:
Shard Server 1:27020 Shard Server 2:27021 Shard Server 3:27022 Shard Server 4:27023 Config Server :27100 Route Process:40000
Шаг первый: Запустить осколок сервер
[root@100 /]# mkdir -p /www/mongoDB/shard/s0 [root@100 /]# mkdir -p /www/mongoDB/shard/s1 [root@100 /]# mkdir -p /www/mongoDB/shard/s2 [root@100 /]# mkdir -p /www/mongoDB/shard/s3 [root@100 /]# mkdir -p /www/mongoDB/shard/log [root@100 /]# /usr/local/mongoDB/bin/mongod --port 27020 --dbpath=/www/mongoDB/shard/s0 --logpath=/www/mongoDB/shard/log/s0.log --logappend --fork ruru [root@100 /]# /usr/local/mongoDB/bin/mongod --port 27023 --dbpath=/www/mongoDB/shard/s3 --logpath=/www/mongoDB/shard/log/s3.log --logappend --fork
Шаг второй: Запустите сервер Config
[root@100 /]# mkdir -p /www/mongoDB/shard/config [root@100 /]# /usr/local/mongoDB/bin/mongod --port 27100 --dbpath=/www/mongoDB/shard/config --logpath=/www/mongoDB/shard/log/config.log --logappend --fork
Примечание: Здесь мы можем начать как обычный MongoDB службы в качестве начала, нет необходимости добавлять -shardsvr и configsvr параметры. Потому что роль этих двух параметров, чтобы изменить начальный порт, поэтому мы можем быть самостоятельно Назначенный порт.
Шаг третий: Начало маршрута обработки
/usr/local/mongoDB/bin/mongos --port 40000 --configdb localhost:27100 --fork --logpath=/www/mongoDB/shard/log/route.log --chunkSize 500
Параметры запуска mongos, chunkSize этот используется для указания размера блока памяти, блок MB, размер по умолчанию 200MB.
Шаг четвертый: Настройка Шардинг
Далее, мы используем MongoDB Shell вход на mongos, добавлять узлы осколок
[root@100 shard]# /usr/local/mongoDB/bin/mongo admin --port 40000 MongoDB shell version: 2.0.7 connecting to: 127.0.0.1:40000/admin mongos> db.runCommand({ addshard:"localhost:27020" }) { "shardAdded" : "shard0000", "ok" : 1 } rururu mongos> db.runCommand({ addshard:"localhost:27029" }) { "shardAdded" : "shard0009", "ok" : 1 } mongos> db.runCommand({ enablesharding:"test" }) #设置分片存储的数据库 { "ok" : 1 } mongos> db.runCommand({ shardcollection: "test.log", key: { id:1,time:1}}) { "collectionsharded" : "test.log", "ok" : 1 }
Шаг пятый: В программном коде без особых изменений, прямая связь в соответствии с обычной базой данных Монго в качестве интерфейса доступа к базе данных для подключения 40000