OrientDB - Almacenamiento en caché
Cachinges un concepto que creará una copia de la estructura de la tabla de la base de datos proporcionando un entorno cómodo para las aplicaciones del usuario. OrientDB tiene varios mecanismos de almacenamiento en caché en diferentes niveles.
La siguiente ilustración da una idea de qué es el almacenamiento en caché.
En la ilustración de arriba DB1, DB2, DB3 son las tres instancias de base de datos diferentes que se utilizan en una aplicación.
Level-1 caché es un Local cacheque almacena todas las entidades conocidas por una sesión específica. Si tiene tres transacciones en esta sesión, retendrá todas las entidades utilizadas por las tres transacciones. Esta caché se borra cuando cierra la sesión o cuando realiza el método "borrar". Reduce la carga de las operaciones de E / S entre la aplicación y la base de datos y, a su vez, aumenta el rendimiento.
Level-2 caché es un Real cacheque funciona mediante el uso de un proveedor externo. Puede tener control total sobre el contenido de la caché, es decir, podrá especificar qué entradas deben eliminarse, cuáles deben almacenarse por más tiempo, etc. Es un caché compartido completo entre varios subprocesos.
Storage model no es más que un dispositivo de almacenamiento que es disco, memoria o servidor remoto.
¿Cómo funciona la caché en OrientDB?
El almacenamiento en caché de OrientDB proporciona diferentes metodologías en diferentes entornos. El almacenamiento en caché se utiliza principalmente para transacciones de bases de datos más rápidas, lo que reduce el tiempo de procesamiento de una transacción y aumenta el rendimiento. Los siguientes diagramas de flujo muestran cómo funciona el almacenamiento en caché en modo local y en modo cliente-servidor.
Modo local (base de datos integrada)
El siguiente diagrama de flujo le dice cómo el registro está entre el almacenamiento y la aplicación utilizada en el modo local, es decir, cuando su servidor de base de datos está en su host local.
Cuando la aplicación cliente solicita un registro, OrientDB comprueba lo siguiente:
Si una transacción ha comenzado, busca dentro de la transacción los registros modificados y los devuelve si los encuentra.
Si la caché local está habilitada y contiene el registro solicitado, lo devuelve.
Si en este punto el registro no está en caché, entonces lo solicita al Almacenamiento (disco, memoria).
Modo cliente-servidor (base de datos remota)
El siguiente diagrama de flujo le indica cómo el registro se encuentra entre el almacenamiento y la aplicación utilizada en el modo cliente-servidor, es decir, cuando su servidor de base de datos está en una ubicación remota.
Cuando la aplicación cliente solicita un registro, OrientDB comprueba lo siguiente:
Si una transacción ha comenzado, busca dentro de la transacción los registros modificados y los devuelve si los encuentra.
Si la caché local está habilitada y contiene el registro solicitado, lo devuelve.
En este punto, si el registro no está en caché, entonces lo solicita al Servidor a través de una llamada TCP / IP.
En el servidor, si la caché local está habilitada y contiene el registro solicitado, lo devuelve.
En este punto, aún el registro no está almacenado en caché en el servidor, luego lo solicita al Almacenamiento (disco, memoria).