OrientDB - Cache
Cachingé um conceito que criará uma cópia da estrutura da tabela do banco de dados, proporcionando um ambiente confortável para os aplicativos do usuário. OrientDB possui vários mecanismos de cache em diferentes níveis.
A ilustração a seguir dá uma ideia sobre o que é cache.
Na ilustração acima DB1, DB2, DB3 são as três diferentes instâncias de banco de dados usadas em um aplicativo.
Level-1 cache é um Local cacheque armazena todas as entidades conhecidas por uma sessão específica. Se você tiver três transações nesta sessão, ela conterá todas as entidades usadas por todas as três transações. Este cache é limpo quando você fecha a sessão ou quando executa o método "limpar". Ele reduz a carga das operações de E / S entre o aplicativo e o banco de dados e, por sua vez, aumenta o desempenho.
Level-2 cache é um Real cacheque funciona usando um provedor de terceiros. Você pode ter controle total sobre o conteúdo do cache, ou seja, você poderá especificar quais entradas devem ser removidas, quais devem ser armazenadas por mais tempo e assim por diante. É um cache compartilhado completo entre vários threads.
Storage model nada mais é do que um dispositivo de armazenamento que é disco, memória ou servidor remoto.
Como funciona o cache no OrientDB?
O armazenamento em cache do OrientDB fornece diferentes metodologias em diferentes ambientes. O cache é usado principalmente para transações de banco de dados mais rápidas, reduzindo o tempo de processamento de uma transação e aumentando o desempenho. Os diagramas de fluxo a seguir mostram como o armazenamento em cache funciona no modo local e no modo cliente-servidor.
Modo local (banco de dados incorporado)
O diagrama de fluxo a seguir mostra como o registro está entre o armazenamento e o aplicativo usado no modo local, ou seja, quando o servidor de banco de dados está no host local.
Quando o aplicativo cliente pede um registro, o OrientDB verifica o seguinte -
Se uma transação foi iniciada, ele procura dentro da transação os registros alterados e os retorna, se encontrados.
Se o cache local estiver habilitado e contiver o registro solicitado, ele o retorna.
Se neste ponto o registro não estiver no cache, então pede para o Storage (disco, memória).
Modo Cliente Servidor (Banco de Dados Remoto)
O diagrama de fluxo a seguir mostra como o registro está entre o armazenamento e o aplicativo usado no modo cliente-servidor, ou seja, quando o servidor de banco de dados está em um local remoto.
Quando o aplicativo cliente pede um registro, o OrientDB verifica o seguinte -
Se uma transação foi iniciada, ele procura dentro da transação os registros alterados e os retorna, se encontrados.
Se o cache local estiver habilitado e contiver o registro solicitado, ele o retorna.
Nesse ponto, se o registro não estiver em cache, ele será solicitado ao Servidor por meio de uma chamada TCP / IP.
No servidor, se o cache local estiver habilitado e contiver o registro solicitado, ele será retornado.
Neste ponto, ainda o registro não está em cache no servidor, então pede para o Storage (disco, memória).