Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Вопрос по Cache buffers для Log Pool  [new]
ХромойЗаяц
Guest
Доброе время суток, подскажите пожалуйста почему SqlServer в случае multiple consumer использует hash tables?
11 окт 16, 19:48    [19770930]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по Cache buffers для Log Pool  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Почему SqlServer в случае чего использует что?
11 окт 16, 19:57    [19770948]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по Cache buffers для Log Pool  [new]
ХромойЗаяц
Guest
Гавриленко Сергей Алексеевич,

В книге Microsoft SQL Server 2012 Internals немного расписана работа Log Pool:
SQL Server 2012 introduces another structure to manage the cached log blocks called the log
pool. The log pool is a hash table hashed on the block ID and the database ID. (Earlier, you saw that
a LSN is composed of three parts and looks like this: 2:200:7. The first two parts are the log block,
and the third part is the record within the block.) The log pool allows SQL Server to access sets of log
records needed for different technologies that need access to the log.


Не могу понять, зачем нужно строить хэш таблицу, если длина ключа не велика - block ID и database ID?
11 окт 16, 20:19    [19771003]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по Cache buffers для Log Pool  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
ХромойЗаяц
Не могу понять, зачем нужно строить хэш таблицу, если длина ключа не велика - block ID и database ID?
А зачем по вашему вообще строят хэш таблицу и причем тут длинна ключа?
12 окт 16, 20:40    [19775388]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по Cache buffers для Log Pool  [new]
ХромойЗаяц
Guest
Mind,

Хэши сравнить легче, если ключ длинный. А тут хэш таблицы выбраны скорее всего для увеличения скорости изменения данных.
13 окт 16, 16:12    [19778365]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по Cache buffers для Log Pool  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
ХромойЗаяц
Mind,

Хэши сравнить легче, если ключ длинный.
Сравнить? Что и с чем вы собрались сравнивать?
Почитайте про хэш таблицы и зачем они нужны.
13 окт 16, 19:32    [19779168]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по Cache buffers для Log Pool  [new]
ХромойЗаяц
Guest
Mind,

Ну например нужно вам проверить существование элемента в хэш таблице, вы вычисляете его хэш и сравниваете с существующими значениями. Как вы без сравнения будете это делать.
13 окт 16, 20:00    [19779198]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по Cache buffers для Log Pool  [new]
o-o
Guest
ХромойЗаяц,

msdn
The log pool is an in-memory cache of the transaction log. This cache is used to optimize reading the log for recovery, transaction replication, rollback, and Always On Availability Groups.

Ну кэш это такой, инмемори структура, организованная в виде hash table
13 окт 16, 20:10    [19779213]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по Cache buffers для Log Pool  [new]
ХромойЗаяц
Guest
Спасибо за ответы!
13 окт 16, 20:37    [19779265]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить