Newsletter Agosto 2014 Contenido Compresión Avanzada Página: 1 Compresión Avanzada 6 Estrategia SOA + Estrategia BPM Editores Generales Francisco Barrundia Por Ing. Alfredo Aguilar [email protected] Alejandro Lau 5a. Ave. 5-55 Zona14,Edificio Euro Plaza Torre II, Nivel 12 Débora Morán Teléfono: (502)2364-5300Fax: (502)2364-5311 [email protected] Autores Contribuyentes Alfredo Aguilar Marlon Pérez La compresión avanzada en Oracle 11gR2 y 12c es una opción que necesita licenciamiento y nos permite utilizar las siguientes funcionalidades: Pagina 1/10 Compresión Avanzada de Filas Compresión de RMAN/DataPump Compresión Avanzada de LOB Compresión en el Transporte de Redo al sitio de contingencia Compresión Avanzada en la Red En este documento hablaremos acerca de la compresión avanzada de filas (llamada OLTP en 11gR2 y renombrada como Advanced Row Compression en 12c), que nos permite comprimir datos de todas las operaciones que realicemos en la base de datos, es decir, cualquier operación DML que se haga en nuestra base de datos. 5a Av. 5-55 Zona14, Europlaza World Business Center, Torre II, Nivel 12 PBX (502) 2364-5300 Fax (502) 2364-5311 [email protected] Página 1 La compresión básica que nos proporciona Oracle no necesita licenciamiento. Es realizada únicamente en operaciones de: SQL Loader Sentencias de tipo CREATE AS SELECT INSERT con hint PARALELL o APPEND Esto es beneficioso en ambientes de Datawarehouse, pero no en bases de datos transaccionales. La compresión avanzada se basa en un nuevo algoritmo de compresión, el cual dependiendo de la cardinalidad o repetición de los datos puede reducir el espacio ocupado en un factor hasta de 2x o 3x, lo cual beneficia en un costo menor de almacenamiento. El rendimiento en cuanto a lecturas a disco no se ve degradado al aplicar este tipo de compresión, debido a que se necesitan menos lecturas para obtener la misma cantidad de datos. A menos bloques leídos de disco, menor tiempo y menos eventos de espera por lecturas secuenciales. En cuanto al rendimiento por escrituras, no hay compresión automática de datos ingresados o actualizados, por lo que el rendimiento se mantiene en igual proporción. La compresión ocurre cuando el bloque alcanza un límite (o dicho de otra forma, cuando queda menos de un porcentaje libre, determinado por PCTFREE). Al llegar a este límite, se comprimen todos los datos aun no comprimidos en el bloque. Este proceso se puede apreciar en la siguiente imagen. 1. Asumamos que PCTFREE es 10. 2. Los bloques nuevos reciben datos no comprimidos. Al momento de llenarse el bloque a un 90% o más (dejando 10% o menos espacio libre para actualizaciones), se comprimen todos los registros. 3. Esta operación de compresión deja más espacio libre, permitiendo que el bloque siga disponible para nuevas inserciones. Si no ocurriera la compresión, el bloque se considera lleno y ya no acepta nueva inserciones. 4. Al ocurrir nuevas inserciones, el bloque contiene registros comprimidos y registros no comprimidos. 5. Cuando se alcanza el límite de 90%, nuevamente se dispara el proceso de compresión para los registros no comprimidos, dejando de nuevo más espacio libre para inserciones. Llegará un momento en que la compresión ya no deje más de 10% libre, por lo que el bloque se considera lleno y no permitirá más inserciones, solamente actualizaciones y borrados. 5a Av. 5-55 Zona14, Europlaza World Business Center, Torre II, Nivel 12 PBX (502) 2364-5300 Fax (502) 2364-5311 [email protected] Página 2 Existen 3 formas recomendadas de establecer la propiedad de compresión OLTP a las tablas ya existentes: 1. ALTER TABLE <tabla> COMPRESS FOR OLTP Esta opción nos permite habilitar la compresión en la tabla para las nuevas operaciones DML que se ejecuten, pero la data antigua quedara sin comprimirse. 2. ALTER TABLE <tabla> MOVE COMPRESS FOR OLTP Con esta opción podemos mover los datos y tanto los antiguos como los nuevos datos quedarán comprimidos. Cabe mencionar que con esta opción, mientras se esté realizando el "alter table", se genera un bloqueo exclusivo sobre la tabla, de modo que no podremos realizar DML sobre la misma, únicamente poder lecturas. Otro punto importante que nos permite esta opción es mover la tabla hacia un nuevo tablespace, reduciendo el espacio ocupado por la tabla.. Esta operación la podemos hacer sobre tablas particionadas y subparticionadas. Al realizar esta operación se invalidan los índices, por lo cual será necesario reconstruirlos, pero también se puede usar la cláusula "update indexes" para mantener los índices. Esto coloca un bloqueo exclusivo de modo que las operaciones DML no se podrán realizar hasta que termine el bloqueo. Es recomendado ejecutar esta opción en modo paralelo para obtener un mejor rendimiento. 3. Online Redefinition Esta opción nos permite mantener la tabla en modo lectura y escritura hasta el final de operación. Esta operaciones pueden mantener los índices actualizados, la única exclusión es cuando se redefine una partición de la tabla, el índice global queda invalidado y cuando termine la operación deberemos reconstruirlo. Ejemplo Aquí veremos los resultados que se obtienen luego de aplicar compresión OLTP a una tabla. En este ejercicio se comprimió una tabla por medio del método “ALTER TABLE … MOVE COMPRESS FOR OLTP”. Al iniciar el proceso utilizamos dbms_compression.get_compression_ratio para tener una idea del porcentaje de compresión a obtener. Para este caso tenemos la siguiente salida: 5a Av. 5-55 Zona14, Europlaza World Business Center, Torre II, Nivel 12 PBX (502) 2364-5300 Fax (502) 2364-5311 [email protected] Página 3 Para el ejercicio utilizamos una tabla no comprimida y se tiene los siguientes resultados. Antes de Comprimir Nombre de la tabla y la compresión aplicada Tamaño que ocupa la tabla Tamaño del datafile en donde se encuentra la tabla Tamaño del datafile a donde se moverá la tabla Plan de ejecución y estadísticas al hacer un select * de la tabla 5a Av. 5-55 Zona14, Europlaza World Business Center, Torre II, Nivel 12 PBX (502) 2364-5300 Fax (502) 2364-5311 [email protected] Página 4 Luego de comprimir Tabla con la opción COMPRES FOR OLTP activada Espacio ocupado por la tabla en MB y en GB para hacer la comparación. Tamaño del datafile en donde se encuentra la tabla (a donde se movió). Plan de ejecución y estadísticas tabla comprimida al hacer un select * de la tabla. Comparación Sin Com primi r Tamaño 2.68 (GB) 75 Lecturas 7114 Físicas 7 Bytes 78M Leídos Filas 1707 Procesa 2301 das Tiempo 2:19 de Respues ta (min) Com pres o Difere ncia 0.68 35 3994 4 53M 2.004 1707 2301 0 1:37 0:42 31203 25M Como se puede observar en la tabla anterior, el espacio se reduce en casi 2 GB y el tiempo de consulta es menor, debido a que tiene que leer menos bloques y las filas procesadas son las mismas en ambas consultas. 5a Av. 5-55 Zona14, Europlaza World Business Center, Torre II, Nivel 12 PBX (502) 2364-5300 Fax (502) 2364-5311 [email protected] Página 5 Estrategia SOA + Estrategia BPM Por Ing. Marlon Pérez [email protected] SOA y BPM SOA es una tendencia actual de desarrollo de TI, donde el desarrollo y uso de aplicaciones de computadora utilizan el concepto de servicios que pueden ser vistos como el complemento perfecto para BPM. La figura 1 muestra la vinculación estrecha ente BPM (Negocios) y TI (Tecnología de la Información). Fig. 1 – Vinculación entre el área de negocios y el área de tecnología Los servicios son un tipo de encapsulamiento de tecnología basada en funcionalidades. Las aplicaciones basadas en SOA acceden a servicios utilizando interfaces de servicio y operaciones bien definidas, esperando recibir respuestas que están en línea con contratos de servicio publicados. Los servicios facilitan la reutilización de funcionalidades y la composición de aplicaciones basadas en SOA, estas aplicaciones se caracterizan por ser acopladas de manera flexible, dado que los consumidores del servicio están aislados del trabajo interno del servicio, por lo que estas aplicaciones son significativamente más resistentes al cambio. Entonces, los procesos de negocio pueden ser construidos por orquestación de dichos servicios de software, particularmente cuando se necesita acceder a las funcionalidades de otras aplicaciones. En este escenario, los procesos de negocio pueden ser vistos como tipos de aplicaciones basadas en SOA. En una configuración SOA que habilita BPM, los analistas de negocio y los desarrolladores de tecnología trabajan con las interioridades de la implementación del servicio y colaboran a través de interfaces de servicio y contratos, de manera que el área de tecnología y el área de negocio se alinean con las necesidades y objetivos de la organización, como se observa en la figura 2. 5a Av. 5-55 Zona14, Europlaza World Business Center, Torre II, Nivel 12 PBX (502) 2364-5300 Fax (502) 2364-5311 [email protected] Página 6 Fig. 2 – Vinculación de BPM y SOA con la integración de áreas de negocio y tecnología Beneficios principales de implementar BPM Eficiencia Mejor, más rápido y mayor efectividad del retorno de la inversión. Métricas: Utilización, capacidad, salidas, rapidez, calidad, rendimiento, excepciones. Resultados: Reducción de costos, productividad mejorada (ROI), utilización efectiva de recursos, mejor calidad y mejores servicios. Visibilidad Conocer el estado actual y las salidas de los procesos de negocio y del negocio en general. Métricas: Financieras, organizacionales, tasa de fallas en SLA, tasa de no conformidad Resultados: Administración ágil, menores riesgos, conformidad, cuentas financieras, menores reservas de capital, mejor visibilidad. 5a Av. 5-55 Zona14, Europlaza World Business Center, Torre II, Nivel 12 PBX (502) 2364-5300 Fax (502) 2364-5311 [email protected] Página 7 Agilidad Rápida adaptación a los cambios en las condiciones de negocios. Métricas: Rapidez para crear y cambiar procesos, tiempo para preparar estrategias de mercadeo. Resultados: Crecimiento en los rendimientos y beneficios empresariales, crecimiento en el mercado, mayor competitividad, líder de mercado. BPM como un potenciador para implementar SOA BPM podría considerarse una tecnología complementaria para fortalecer la adopción de una estrategia SOA en una organización, dado que ambos paradigmas se basan en los mismos principios (reutilización, bajo acoplamiento, estandarización). BPM fortalece la implementación de SOA al considerar los siguientes aspectos: BPM se enfoca en los procesos de negocio y está construido con una estrategia SOA, por lo tanto, los proyectos desarrollados sobre BPM aseguran utilizar una estrategia SOA y aseguran que la solución esté enfocada en las necesidades del proceso de negocio y no solamente en una necesidad de integración de sistemas. Al crear un proyecto BPM (basado en los procesos de negocio), involucra a los analistas de negocio y al recurso humano que entiende las necesidades y objetivos del negocio desde el nacimiento del proyecto. Esto impulsa soluciones más enfocadas en las necesidades reales del negocio y fortalece el vínculo y la comunicación negocio – IT, ya que el personal a cargo de la Tecnología de la Información dentro de la organización también se identifica con las necesidades y objetivos reales del negocio desde que inician los proyectos. Por la naturaleza de los proyectos BPM, la comunicación entre el recurso humano relacionado a la estrategia de negocio y el recurso humano relacionado con el desarrollo de la tecnología de la información de la empresa se fortalece, por lo tanto, se crearán soluciones más robustas, con mejor enfoque de negocio y generará sinergia entre el activo humano de la organización, esto resultará en una disminución de costos a largo plazo y una tasa de retorno de la inversión más eficiente, dado que el talento humano de la organización se verá impulsado y fortalecido por cada proyecto BPM desarrollado. El uso de BPM permite desarrollar la estrategia SOA organizacional de una forma más rápida y más incluyente, dado que requiere mayor participación por parte del recurso humano de la organización vinculado tanto al negocio como a la tecnología. Dado que un proyecto BPM implementado sobre una plataforma SOA genera sinergia entre el recurso humano de la organización y permite que dicho recurso humano esté más comprometido con las necesidades y objetivos reales de la organización, se estará fortaleciendo, impulsando y potenciando la capacidad de innovación a partir del propio recurso humano de la organización, lo cual generará organizaciones que podrán liderar e innovar los mercados en que trabajan. 5a Av. 5-55 Zona14, Europlaza World Business Center, Torre II, Nivel 12 PBX (502) 2364-5300 Fax (502) 2364-5311 [email protected] Página 8 Bibliografía Getting Started With Oracle BPM Suite 11gR1; Heidi Buelow, Manoj Das, Manas Deb, PrasenPalvankar, Meera Srinivasan. SOA and BPM work together; Esraa Farrag; CCIT – AASTMT, Heliopolis, Cairo, Egipto.http://www.academia.edu/3686991/SOA_and_BPM_work_together_IEEE_FORMAT Tip Técnico del Mes ¿Qué discos ASM estamos utilizando? Cuando usamos ASM para la administración de discos Oracle, algunas veces podemos perder la visión de qué discos se están utilizando en nuestro servidor y a qué dispositivos corresponden. Podemos ejecutar estos comandos como root: # oracleasm listdisks VOLUMEN1 Si queremos ver con qué dispositivo físico está mapeado, una vez que sabemos el nombre del volumen, podemos lanzar la siguiente consulta: $oracleasm querydisk -d VOLUMEN1 Disk "VOLUMEN1" is a valid ASM disk on device /dev/dm-3[253,3] Si no nos diera el nombre del dispositivo, con el major y minor (en el caso anterior 253 y 3) podemos editar el archivo /proc/partitions y verificar el nombre del dispositivo. major minor 253 3 #blocks name 518488064 dm-3 Por Lic. Francisco Barrundia [email protected] 5a Av. 5-55 Zona14, Europlaza World Business Center, Torre II, Nivel 12 PBX (502) 2364-5300 Fax (502) 2364-5311 [email protected] Página 9