Resulta ser que en resumidas cuentas al SGA se le agregó un "pool" estatico que ahora es llamado "In-Memory" de esta manera los objetos almacenados en este pool se les dice o se les conoce como datos en un "IM Column Store".
Tanto el "data buffer cache" como "in-memory" pueden convivir juntos, no es del todo cierto que la reciente tecnologia ha llegado para sustituir al "data buffer cache".
Al estar el dato, tabla y/o tablespace las consultas son mas "rápidas", mejorando así el tiempo de respuesta.
Pero, ¿cómo podemos ver si nuestra base de datos posee el parametro in-memory habilitado? Relativamente sencillo con el siguiente parametro:
Para habilitar nuestra base de datos a "In-memory", primero debemos tomar en cuenta nuestra memoria SGA actual, en una instalacion por default con la distribucion de memoria automatica es muy probable que la cantidad de la misma sea la siguiente:
Resulta ser que tenemos actualmente 700 Megas de memoria al igual que nuestro parametro de "max target", entonces vamos a realizar lo siguiente:
- A esos 700M los voy a aumentar hasta 1024M.
- Voy a restar los nuevos 1024M que tengo por los 700M que tenia anteriormente.
- Esa cantidad restante es la que voy a asignar a la seccion de memoria "In-Memory".
Hasta el momento todo bien...sin embargo a la hora de realizar un "shutdown immediate" y un "startup" para que que los datos queden correctamente seteados en el spfile, obtengo el siguiente error:
Bueno, debido al error deberemos verificar la particion con el nombre "tmpfs" cuya ruta segun nuestro sistema operativo es "/dev/shm". Esta particion es un tradicional concepto de memoria compartida, "tmpfs" es un nombre común para una instalación de almacenamiento de
archivos temporales en muchos sistemas operativos Unix/Linux.
Por lo tanto, es un sistema de archivos, que mantiene todos los archivos en la memoria virtual.
Aumentando el espacio de esta particion de la siguiente manera:
Sera posible entonces levantar nuestra base de datos con los parametros anteriormente colocados:
Habilitado el parametro "In-Memory Area" los objetos deseados pueden crearse en este pool de memoria:
El uso de la caracteristica "In-memory" en bases de datos SQL Server, unicamente se hace presente en las versiones 2014, sin embargo existen features en 2012 BI que ya trabajaban con esa propiedad.
Gracias.