Сообщение Re: [MSSQL] DELAYED_DURABILITY от 18.05.2019 18:24
Изменено 18.05.2019 18:29 VladCore
Re: [MSSQL] DELAYED_DURABILITY
Здравствуйте, Somescout, Вы писали:
S>Здравствуйте.
S>Может кто-нибудь рассказать что-то про эту фичу (https://docs.microsoft.com/en-us/sql/relational-databases/logs/control-transaction-durability?view=sql-server-2017)?
S>1) Действует ли она на любые типы таблиц в базе?
S>2) Насколько в целом это безопасно, если сбоев сервера, фактически, не бывает?
S>3) Что означает "Only transactions that have been made durable are included in the backup. " — что в бэкап логов транзакции попадут в момент фактической записи на диск, или что они вообще не будут в нём отражены?
Там есть пояснение:
Т.е. Транзакция попадает гарантированно и в backup и в log shipment или при выполнении sp_flush_log или если комитится любая обычная транзакция (с выключенным Deleyed Durabity)
А вообще прикольная тема.
Интересно насколько все быстрее работает если на всё включить Deleyed Durabity = On?
Скажем простой сценарий типа hangfire/асинхронная очередь — W потоков пишут в таблицу сообщения и R потоков сообщения "удаляют" (помечают обработанными).
А теперь возмем
R=0, W=16
R=16, W=0
R=16, W=1
S>Здравствуйте.
S>Может кто-нибудь рассказать что-то про эту фичу (https://docs.microsoft.com/en-us/sql/relational-databases/logs/control-transaction-durability?view=sql-server-2017)?
S>1) Действует ли она на любые типы таблиц в базе?
S>2) Насколько в целом это безопасно, если сбоев сервера, фактически, не бывает?
S>3) Что означает "Only transactions that have been made durable are included in the backup. " — что в бэкап логов транзакции попадут в момент фактической записи на диск, или что они вообще не будут в нём отражены?
Там есть пояснение:
If a fully durable transaction or sp_flush_log successfully commits, all previously committed delayed durability transactions are guaranteed to have been made durable.
Т.е. Транзакция попадает гарантированно и в backup и в log shipment или при выполнении sp_flush_log или если комитится любая обычная транзакция (с выключенным Deleyed Durabity)
А вообще прикольная тема.
Интересно насколько все быстрее работает если на всё включить Deleyed Durabity = On?
Скажем простой сценарий типа hangfire/асинхронная очередь — W потоков пишут в таблицу сообщения и R потоков сообщения "удаляют" (помечают обработанными).
А теперь возмем
R=0, W=16
R=16, W=0
R=16, W=1
Re: [MSSQL] DELAYED_DURABILITY
Здравствуйте, Somescout, Вы писали:
S>Здравствуйте.
S>Может кто-нибудь рассказать что-то про эту фичу (https://docs.microsoft.com/en-us/sql/relational-databases/logs/control-transaction-durability?view=sql-server-2017)?
S>1) Действует ли она на любые типы таблиц в базе?
S>2) Насколько в целом это безопасно, если сбоев сервера, фактически, не бывает?
S>3) Что означает "Only transactions that have been made durable are included in the backup. " — что в бэкап логов транзакции попадут в момент фактической записи на диск, или что они вообще не будут в нём отражены?
Там есть чёткий ответ:
Т.е. все транзакции попадают гарантированно и в backup и в log shipment (1) или при выполнении sp_flush_log (2) или если комитится любая обычная транзакция (с выключенным Deleyed Durabity)
А вообще прикольная тема.
Интересно насколько все быстрее работает если на всё включить Deleyed Durabity = On?
Скажем простой сценарий типа hangfire/асинхронная очередь — W потоков пишут в таблицу сообщения и R потоков сообщения "удаляют" (помечают обработанными).
А теперь возмем
R=0, W=16
R=16, W=0
R=16, W=1
S>Здравствуйте.
S>Может кто-нибудь рассказать что-то про эту фичу (https://docs.microsoft.com/en-us/sql/relational-databases/logs/control-transaction-durability?view=sql-server-2017)?
S>1) Действует ли она на любые типы таблиц в базе?
S>2) Насколько в целом это безопасно, если сбоев сервера, фактически, не бывает?
S>3) Что означает "Only transactions that have been made durable are included in the backup. " — что в бэкап логов транзакции попадут в момент фактической записи на диск, или что они вообще не будут в нём отражены?
Там есть чёткий ответ:
If a fully durable transaction or sp_flush_log successfully commits, all previously committed delayed durability transactions are guaranteed to have been made durable.
Т.е. все транзакции попадают гарантированно и в backup и в log shipment (1) или при выполнении sp_flush_log (2) или если комитится любая обычная транзакция (с выключенным Deleyed Durabity)
А вообще прикольная тема.
Интересно насколько все быстрее работает если на всё включить Deleyed Durabity = On?
Скажем простой сценарий типа hangfire/асинхронная очередь — W потоков пишут в таблицу сообщения и R потоков сообщения "удаляют" (помечают обработанными).
А теперь возмем
R=0, W=16
R=16, W=0
R=16, W=1