использование RavenDB для массовой вставки данных - PullRequest
5 голосов
/ 03 апреля 2012

Я пытаюсь импортировать большие объемы данных (поток Twitter со скоростью около 20-25 твитов в секунду) в RavenDB для тестирования и тестирования больших объемов данных. У меня есть некоторый код, который пишет данные довольно хорошо, но через некоторое время я получаю сообщение об ошибке:

Error while trying to add lots of data to RavenDB

Я не буду заполнять весь код, но вот суть этого:

Open RavenDB Session
Start reading data from Twitter Stream
For each line, parse JSON into known C# object
add item to RavenDB
increment counter
if counter % 25 = 0, save changes to RavenDB.

Я не пробовал то, что он предложил, потому что он говорит, чтобы посмотреть на разные способы сделать это. Должен ли я убивать мой сеанс каждые 200 или около того вставок? Есть ли способ вставить массив объектов с Raven DB? Я делаю это совершенно неправильно?

1 Ответ

5 голосов
/ 03 апреля 2012

Два варианта:

  • создать новые сеансы до того, как будет достигнут предел (25 запросов на сеанс - хорошее значение)
  • увеличить DocumentSession.Advanced.MaxNumberOfRequests до подходящего значения

В любом случае будет работать, хотя второй подход немного быстрее.

Редактировать: Согласно приведенному ниже комментарию Оренса, это фактически первыйподход, который быстрее.

...