“Oracle Database In-Memory” es una nueva y poderosa funcionalidad del manejador de base de datos que fue incluida en la versión 12 Realease 1 (12.1.0.2), liberada en julio del 2014.Esta serie de artículos estarán basados sobre esta interesante posibilidad que nos pone a disposición “Oracle Database”.

Introducción

El tema relacionado con “Oracle Database 12c In-Memory” definitivamente ha de marcar un antes y un después en la forma en como los sistemas y/o bases de datos de tipo “OLTP” & “DWH” pueden combinarse basados en una base de datos Oracle. Hasta la fecha los sistemas de procesamiento común cuenta con una o muchas base(s) de datos con procesamiento de tipo “OLTP” y una o muchas base(s) de datos de tipo “DWH” para llevar a cabo análisis de inteligencia de negocio. Normalmente esto conduce a que los clientes adquieran en la mayoría de los casos distintas infraestructuras de “Hardware” ( Base de datos.. Servidores.. etc.. ) para mantener la operación de ambos. De  forma común los clientes diseñan, implantan soluciones y procesos para alimentar las bases de datos de tipo “DWH” con la data generada por los sistemas “OLTP”. Desde hace unas cuantas décadas siempre se ha realizado de la misma manera en la mayoría de oportunidades.

Ahora que tal si hablamos de:

Combinar ambos productos y/o funcionalidades en una misma base de datos.. eliminando de forma parcial o total procesos de: extracción, transporte, transformación y análisis..

Poseer un DWH que pueda correr en tiempo real..

Menor integración, esfuerzo de administración..

Nuevos posibles tipos de aplicaciones de apoyo de decisiones en tiempo real..

Esto y mucho mas..

“Oracle Database In-Memory” acelera transparente el análisis en órdenes de magnitud, mientras que al mismo tiempo puede acelerar cargas de trabajo mixtas en una base de datos de tipo OLTP. Con “Oracle Database In-Memory”, los usuarios obtienen respuestas inmediatas a preguntas de negocio que previamente tomaban horas.

“Oracle Database In-Memory” ofrece tecnología de vanguardia en materia de rendimiento en memoria sin la necesidad de restringir funcionalidad o aceptar cierta clase de compromisos transaccionales, configuración, complejidad o riesgo. La Implementación de “Oracle Database In-Memory” con cualquier aplicación compatible con bases de datos Oracle es tan fácil como apretar un botón, no se requieren cambios en las aplicaciones. “Oracle Database In-Memory” está totalmente integrado con los conceptos ampliamente conocidos y manejados por el manejador Oracle en su arquitectura tales como:

“Scale-up”

“Scale-out”

Almacenamiento por niveles

Disponibilidad

& Tecnologías de seguridad

“Oracle Database In-Memory” ofrece la capacidad de realizar fácilmente análisis de data en modo “real-time” en conjunto con procesamiento de transacciones también en tiempo real. Esto representa un concepto de transformación de procesamiento empresarial escalando a un concepto de “Real-Time Enterprises” las cuales podrán procesar decisiones, responder instantáneamente a solicitudes de los clientes y mas en tiempo real..

Todo esto y mas es lo que representa una de las mas novedosas caracterististicas de “Oracle Database 12c” denominada: “Oracle Database12c In-Memory”.

Hablemos técnicamente un poco mas de esta nueva característica.

Bloque de base de datos

El manejador de base de datos Oracle tradicionalmente ha almacenado los datos en formato de fila (“row format”), esto significa: guardados como registros “multi-columna” en los bloques de datos en disco (Figura 1). En una base de datos  “row format”, cada nueva transacción o registro es guardado como una nueva fila en una tabla. El formato de fila, es ideal para bases de datos transaccionales (OLTP)  ya que permite un rápido acceso a todas las columnas de un registro,  dado que todos los datos de un registro específico se mantienen contiguos tanto en la memoria como en el disco, también es marcadamente eficiente para el procesamiento de sentencias DML.

