Archivo

Posts Tagged ‘SQL’

Nuevo Meetup para DBAs y arquitectos: aprendiendo y compartiendo conocimiento sobre Big Data (Barcelona, 10-04-2018)

El 10 de abril organizamos el segundo Meetup en Barcelona del grupo Oracle Database meetups para DBAs y Arquitectos, bajo el título Oracle Data Management trends: SQL, NoSQL y BigData, al que asistieron 20 miembros. Otros 3 más nos acompañaron siguiéndolo vía streaming.

Mientras que en el primer Meetup nos habíamos centrado en las nuevas tecnologías de Bases de Datos, Cloud y Oracle 18c autonomous Database, esta vez el tema fue distinto. Nos focalizamos en el análisis, almacenamiento y acceso a datos masivos, es decir, Big Data. Extendiendo las características y herramientas del RDBMS de Oracle a los nuevos almacenes de datos: Hadoop y bases de datos NoSQL e integrando el acceso en un único dominio de datos mediante SQL.

Para ayudarnos a comprender estos conceptos el primer ponente, David Mauri, Cloud Platform Solution Architect de Oracle, nos enseñó toda la teoría sobre cómo Oracle ha logrado esta integración, separando el motor SQL de su emblemática base de datos para procesar las consultas y los drivers de acceso que permiten leer datos, tanto de ficheros sobre el Hadoop Distributed File System, como de la herramienta de Data Warehousing, HIVE (ver presentación). Leer más…

Meetup Oracle Data Management trends: SQL, NoSQL y BigData (Madrid, 15-03-2018)

El 15 de marzo realizamos el segundo meetup del grupo Oracle Database meetups para DBAs y Arquitectos, bajo el título Oracle Data Management trends: SQL, NoSQL y BigData, al que asistieron 25 miembros y 7 en streaming

La vorágine en cuanto al crecimiento del volumen de datos que manejan las compañías, y la emergencia de nuevas tecnologías y soluciones alrededor del dato y su manejo, ha motivado que en esta ocasión nos hayamos focalizado en Data Management desde la perspectiva de los gestores de datos de Oracle.

• La primera ponencia estuvo a cargo de Andrés Araujo, Cloud Platform Solution Architect de Oracle, quien centró la charla en Bigdata, NoSQL, R-Enterprise y Spatial & Graph. Ver presentación.

• Interrelacionada con la parte teórica de la ponencia de Andrés, nuestro compañero Basilio Carrero, Consultor Business Intelligence de avanttic, realizó la parte práctica del meetup. Basilio nos mostró en la primera demo cómo mediante Oracle Big Data SQL se puede acceder directamente a los ficheros de HDFS y cómo a través de Hive podemos acceder también tanto a los fichero HDFS como a almacenes de datos inteligentes (Apache Parquet, Apache ORC y Oracle NoSQL). En la segunda demo nos mostró la potencia de Oracle R Enterprise (ORE) para hacer estudios estadísticos y minería de datos: realizando el proceso en el cliente con RStudio, moviendo los algoritmos a la base de datos y empleando las funciones In-Database integradas en ORE. Ver presentación. También puedes descargar la Máquina Virtual con la que Basilio realizó las demos y los scripts que utilizó: Oracle Big Data Lite Virtual Machine v4.11 –  Scripts demo Oracle Big Data SQL y ORE. Leer más…

Recursividad en PL/SQL (II) – Implementación alternativa

noviembre 28, 2010 1 comentario

Ref. “Recursividad en PL/SQL – Un ejemplo

Como bien se identifica en el ejemplo de la referencia, se está tratando con datos existentes en la BBDD que tienen estructura jerárquica. También se identifica una relación unívoca entre un ‘maestro’ / ‘detalle’ (‘Carpeta’ vs ‘Documento’) y operaciones donde si se actúa sobre la entidad ‘maestro’ implica acciones sobre la ‘detalle’ –operación de ‘DELETE’-.

Partiendo de esas dos premisas iniciales, a continuación se expone una propuesta de nuevo modelo de programación a partir del caso del ejemplo de la referencia que, aunque considerándose como un ejemplo muy acertado, permitirá ver otro tipo de soluciones más óptimas.

1.- Uso del Modelo Relacional

Por definición, si un registro de ‘Carpeta’ es borrado, carece de sentido la existencia de registros asociados en ‘Documento’. Es más, por integridad referencial no es posible borrar una carpeta que tenga documentos vinculados.

Por lo tanto es recomendable modificar la relación establecida y definida a nivel de ‘CONSTRAINT’ de clave foránea -‘FK’- :

Leer más…

Consideraciones generales sobre recursividad

noviembre 22, 2010 1 comentario

La utilización de técnicas de recursividad dentro de la programación en cualquier tipo de lenguaje (en este caso PL/SQL) dota al código de un gran nivel de ‘factores de calidad’ (calidad + simplicidad + potenciabilidad). Características que conjuntamente con las de elegancia y sencillez dotan a esta técnica como de uso muy recomendable.

Unos de los casos más representativos de la aplicación de esta técnica, por su propia definición, es la del cálculo matemático del ‘factorial’ de un número:

n! = n * (n-1) * (n-2) * (n-3) * … * 1

Indicar como excepción a la recursividad tradicional, situaciones en las que la información susceptible de tratamiento está ubicada en la Base de Datos en un modelo de ‘Estructura Jerárquica‘. Esta puede ser tratada por ‘SQL‘ mediante consultas ‘jerárquicamente relacionales‘ (‘CONNECT BY PRIOR …‘). A esta excepción se le denomina ‘recursividad por estructura en relación reflexiva‘  (ver más detalladamente a continuación).

Leer más…

Recursividad en PL/SQL – Un ejemplo

abril 21, 2010 8 comentarios

El PL/SQL, como la mayoría de lenguajes modernos, nos permite implementar algoritmos recursivos en nuestros procesos. En los modelos relacionales de base de datos, es frecuente encontrarse con estructuras reflexivas. La recursividad nos facilita la programación de tareas que afectan a estos tipos de construcciones. A continuación presentamos un escenario donde aplicando recursividad disminuye la complejidad del proceso.

Hemos diseñado un sistema sencillo que almacena documentos en carpetas. El modelo simplificado de nuestro sistema es el siguiente:

Modelo "Carpetas"

Como se puede observar, una carpeta puede contener otras carpetas, y estas a su vez, otras. El usuario puede guardar una estructura como la que sigue:

Estructura de carpetas

Leer más…

Categorías:Tech - Data Management Etiquetas: , ,