1 / 46

PostgreSQLf

PostgreSQLf. Implementación de Cuantificadores Difusos Sobre el SGBD PostgreSQL. Autor : Gustavo Bazán. Tutora : Ana Aguilera. Agenda. Introducción El Problema Objetivos Justificación Marco Teórico Metodología Resultados Conclusiones. Introducción. Agenda Introducción

gabe
Download Presentation

PostgreSQLf

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PostgreSQLf Implementación de Cuantificadores Difusos Sobre el SGBD PostgreSQL Autor: Gustavo Bazán Tutora: Ana Aguilera

  2. Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  3. Introducción • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  4. Datos Precisos Contra Datos Imprecisos • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones Un objeto de 1500Kg se aproxima a tu cabeza a 50Km/s ¡CUIDADO!

  5. El Problema Cuantificación Lingüística: • “Un hotel que satisface la mayoría de los siguientes criterios: no muy caro, cercano al centro de convenciones, cercano a una estación del metro, con piscina, con buenas áreas de recreación, cercano a un centro comercial” • “Los pacientes que presenten la mayoría de los síntomas: fiebre alta, tensión baja, tos grave” • “Los empleados tengan al menos 2 de las siguientes características: ser buen trabajador, mal pagado y vivir lejos” • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  6. El Problema Consulta Clásica "Un hotel que no cuesta más de Bs. 500 por día, con piscina y a no más de 5 Km de distancia del centro de convenciones, del metro y de un centro comercial ". • En SQL: SELECT * FROM HOTELS WHERE price < 500 AND distance_conference< 5 AND distance_sub< 5 AND distance_mall< 5 AND pool=true • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  7. El Problema • Requerimientos que impliquen términos como “la mayoría” o “aproximadamente 4” no pueden ser expresados por medio de lenguajes de consultas, basados en el paradigma relacional. • Los requerimientos del usuario deben ser expresados de forma precisa. • Los Sistemas Clásicos de Manipulación de Bases de Datos no permiten expresar requerimientos graduales. • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  8. El Problema • Aplicaciones a nivel de capa lógica resuelven el problema, pero sus costos computacionales son muy elevados. • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  9. Objetivos de la Investigación Objetivo General Desarrollar un sistema que permita hacer consultas de tipo flexible haciendo uso de cuantificadores difusos en un Sistema Gestor de bases de Datos Relacionales (SGBDR). Requerimientos: • Deberá acoplarse de manera fuerte con el SGBDR PostgreSQL • Debe brindar mecanismos que puedan ayudar de cierta forma a manejar la imprecisión del lenguaje natural. • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  10. Objetivos de la Investigación Objetivos Específicos • Estudiar el uso de los diferentes tipos de Cuantificadores difusos, así como su interpretación en consultas cuantificadas. • Analizar la infraestructura del SGBDR PostgreSQL con la finalidad de poder determinar las diferentes áreas que se deben modificar para la implementación de PostgreSQLf. • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  11. Objetivos de la Investigación Objetivos Específicos • Implementar la funcionalidad de creación y evaluación de Cuantificadores difusos. • Integrar la implementación de Cuantificadores Difusos con el resto de PostgreSQLf. • Evaluar el desempeño de PostgreSQLf en términos de eficiencia y funcionalidad de los cuantificadores difusos. • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  12. Justificación e Importancia • Mecanismos de calidad para accesos a datos: • Mejorar la expresividad del lenguaje mediante el uso de cuantificadores lingüísticos. • Flexibilizar el acceso a la información. • La resistencia al uso por su costo computacional. • Aplicabilidad en áreas reales. • Desarrollo en el marco de transferencia tecnológica. • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  13. Antecedentes TrabajosRelacionados: • SQLf: A Relational Database Language for Fuzzy Querying. (Bosc, P., & Pivert, O. (1995)). • Interrogaciones Flexibles en Bases de Datos Relacionales. (Tineo, L. (1998)). • Una Contribución a la Interrogación Flexible de Bases de Datos: Evaluación de Consultas Cuantificadas Difusas. (Tineo, L. (2005)). • Reingeniería del Sistema de Consultas Difusas a Bases de Datos SQLfi. (Crespo, V. (2006)). • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  14. Antecedentes TrabajosRelacionados: • Una Contribución a la Interrogación Flexible de Bases de Datos: Optimización y Evaluación a Nivel Físico. (Cadenas, J. (2006)). • PostgreSQLf: Sistema de Consultas Flexibles Fuertemente Acoplado con el SGBD PostgreSQL. (Rossodivita, A.). • PostgreSQLf: Implementación de Extensiones Difusas de manera Fuertemente Acoplada sobre el RDBMS PostgreSQLf. (Bracho, A.). • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  15. Antecedentes TrabajosRelacionados: • Implementación de Primitivas SQL para Reglas de Asociación en una Arquitectura Fuertemente Acoplada.(Timarán, R.(2005)). • RT-PostgreSQL: extensión de PostgreSQL para el manejo de datos con Frecuencias Temporales en base a una Arquitectura Fuertemente Acoplada. (García, L. (2008)). • On Extending PostgreSQL with the Skyline Operator. (Reinhard, P. (2009)). • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  16. Antecedentes

  17. Modelo Relacional • Basado en el concepto matemático de relación. • Lenguajes de consultas para la manipulación de los datos: • Procedimentales como el álgebra relacional. • No procedimentales como el SQL (StructuredQueryLanguage) o lenguaje de consulta estructurado. • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  18. Teoría Difusa • Conjuntos difusos • Gradualidad de membrecía • Función en el intervalo [0,1] • Representación Trapezoidal • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  19. Cuantificación Difusa • Booleana: Existe (∃) y Para Todo (∀). • Difusa: “la mayoría de”, “pocos de”, “aproximadamente la mitad de”, “aproximadamente cinco”, “cerca de 3”. • Se clasifican según su interpretación. • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  20. Cuantificación Difusa Por su naturaleza • Cuantificador Absoluto o Relativo Por su Comportamiento • Cuantificador Creciente, Decreciente o Unimodal • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones Absolutos Relativos Creciente Decreciente Unimodales

  21. SQLf • Consultas flexibles sobre Bases de Datos Relacionales. • Basado en la Teoría de Conjuntos Difusos. • CREATE [ABSOLUTE/RELATIVE] QUANTIFIER <nombre> AS <cjto difuso> • SELECT <atributos> FROM <tablas> WHERE <condicióndifusa> • Cuantificación: Q (fc1, fc2, …, fcn) • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  22. El Principio de Derivación • Reducir el número de filas consultadas por cada operación. • Emplea la relación entre condiciones difusas y booleanas. • Transformaciones lógicas. • Conseguir las mismas filas con una consulta clásica que con una difusa. • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  23. PostgreSQL • SGDB de Código Abierto • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  24. PostgreSQL • Backend de Postgres • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  25. Metodología Cascada • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  26. PostgreSQLf Fase de Análisis • El reconocimiento del problema implicó: • Estudio del sistema de consultas flexibles SQLf. • Uso de Cuantificación difusa para SQLf. • Estudio del diseño y estructura de PostgreSQL. • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  27. PostgreSQLf Fase de Diseño • Requerimientos: • CREATE [ABSOLUTE/RELATIVE] QUANTIFIER <nombre> AS <conj> • SELECT Att FROM R WHERE Q(fc1, fc2, …, fcn) • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  28. PostgreSQLf Fase de Implementación • Catálogo • Almacenamiento de los cuantificadores • Tabla del sistema pg_fuzzyquan. • Manejo del catalogo. • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  29. PostgreSQLf Fase de Implementación • Parser • Nuevos Nodos • CreateFuzzyQuanStmt • A_FuzzyQuan • Nueva semántica para la creación de cuantificadores difusos (gram.y) • Interceptar una consulta cuantificada • Validar exista el cuantificador • Generar un árbol de consulta difuso • Derivar el árbol difuso a un árbol clásico. • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  30. PostgreSQLf Fase de Implementación • Parser • Árbol de consulta Difuso • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones Select Tablas Where Atributos Cuantificador Difuso Predicado difuso Predicado difuso

  31. RangeVar Value Attr ResTarget unique whereClause fromClause targetList groupClause havingClause args sortClause val attr relname val.str name relExpr SelectStmt unionall: false A_FuzzyQuan Predname: al_menos3 Minfp:1 A_FuzzyPred Core1: 3 Predname: alto Core2: 0 Begd: 0 Maxfp: 0 Begd: 300 Typefp: 3 Minfp: 100 Typefq: 1 Core1: 300 Core2: 0 Maxfp: 0 Typefp: 3 PostgreSQLf Fase de Implementación • Parser • Consulta difusa • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones “empleado” “empleado” “id_num”

  32. PostgreSQLf Fase de Implementación • Parser • Derivación de una consulta difusa • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones Select Where Atributos Tablas OR AND AND Condición derivada Condición derivada …

  33. args args args args args args args BoolExpr BoolExpr BoolExpr OpExpr OpExpr OpExpr OpExpr AND AND OR Opno… Opno… Opno… Opno… A_FuzzyPred Var … … A_FuzzyPred Var … … A_FuzzyPred Var … … Var … … A_FuzzyPred … PostgreSQLf Fase de Implementación • Parser • Consulta derivada • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  34. PostgreSQLf Fase de Implementación • TrafficCop (Tcop) • Manejo de la expresión simple para crear cuantificadores. • Planner/Optimizer • Mantener la información de los valores de cada cuantificador difuso y sus predicados. • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  35. PostgreSQLf Fase de Implementación • Executor • Calculo del grado de membrecía. • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  36. PostgreSQLf Fase de Integración • Integrar con el resto de las funcionalidades de PostgreSQLf Fase de Pruebas • Pruebas de funcionalidad y rendimiento • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  37. Pruebas y Resultados Pruebas Funcionales • Uso de la base de datos lab_marcha, facilitada por el Laboratorio De Marcha Del Hospital Ortopédico Infantil. • Creación de Cuantificadores Difusos • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones lab_marcha=# CREATE ABSOLUTE QUANTIFIER al_menos3 AS (1.0, 3.0, infinite, infinite); CREATE FUZZY QUANTIFIER lab_marcha=# lab_marcha=# CREATE RELATIVE QUANTIFIER aprox_la_mitad AS (0.25, 0.5, 0.5, 0.75); CREATE FUZZY QUANTIFIER lab_marcha=#

  38. Pruebas y Resultados Pruebas Funcionales • Validación del catálogo lab_marcha=# SELECT * FROM pg_fuzzyquan; quanname | quanminfp | quancore1 | quancore2 | quanmaxfp | quantypefp | quantypefq ----------------+-----------+-----------+-----------+-----------+------------+------------ al_menos3 | 1.0 | 3.0 | 0.0 | 0.0 | 3 | 1 a_lo_sumo_2 | 0.0 | 0.0 | 2.0 | 3.0 | 2 | 1 aprox_5 | 3.0 | 4.0 | 6.0 | 7.0 | 1 | 1 la_mayoria | 0.5 | 0.75 | 1.0 | 1.0 | 3 | 2 la_minoria | 0.0 | 0.0 | 0.25 | 0.5 | 2 | 2 aprox_la_mitad | 0.25 | 0.5 | 0.5 | 0.75 | 1 | 2 (6 rows) lab_marcha=#

  39. Pruebas y Resultados Pruebas Funcionales • Selección de datos Se desea conocer la edad, talla y peso de los pacientes que cumplan con la mayoría de las siguientes condiciones: ser viejo, alto y gordo. • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones lab_marcha=# SELECT edad, talla, peso FROM estudio WHERE la_mayoria(edad=viejo, talla=alto, peso=gordo); edad | talla | peso | Gr.Memb. ------+-------+-------+---------- 52 | 1.66 | 85.6 | 0.56 57 | 195.5 | 110.7 | 0.85 57 | 195.5 | 110.2 | 0.85 57 | 195.5 | 109.8 | 0.85 57 | 195.5 | 109.8 | 0.85 57 | 195.5 | 109.6 | 0.85 57 | 195.5 | 110 | 0.85 57 | 195.5 | 110.3 | 0.85 57 | 195.5 | 110.3 | 0.85 57 | 195.5 | 110.1 | 0.85 57 | 195.5 | 110.1 | 0.85 51 | 1.81 | 94 | 0.55 (12 rows) lab_marcha=#

  40. Pruebas y Resultados Pruebas de Rendimiento • Verificar si el uso de cuantificadores afecta el tiempo de una consulta con respecto a una clásica equivalente. • Herramienta TPC-H. • Dos volúmenes de datos (1 y 5 GB). • Variación el número de predicados a cuantificar (2 o 4 predicados). • Análisis de Varianza (ANOVA) para varios factores. • 72 pruebas variando los distintos factores. • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  41. Pruebas y Resultados Pruebas de Rendimiento Tabla ANOVA • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  42. Pruebas y Resultados Pruebas de Rendimiento

  43. Conclusiones Trabajo Realizado • Implementación de la estrategia del programa derivado para cuantificación difusa sobre el kernel de PostgreSQL. • Nuevas herramientas que faciliten la obtención de información sobre PostgreSQL. • Sencillez para realizar consultas, lenguaje mas natural. • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  44. Conclusiones Aportes • PostgreSQLf, una alternativa para cuantificación basada en lógica difusa. • Una guía de referencia para futuras extensiones sobre PostgreSQL. • Pruebas estadísticas de la mejoras de tiempo al implementar de manera fuertemente acoplada. • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  45. Conclusiones Recomendaciones • Implementación del resto de las características de SQLf sobre PostgreSQLf. • Revisión de la estructura y código final de PostgreSQLf. • Fomentar desarrollos que ayuden a la independencia tecnológica. • Agenda • Introducción • El Problema • Objetivos • Justificación • Marco Teórico • Metodología • Resultados • Conclusiones

  46. Gracias por su Atención ¿Preguntas?

More Related