Я пытаюсь поэкспериментировать с шардингом и создать пример конфигурации: самый простой для двух шардов.Вот код из файлов bat:
cd c:\mongodb-win32-x86_64-1.8.3-rc1\bin
call mongod --shardsvr --dbpath /data/db/Shard--port 10000
cd c:\mongodb-win32-x86_64-1.8.3-rc1\bin
call mongod --shardsvr --dbpath /data/db/Shard2 --port 10001
cd c:\mongodb-win32-x86_64-1.8.3-rc1\bin
mongod --configsvr --dbpath /data/db/config --port 20000
cd c:\mongodb-win32-x86_64-1.8.3-rc1\bin
mongos --configdb 192.168.0.23:20000
cd c:\mongodb-win32-x86_64-1.8.3-rc1\bin
mongo
use admin
db.runCommand( { addshard : "192.168.0.23:10000" } )
db.runCommand( { addshard : "192.168.0.23:10001" } )
db.runCommand( { enablesharding : "Shard" } )
db.runCommand( { shardcollection : "Shard.Customers", key :
{LocalIdentifier : 1} } )
Когда я пытаюсь выполнить простую вставку кода в эту БД, она выполняется, но оба шарда пусты.Вот код вставки:
public void SaveBatch(IEnumerable<object> entities)
{
MongoCollection.InsertBatch(typeof(object), entities, SafeMode.True);
}
Также это код, выполняющийся при соединении:
string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
mongoServer = mongoServer.Create(connectionString);
mongoDatabase = mongoServer.GetDatabase("Shard");
mongoCollection = mongoDatabase.GetCollection<Customer>("Customers");
mongoCollection.EnsureIndex(
IndexKeys.Ascending(new[] {"CampaignId", "LocalIdentifier", "ProjectIdentifier", "FirstName", "LastName"}));
Так что мне не удалось заставить работать осколки.Можете ли вы сказать мне, в чем я не прав: настройка, подключение или вставка?И как правильно это сделать?