Terminologia CLFS
A lista a seguir fornece definições de termos-chave usados na documentação do CLFS (Common Log File System). Essas definições se aplicam durante uma discussão sobre CLFS, mas podem não se aplicar de outra forma. Muitos desses termos têm significados gerais ou significados no contexto de outras tecnologias que diferem das definições fornecidas aqui.
Recipiente
Uma extensão contígua em um disco físico ou em outro meio de armazenamento estável. Por exemplo, um contêiner pode ser um arquivo de disco contíguo.
Sector
A unidade de E/S atômica em um meio de armazenamento físico. O tamanho de um setor é uma propriedade de um dispositivo de armazenamento específico. Por exemplo, um disco rígido pode ter um tamanho de setor de 512 bytes.
Log
Um arquivo base e um conjunto de contêineres ordenados logicamente. O arquivo base contém metadados para o log e os contêineres mantêm registros de log. Todos os contêineres têm o mesmo tamanho.
Cliente
Um aplicativo, driver, thread ou outra unidade de software que usa um log CLFS.
Registro
A unidade de dados que um cliente pode acrescentar ou ler de um log.
Fluxo
Um subconjunto ordenado dos registros em um log. Um log pode ter um ou mais fluxos. Um cliente acrescenta registros e lê registros de um fluxo específico. Você pode comparar os registros em um determinado fluxo para determinar a ordem em que eles foram gravados. Você não pode comparar registros em fluxos diferentes. Um determinado fluxo pode ter vários clientes. Por exemplo, vários threads podem acrescentar registros a um único fluxo. Para um cliente, um fluxo aparece como se fosse o log inteiro.
log dedicado
Um log que pode ter apenas um fluxo.
log multiplexed
Um log que pode ter vários fluxos.
bloco de E/S de log
Um buffer em que o CLFS coleta um conjunto de registros que são gravados atomicamente no armazenamento estável.
área de marshalling
Um conjunto de blocos de E/S de log, criados, mantidos e agendados por um cliente CLFS para coletar registros de log e escrevê-los no armazenamento estável. Os blocos de E/S de log alocados em memória volátil para uma área de marshaling específica têm o mesmo tamanho.
Nota Embora todos os blocos de E/S de log (em memória volátil) para uma área de marshalling específica tenham o mesmo tamanho, os blocos de E/S de log gravados no armazenamento estável (dessa área de marshalling) variam de tamanho. Por exemplo, se um bloco de E/S de log for forçado ao armazenamento estável antes de estar cheio, somente a parte usada do bloco será gravada no armazenamento estável.
número da sequência de logs (LSN)
Uma estrutura opaca que contém um valor que identifica exclusivamente um registro de log em um determinado fluxo. Quando um cliente grava um registro em um fluxo, ele recebe de volta um LSN que ele pode usar para identificar o registro no futuro. Os LSNs que o CLFS atribui aos registros em um fluxo formam uma sequência crescente. Ou seja, o LSN atribuído a um registro em um fluxo é sempre maior do que o LSN atribuído ao registro gravado anteriormente nesse mesmo fluxo.
Nota Os registros entre fluxos não são comparáveis. Ou seja, você não pode comparar os LSNs de dois registros em fluxos diferentes para determinar qual registro foi gravado primeiro.
LSN base
O LSN do registro mais antigo em um fluxo que ainda é necessário para os clientes do fluxo. Os clientes são responsáveis por atualizar o LSN base.
último LSN
O LSN do registro mais jovem em um fluxo que ainda é necessário para os clientes do fluxo. Normalmente, esse é o registro que foi gravado mais recentemente no fluxo, mas os clientes têm a opção de definir manualmente o último LSN para apontar para algum registro anterior no fluxo. Definir manualmente o último LSN como um registro anterior é chamado truncando o fluxo.
archive tail
O LSN do registro mais antigo em um log para o qual o arquivamento não ocorreu. Nem todos os logs têm uma parte final do arquivo morto. Um log que não tem uma cauda de arquivo morto é chamado de efêmero e um log que tem uma cauda de arquivo morto é chamado de não efêmero. Quando um cliente especifica que um log tem uma parte final de arquivo morto, o cliente é responsável por atualizar a parte final do arquivo morto.
parte ativa de um fluxo
A parte de um fluxo que está atualmente em uso por seus clientes. A parte ativa começa com o registro apontado pelo LSN base ou pela parte final do arquivo morto, o que for menor. A parte ativa termina com o registro apontado pelo último LSN.