Как стать автором
Обновить

Delayed durability поможет вашему ORM увеличить производительность на 50% и более, если Вы только будете использовать …

Время прочтения 10 мин
Просмотры 965
Oracle *PostgreSQL *Программирование *Microsoft SQL Server * *
Туториал
Recovery mode
Всего голосов 2: ↑1 и ↓1 0
Комментарии 3

Комментарии 3

  1. Насколько мне известно, в tempdb всегда используется DD. Собственно, исторически там она и возникла, а потом эту опцию вынесли и для других баз

  2. Мне не очень понятно, о каких проблемах при восстановлении с DD вы говорите. С DD любая транзакция либо записана, либо незаписана целиком. Проблемы возможны либо по согласованности с внешними системами, либо по нарушению каких то договорённостей верхнего уровня внутри базы, но тогда сразу вопрос, если важна согласованность, то почему это делается в разных транзакциях, а не одной?

На SQL 2019 на tempdb Delayed durability стоял по умолчанию в Disabled. Понятно что там мы вообще ничего не потеряем даже если tempdb держать в оперативной памяти. Но для порядка поставил в forced

Проблемы восстановления о которых я говорил на уровне объектной модели, например документ и регистр сведений которые на субд отражаются в несколько таблиц. Да формально можно изменение обоих объектов заключит в транзакцию, но фактически при разработке это не всегда удобно. Особенно если делать параллельную обработку наборами объектов. И поэтому возникает понятие согласованность на уровне ORM , я привел пример в конце статьи. Те кто постоянно работает с ORM меня поймут

  1. На tempdb DD всегда включен, а опции DD в GUI игнорируются для этой базы (типа магия)

  2. Если вас важно согласование многих транзакций, то чем это отличается от случаев: Disaster recovery с асинхронным always on, когда часть транзакций может быть потеряна? Или восстановление из бэкапа, где кусок после последнего transaction log может быть потеряна? Или краха самой 1С посередине работы? DD здесь ни при чем, он просто повышает вероятность некоторых вещей

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.