Figura 1:Formato interno de un bloque de base de datos y una pieza de fila

Aclaramos que la estructura del bloque de datos no fue modificada en el último release de “Oracle Database”, los cambios se realizaron únicamente en la arquitectura de la memoria lo cual implica solamente impacto a nivel instancia.

Cambios en laInstancia

Una instancia Oracle está compuesta por memoria y procesos de segundo plano “Background processes”. La memoria está dividida principalmente en dos áreas diferentes: “System Global Area (SGA)” and “Program Global Area”. Oracle crea procesos servidor para manejar los requerimientos de los procesos de usuarios conectados a la instancia. Una de las tareas más importantes de estos procesos de servidor (“Server Process”)  es leer bloques de datos de los objetos desde los datafiles en disco y cargarlos en el  buffer chache. Por defecto Oracle almacena los datos en el “database buffer cache”  en formato fila (“row format”). A partir de Oracle Database 12c Release 1 (12.1.0.2) se agregó un nuevo pool estático en la SGA  llamado área de “In-Memory” de esta manera los objetos son almacenados en un nuevo formato denominado “In-Memory Column Store (IM column store)” en esta mencionada área de memoria. IM Column es un opcional que almacena copias de tablas, particiones, columnas de tablas, vistas materializadas (objetos especificados como “In-memory” utilizando DDL) en un nuevo formato columnar  optimizado para escaneos rápidos.

La base de datos utiliza técnicas especiales, incluyendo procesamiento de instrucciones de vector SIMD (utilizado para procesar varios valores en cada instrucción) para escanear datos columnares rápidamente. “IM column store” es un complemento para el “data buffer cache” más que un reemplazo del mismo. De hecho ambas áreas de memoria pueden almacenar los mismos datos en diferentes formatos (Figura 2) y no es requerido que los objetos que son cargados en el “IM column store” sean también cargados en el “database buffer cache”, es decir, los objetos pueden ser subidos a memoria únicamente en “IM column store”.

Figura 2:Formato dual de almacenamiento en memoria

Optimizaciones Integrales de Memoria

“Oracle Database In-Memory” implementa algoritmos “state-of-the-art” para:

“Memory scans”

“In-memory joins”

“In-memory aggregation”

Las consultas analíticas normalmente hacen referencia a sólo un pequeño número de las columnas en una tabla. “Oracle Database In-Memory” minimiza el trabajo y maximiza el rendimiento mediante el acceso a sólo aquellas columnas necesarias por una consulta mediante el procesamiento de estas columnas directamente sin tener que descomprimirlas primero.

Las tablas están divididas lógicamente en secciones. Valores mínimos y máximos de cada columna son mantenidos para cada sección de la tabla. Esto permite a las consultas saltar/obviar aquellas secciones que contienen datos fuera del rango de los valores requeridos por la consulta.

Es frecuente encontrarse con tipos de columnas que poseen muchos valores repetidos. Por ejemplo, una columna de almacenamiento de la región geográfica de cada transacción de venta tendrá muchas repeticiones de las mismas regiones. “Oracle Database In-Memory” comprime estos valores repetidos para ahorrar memoria y optimiza el procesamiento mediante la ejecución de consulta de predicados sólo una vez por cada valor de columna única (por ejemplo, una vez por región única).

Microprocesadores modernos soportan “SIMD (Single Instruction for Multiple Data values) instrucciones de procesamiento vectorial para acelerar los gráficos y computación científica. “Oracle Database In-Memory” puede utilizar estas instrucciones vectoriales SIMD para procesar múltiples valores de columna en un solo ciclo de reloj del CPU.

“In-Memory table joins” aprovecha el nuevo formato de la columna convirtiendo condiciones de “Join” en filtros aplicados durante “scans” de datos de alta velocidad.

“In-Memory aggregation algorithms” se apalanca en el formato de la columna para acelerar consultas analíticas y reportes que manejan grandes cantidades de datos.

