
O acesso de atualização concorrente em um Banco de dados é definido pela estratégia de bloqueio, a qual será definida no Esquema do Banco de Dados.
Antes de descrever os tipos de bloqueios é importante explicar o que vem a ser uma transação para o OpenBASE: é uma seqüência de atualizações, podendo compreender um ou mais registros de um ou mais arquivos.
O início de uma transação é definida no OpenBASE, por um comando de bloqueio (LOCK) e o seu final por um comado de desbloqueio (UNLOCK). Isto não significa que somente os registros envolvidos na transação sejam bloqueados. Na verdade, o que vai determinar o universo de registros a serem bloqueados, é o tipo do bloqueio escolhido para o Banco de Dados.
Em uma aplicação do usuário escrita em OPUS, as transações que envolvem uma única atualização, não requerem que sejam explicitados os controles de LOCK e UNLOCK, devido ao fato destes controles, neste caso, serem tratados internamente pela OPUS. O OpenBASE implementa os seguintes tipos de bloqueio:
Caso o usuário não defina no Esquema nenhum tipo de bloqueio para o banco de Dados, o OpenBASE assume o bloqueio automático do Banco de Dados, bloqueando todo o Banco de Dados a cada transação. Este tipo de bloqueio é "default", por ser o mais utilizado, em função das aplicações serem processadas em mono processadores. Isto quer dizer que o computador processa uma instrução de código de máquina por vez. Deste modo o acesso a disco também é feito um de cada vez.
As transações muito grandes em Banco de Dados gigantescos e de intensa concorrência podem inviabilizar a utilização do bloqueio de Banco de dados, caso contrário, o tempo que o Banco de Dados ficará bloqueado é praticamente imperceptível.
Para o OpenBASE, este tipo de bloqueio é bastante eficiente, econômico e seguro:
Este tipo de bloqueio é útil quando a natureza das aplicações se restringe a acessar registros de um único arquivo, ou seja, cada aplicação acessa um arquivo.
Este tipo de Bloqueio define que todas as páginas onde estão contidos os registros a serem atualizados pelas transações, sejam bloqueados.
O tamanho de uma página de um arquivo, eqüivale 1024 bytes (1 Kb) e compreende um (ou parte de um) ou mais registros.
Este tipo de Bloqueio define que todos os registros a serem atualizados pelas transações sejam bloqueados.
Observações :
