Está en la página 1de 6

Database Smart Flash Cache con

Oracle Linux

Documento Técnico

Septiembre de 2021
Copyright © 2021, Oracle y/o sus afiliadas
Público

1 Documento Técnico /
Database Smart Flash Cache de Oracle com Oracle Linux
Copyright © 2021, Oracle y/o sus afiliadas / Público
Introducción
Este documento explica cómo aumentar el rendimiento de una base de datos de Oracle y mejorar el tiempo de respuesta
del usuario mediante la función Database Smart Flash Cache con Oracle Linux. La función Database Smart Flash Cache
de Oracle solo se admite en los sistemas operativos Oracle Linux y Oracle Solaris.

Para workloads basadas en transacciones, los bloques de la base de datos de Oracle normalmente se cargan en un área
de memoria dedicada y compartida en la memoria principal, llamada System Global Area (SGA). Database Smart Flash
Cache permite que el buffer cache de la base de datos se expanda más allá de la SGA a un caché de segundo nivel en la
memoria flash.

Se espera que los entornos de Procesamiento de Transacciones Online (OLTP) y de Datawarehouse (DWH) se
beneficien de esta tecnología ya que es apropiada para nuevas implementaciones de la base de datos de Oracle con
cargas de trabajo intensivas de E/S, así como para entornos existentes con restricciones de memoria principal y
aplicaciones vinculadas a E/S. Los beneficios pueden incluir tanto un mayor rendimiento en las transacciones como
mejores tiempos de respuesta de las aplicaciones. También es compatible con entornos Real Application Cluster (RAC)—
Database Smart Flash Cache se puede aplicar a nodos individuales de Oracle RAC según sea necesario.

Los entornos de la base de datos de Oracle con potencial para usar eficazmente esta tecnología incluyen: workloads con
transacciones cortas y repetidas en las que muchos usuarios acceden a los mismos datos, sistemas de almacenamiento
con intensa actividad de lectura de disco y sistemas bajo una fuerte presión de la memoria principal que impiden que se
asigne más memoria al buffer cache de la SGA.

Database Smart Flash Cache de Oracle


Durante muchos años, el rendimiento de los dispositivos de almacenamiento basados en discos giratorios no mejoró
significativamente. Esa situación ha cambiado drásticamente gracias a los dispositivos de almacenamiento basados en
flash. La función Smart Flash Cache de la base de datos de Oracle aprovecha este avance de E/S que ofrecen los
dispositivos de almacenamiento tipo flash.

Database Smart Flash Cache de Oracle funciona como un caché secundario, lo que significa que almacena bloques de
base de datos limpios (sin modificar) que han sido desalojados del buffer cache de la SGA para dejar espacio para otros
bloques. Si un bloque seleccionado para el desalojo se modifica, uno de los procesos de escritura de la base de datos
(DBWR) primero escribe el bloque sucio en el disco y luego lo escribe en el Database Smart Flash Cache.
Posteriormente, los bloques se pueden recuperar del Database Smart Flash Cache y devolverse a la SGA según sea
necesario. Si no se puede encontrar un bloque en el buffer cache de la SGA o en el Database Smart Flash Cache, se
recuperará del disco.

El ciclo de vida de un bloque se parece a esto:

3. Si se requiere el bloque
Buffer Cache de la más adelante, se puede
restaurar en la SGA desde
1. Un bloque de SGA el caché flash.
datos se recupera
del disco y se
restaura en la SGA 2. El bloque se
desaloja de la SGA
y se almacena en el
caché flash.

Solución de Almacenamiento Empresarial

Almacenamiento Tradicional Almacenamiento Flash

Figura 1. Ciclo de vida de un bloque de datos con Database Smart Flash Cache

2 Documento Técnico / Database Smart Flash Cache de Oracle con Oracle Linux
Copyright © 2021, Oracle y/o sus afiliadas / Público
¿Cuándo se debe considerar implementar el Smart Flash Cache?
Smart Flash Cache es una solución adecuada si/cuando:

• La base de datos de Oracle está sufriendo una saturación de ancho de banda durante un período de mayor
actividad
• La base de datos de Oracle necesita aumentar el número de transacciones por segundo
• Se quiere extender la vida de servidores obsoletos
• Se busca una solución rentable para optimizar el TCO de la base de datos
• La base de datos corre en Oracle Linux con UEK o Solaris OS
• El informe de la sección Buffer Pool Advisory del Repositorio Automático de Workloads (AWR)
indica que sería beneficioso duplicar el tamaño del buffer cache
• La "lectura secuencial del archivo db" es un evento de espera superior

Oracle recomienda un tamaño del flash caché sea de 4 a 10 veces el tamaño de la SGA (Oracle Database System
Global Area).

Algunos de los beneficios secundarios son:

• Mejora del rendimiento de escritura física con menos latencia en el disco


• Aumento de la eficiencia del servidor debido a la reducción de E/S de almacenamiento
• Ahorro de energía