En conjunto, estas optimizaciones permiten a “Oracle Database In-Memory” ejecutar consultas a la tasa asombrosa de miles de millones de filas por segundo para cada núcleo de  CPU. “Analytics” que antes tardaban horas o días para ejecutar ahora se completa en cuestión de segundos, permitiendo tomar decisiones de negocio en tiempo real.

Procesamiento vectorial SIMD escanea miles de millones de valores por segundo tal como se muestra en la figura.

Puede continuar la lectura en nuestro próximo artículo donde abordaremos aspectos técnicos de configuración de “Oracle Database In-Memory”, haciendo click aquí.

Joel Pérez es un experto DBA (Oracle ACE Director, OCM Cloud Admin. & OCM11g) con más de 15 años de experiencia real en el mundo de tecnología Oracle, especializado en diseño e implementación de soluciones de: Cloud, Alta disponibilidad, Recuperación contra desastres, Upgrades, Replicación y toda área relacionada con bases de datos Oracle. Consultor Internacional con trabajos, conferencias y actividades relacionadas en más de 50 países alrededor del mundo. Habitual Orador en eventos Oracle alrededor del mundo como: OTN LAD, OTN MENA, OTN APAC y más. Joel se ha caracterizado siempre por ser un pionero en materia de tecnología Oracle desde los inicios de su carrera siendo el primer latinoamericano en ser nombrado "OTN Expert" en el año 2003, uno de los primeros Oracle ACE en el programa ACE en el año 2004, unos de los primeros OCP Cloud en el mercado global en el año 2013 y como uno de los mayores logros de su carrera, recientemente en el 2014 fue honorificado como uno de los primeros "OCM Database Cloud Administrator" del mundo. En la actualidad Joel Pérez esta radicado en el continente de Asia con base en Beijing, China llevando a cabo operaciones profesionales como “Chief Technologist & MAA, HA Arquitect” para Yunhe Enmo (Beijing) Technology Co. Ltd.

http://education.oracle.com/education/otn/JoelPerez.htm

Mahir M. Quluzade es un Senior DBA con mas de 10 anos de experiencia en bases de datos Oracle con especial foco en "High Availability" & "Disaster Recovery Solutions (RAC, Data Guard, RMAN,…)". Mahir actualmente trabaja en el "Central Bank of the Republic of Azerbaijan". El es OCP DBA. Mahir es frecuente orador en el "Azerbaijan Oracle User Group (AZEROUG)".

Sebastián D'Alessandro es un Senior DBA con más de 12 años de experiencia en tecnología Oracle, focalizado principalmente en seguridad de base de datos, soluciones de alta disponibilidad, disaster recovery y virtualización. Actualmente desarrolla su actividad como consultor e instructor de manera independiente.

Este artículo ha sido revisado por el equipo de productos Oracle y se encuentra en cumplimiento de las normas y prácticas para el uso de los productos Oracle.

