У нас есть требование быстро хранить большие объемы данных, порядка порядка 100 тыс. Записей одновременно.Я оцениваю RavenDB, и кажется, что показатели, которые я получаю, довольно низкие - требуется около 2,5-3 секунд для хранения 10 тыс. Записей.
Код в значительной степени прямо из документации:
using (IDocumentStore store = new DocumentStore { Urls = new[] { "http://localhost:8080" }, Database = "xxx" })
{
store.Initialize();
for (int i = 0; i < 10; i++)
{
using (IDocumentSession session = store.OpenSession())
{
var things = DataGenerator.GenerateListOfThings(); // gets me a 10k objects
foreach (var thing in things)
{
session.Store(thing);
}
session.SaveChanges();
}
}
}
Объекты «Вещи» - это плоский объект с примерно 20 свойствами, ничего особенного в этом нет.
Я также пытался сохранить фрагменты по 1000 объектов, что улучшило время выполнения наоколо 10%, и массовая загрузка, которая дает схожие результаты.
Raven работает в док-контейнере с конфигурацией по умолчанию на машине с i7, SSD и 16 ГБ оперативной памяти.Документация говорит о «150 тыс. Записей на стандартном оборудовании», но я не вижу ничего похожего на это.Я что-то упустил?