вторник, 5 февраля 2013 г.

RavenDB Embeddable - коротко и по существу

Сессии:

  • Открытие сессии: дешевая, почти дармовая операция (65000 сессий за 300-500мс).
  • Закрытие сессии: и того дешевле (65000 сессий за 0-3мс)
  • По умолчанию количество запросов на сессию ограничивается 30 штуками. Устанавливается при в DocumentStore.Conventions.MaxNumberOfRequestsPerSession
Инициализация хранилища: 
  • очень дорогая операция - от 7с до минуты и больше
  • похоже, имеет место зависимость от размера хранилища
SaveChanges: 
  • дорогая операция. Зависит от количества объектов (1000 объектов за 1-15мс). 
  • В TransactionScope время выполнения не меняется.
Работа с Queryable: 
  • Выполненные Queryable кэшируются. После добавления данных нужно взять новый .Query<>
Работа с транзакциями: 
  • объекты оказываются в базе только после transaction.Complete(); или Dispose в using-блоке транзакции. Точно выяснить когда начинает работать .Count() после добавления объектов - не удалось
  • Уровни изоляции, судя по всему, не реализованы. 
  • Если SaveChanges прервертся во время выполнения без транзакции - умрет вся база! 


Комментариев нет:

Отправить комментарий