uso oracle,Oracle Database 12c: In-Memory (Parte I)相关推荐

  1. Oracle Database 12C 学习之多租户(连载四)

    使用克隆现存PDB的方式创建新的PDB:这里有两种情况,一种为使用本地PDB,另外一种为使用远程PDB.二者并无太大差异.只是第二种需要使用DBLINK而已. 克隆本地方式: SYS@ora12g&g ...

  2. 【OH】Deprecated and Desupported Features for Oracle Database 12c

    连接地址:http://docs.oracle.com/database/121/UPGRD/deprecated.htm#UPGRD60000 8Deprecated and Desupported ...

  3. Oracle Database 12c Attribute Cluster 和 Zone Map 高阶实验

    本文为参照此教程的实验过程. 此实验设计得非常好,感谢作者Nigel Bayliss和Veerabhadra Rao Putrevu. 术语翻译 Attribute Cluster:属性聚类 Clus ...

  4. Oracle Eneterprise Linux 5.8上安装Database 12c

    下面不过多介绍,请阅读OEL6上安装Oracle 12c. 1.系统信息: [root@12c ~]# uname -a Linux 12c.luocs.com 2.6.32-300.10.1.el5 ...

  5. WebLogic 12c与Oracle Database 12c的集成

    Oracle database 12c增加了很多新的特性,如果能够让WebLogic 12c的JDBC发挥出这些特性,无疑会使系统更强大. 关于WebLogic 12c与Oracle Database ...

  6. oracle12c如何存档图片,Oracle Database 12c实用教程

    第1章 数据库技术基础 1 1.1 数据库基本概念 1 1.2 数据模型 3 1.2.1概念模型 3 1.2.2结构模型 5 1.3 数据库的设计步骤 9 1.4 习题 10 第2章 Oracle D ...

  7. Oracle Database 12c 新特性:RAC Cluster Hub Node 和 Leaf Node

    Oracle Database 12c 新特性:RAC Cluster Hub Node 和 Leaf Node 在 Oracle Database 12c 的 Cluster 中引入了很多新特性和新 ...

  8. oracle12.2 redo 进程,【Oracle Database 12c新特性】TTnn TMON新的redo传输后台进程

    在Oracle 11g中 Data Guard的redo传输工作主要由以下3组后台进程实现: ARCi (FAL – archived redo shipping, ping, local only ...

  9. 《OCA认证考试指南(1Z0-061):Oracle Database 12c SQL基础》

    2019独角兽企业重金招聘Python工程师标准>>> <OCA认证考试指南(1Z0-061):Oracle Database 12c SQL基础> 旨在帮助读者备战Or ...

  10. Oracle Database 12c新特性 In-Database Archiving数据库内归档

    [Oracle Database 12c新特性] In-Database Archiving数据库内归档 Oracle Database 12c中引入了 In-Database Archiving的新 ...

最新文章

  1. Android通用简洁的下载器
  2. iOS 应用性能测试的相关方法、工具及技巧
  3. php代码时间控制,PHP 网页过期时间的控制代码
  4. 初学者python笔记(re模块、正则表达式完全解析)
  5. Unity 图片开启不同选项内存占用
  6. iOS开发--添加定位功能
  7. 【排坑】内外部事务的回滚问题(三)
  8. mysql怎么递归查询下级_mysql递归查询上下级
  9. 怎么安装64位JAVA,大师来详解
  10. 电脑快捷启动工具 Lily5.1
  11. Insyde uefi 隐藏设置_苹果手机:插件NoMessageButtons:可隐藏iOS信息应用界面的按钮...
  12. Unity的PackageManager面板不能用问题
  13. ONVIF系列——海康摄像头设置onvif协议开启
  14. 【Android】解决aab上传Google Play后下载语言文件缺失的问题
  15. Linux:搭建GIT服务,Linux中使用git,git基础命令,和原理
  16. Unity 2D光照(2D Light)和阴影(Shadow Caster 2D)
  17. 详细分析stm32f10x.h
  18. python实现求解最长公共子序列LCS问题
  19. 网络安全工程师自主学习计划表(具体到阶段目标)
  20. python回归分析例题_python编程线性回归代码示例

热门文章

  1. HTML表格——使用CSS冻结行和列
  2. 盐城市公交路线及时刻表
  3. 小说精品屋web+安卓ap+微信小程序动漫小说源码
  4. 微支付几个参数的获得
  5. 「Pytorch」CNN实现手写汉字识别(数据集制作,网络搭建,训练验证测试全部代码)
  6. 每周全球科技十大新闻(2019.8.12-8.18)
  7. Nginx-免费SSL证书申请
  8. Vue脚手架创建项目报错 ERROR command failed: npm install --loglevel error --legacy-peer-deps
  9. 原生 android 手机,三部具有原生安卓系统的旗舰手机,一部比一部漂亮
  10. 6款好用的文字云工具