Шардинг в MongoDB с использованием драйвера C # - PullRequest
1 голос
/ 22 августа 2011

Я пытаюсь поэкспериментировать с шардингом и создать пример конфигурации: самый простой для двух шардов.Вот код из файлов 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"})); 

Так что мне не удалось заставить работать осколки.Можете ли вы сказать мне, в чем я не прав: настройка, подключение или вставка?И как правильно это сделать?

Ответы [ 2 ]

0 голосов
/ 25 августа 2011

Решение, опубликованное в вопросе, отлично работает

0 голосов
/ 22 августа 2011

Сдается мне, что вы осколка осколков. Клиенты, но вставка в Riverdale. Клиенты.Я что-то упустил?

...