Implementación
La función Database Smart Flash Cache presenta dos nuevos parámetros init.ora:

• DB_FLASH_CACHE_FILE, que identifica el dispositivo flash


• DB_FLASH_CACHE_SIZE, que especifica la cantidad de almacenamiento flash disponible para el
Database Smart Flash Cache
El parámetro DB_FLASH_CACHE_FILE puede apuntar a un raw device (incluido un volumen lógico), un archivo o un
grupo de discos ASM. Tenga en cuenta que para los raw devices, la partición que se utiliza debe comenzar en el
cilindro 1 en lugar del cilindro 0 (para evitar la etiqueta de volumen del disco).

Estos son algunos ejemplos de estas variables en uso en un archivo init.ora:

Identificar la ubicación del archivo de Database Smart Flash Cache (que también podría ser un symlink a un raw
device):

db_flash_cache_file = "/export/home/oracle/lffile_raw"

Indicar que Database Smart Flash Cache es administrado por una instancia de ASM:

db_flash_cache_file = "+DG1/asm_llfile"

Especificar el tamaño del Database Smart Flash Cache (en este caso, 50 Gbytes):

db_flash_cache_file_size= 50G

Un tamaño típico de Database Smart Flash Cache es de dos a diez veces el tamaño de los búferes de la memoria de
la SGA. Tenga en cuenta que la información del encabezado se almacena en la SGA para cada buffer cache en la
memoria flash— 100 bytes por búfer en modo exclusivo, 200 bytes por búfer en modo Oracle RAC— por lo que la
cantidad de búferes de SGA disponibles se reduce a medida que aumenta el tamaño de la Database Smart Flash
Cache y el tamaño de la SGA debe aumentarse en consecuencia.

Actualmente, la implementación del Database Smart Flash Cache solo permite especificar un único dispositivo flash.
Por esta razón, es necesario tener alguna forma de gestión de volumen cuando se utilizan matrices de
almacenamiento Flash; Oracle Database Automatic Storage Management (ASM) demostró ser una mejor opción que
un administrador de volumen tradicional.

3 Documento Técnico / Database Smart Flash Cache de Oracle con Oracle Linux
Copyright © 2021, Oracle y/o sus afiliadas / Público
Hay que tener en cuenta que Database Smart Flash Cache no se comparte entre los nodos de Oracle RAC; es privado
para cada instancia de Oracle RAC. Por ese motivo, cada instancia de Oracle RAC debe definir su propia ruta de
archivo de flash cache local. Cuando ASM administra el flash cache, se necesita un grupo de discos independiente
para el flash cache de cada instancia.

Resultados de la Prueba
Para caracterizar la función Database Smart Flash Cache se ejecutaron varias pruebas utilizando una
workload simulada Online Transaction Processing (OLTP) sintética en la que varios usuarios de la base de
datos enviaron transacciones concurrentes. Bajo una carga pesada, la gran cantidad de transacciones
simultáneas generó una cantidad significativa de operaciones de entrada o salida (E/S) en el subsistema de
almacenamiento. La workload incluía únicamente transacciones de solo lectura y, por lo tanto, solo emitía
lecturas a la base de datos.

El gráfico de la Figura 2 a continuación muestra los resultados de la prueba cuando la workload está vinculada al
disco (lo que significa que el rendimiento de la aplicación está limitado por la cantidad de E/S que puede procesar
el subsistema del disco). A medida que se introduce y aumenta el Database Smart Flash Cache, el rendimiento
aumenta constantemente hasta un punto en el que se estabiliza.

En el entorno de prueba, se reservaron 8 gigabytes (GB) para la memoria del buffer cache de la SGA y el tamaño del
conjunto de datos totalizó 72 GB. En consecuencia, se necesitaron aproximadamente 65 GB de caché flash para
almacenar los datos en caché por completo (suponiendo que los encabezados de flash cache consumieran alrededor
de 1 GB del buffer cache de la SGA y que, por lo tanto, hubiera 7 GB disponibles en el buffer cache de la SGA para
bloques de datos).

El gráfico muestra que las lecturas del disco físico disminuyeron gradualmente a medida que aumentaba el tamaño del
Database Smart Flash Cache. Las escrituras flash (que son necesarias para llenar los búferes del Database Smart
Flash Cache) también aumentan con más flash— con 50 GB de almacenamiento flash, la mayoría de los búferes más
utilizados ya están ubicados en la SGA o en el Database Smart Flash Cache.
Rendimiento relativo

Transacciones
Disk Rd IOPS
Flash Rd IOPS
Flash Wr IOPS

Tamaño del Database Smart Flash Cache (GB)

Figura 2: Relación entre Rendimiento, Disco e E/S de Flash

El último gráfico de la Figura 3 a continuación muestra los tiempos de respuesta de las transacciones asociados con
las pruebas comparativas descritas anteriormente. En cada caso, el uso de Database Smart Flash Cache resultó en
una mejora significativa del tiempo de respuesta. Cuando la workload fue significativamente restringida por las E/S
del disco y se asignó un Database Smart Flash Cache adecuado, los beneficios fueron muy significativos con tiempos
de respuesta que mejoraron casi 5 veces (x5). Estos resultados demuestran que un rendimiento de lectura y escritura
muy superior puede conducir directamente a tiempos de respuesta de transacción mejorados para aplicaciones con
restricciones de disco.

4 Documento Técnico / Database Smart Flash Cache de Oracle con Oracle Linux
Copyright © 2021, Oracle y/o sus afiliadas / Público
Mejora (x veces) – Superior = Mejor

Tamaño del Database Smart Flash Cache (GB)


Figura 3: Mejora del tiempo de respuesta con el aumento del tamaño del Database Smart Flash Cache

Cuanto mayor es el tamaño del Database Smart Flash Cache mayor es la posibilidad de que los bloques se
identifiquen en el mismo (rendimiento mejorado).

Hay que tener en cuenta que los beneficios pueden variar para workloads de escritura intensiva y es probable que las
mejoras sean menos significativas.

Conclusión
Database Smart Flash Cache acelera las aplicaciones, aumenta la productividad y mejora la capacidad de
respuesta del negocio. Según las referencias que se ejecutaron en Oracle Linux con Unbreakable Enterprise
Kernel, se lograron grandes beneficios en cuanto a rendimiento. Como beneficio adicional, al implementar la
función Database Smart Flash Cache no solo se reducirán las IOPS del disco duro para lecturas, lo que
resultará en grandes beneficios de rendimiento, sino que esta reducción dará como resultado la capacidad de
realizar escrituras físicas con menos latencia.

Los administradores pueden influir en las prioridades del caché al obligar al caché a mantener todo el tablespace.
SFC puede mejorar mucho el tiempo de respuesta y rendimiento total tanto para ambientes de workloads de
procesamiento de transacciones de lectura intensiva online (OLTP) como para consultas ad hoc y modificaciones
masivas de datos en un data warehouse (DWH). Estos son beneficios significativos para los clientes que corren
grandes bases de datos.

La función Database Smart Flash Cache de Oracle con Oracle Linux y Unbreakable Enterprise Kernel proporciona una
plataforma que se puede escalar y funcionar según las exigentes necesidades de las empresas en crecimiento.

5 Documento Técnico / Database Smart Flash Cache de Oracle con Oracle Linux
Copyright © 2021, Oracle y/o sus afiliadas / Público
Entre en contacto

Llame al +1.800.ORACLE1 o visite oracle.com. Fuera de Norteamérica, busque su oficina local en: oracle.com/contact.

blogs.oracle.com facebook.com/oracle twitter.com/oracle

Copyright © 2020, Oracle y/o sus afiliadas. Todos los derechos reservados. Este documento se Oracle y Java son marcas comerciales de Oracle y/o sus afiliadas. Otros nombres pueden ser marcas
proporciona únicamente con fines informativos y su contenido está sujeto a cambios sin previo aviso. comerciales de sus respectivos propietarios.
No se garantiza que este documento esté libre de errores ni esté sujeto a ninguna otra garantía o
condición, ya sea expresada verbalmente o implícita en la ley, incluidas las garantías implícitas y las Intel e Intel Xeon son marcas comerciales o marcas comerciales registradas de Intel Corporation. Todas las
condiciones comerciales o de idoneidad para un propósito particular. Renunciamos específicamente marcas comerciales de SPARC se utilizan bajo licencia y son marcas comerciales o marcas comerciales
a cualquier responsabilidad con respecto a este documento, y este documento no forma ninguna registradas de SPARC International, Inc. AMD, Opteron, el logotipo de AMD y el logotipo de AMD Opteron son
obligación contractual directa o indirecta. Este documento no puede reproducirse ni transmitirse de marcas comerciales o marcas comerciales registradas de Advanced Micro Devices. UNIX es una marca
ninguna forma ni por ningún medio, electrónico o mecánico, para ningún propósito, sin nuestro registrada de The Open Group. 0120
permiso previo por escrito. Descargo de responsabilidad: Este documento es para fines informativos. No se asume el compromiso de
Este dispositivo no ha sido autorizado según lo exigen las normas de la Comisión Federal de entregar ningún material, código o funcionalidad, y no se debe confiar en él para tomar decisiones de compra.
Comunicaciones. Este dispositivo no se ofrece, y no se puede ofrecer para venta o alquiler, ni se El desarrollo, lanzamiento, tiempo y precio de cualquier función o funcionalidad descrita en este documento
vende o alquila, hasta que se obtenga la debida autorización. puede cambiar, lo que queda a entera discreción de Oracle Corporation.

6 Documento Técnico / Database Smart Flash Cache de Oracle con Oracle Linux
Copyright © 2021, Oracle y/o sus afiliadas / Público

También podría gustarte