Universidad Tecnológica Nacional Facultad Regional Córdoba Departamento de Ingeniería en Sistemas de Información SECRETARÍA DE PROMOCIÓN DE INVESTIGACIONES Y DESARROLLOS EN CIENCIA Y TECNOLOGÍA PROYECTO: ADMINISTRADOR DE BASE DE DATOS RELACIONAL TECNODB - FASE II Objetivos PRINCIPAL • Estudiar, Investigar y Desarrollar un Administrador de Base de Datos que provea herramientas para facilitar el estudio de procesos internos y los aspectos asociados a la performance de los algoritmos aplicados dentro del motor. La flexibilidad del Motor de Base de Datos lo convertirá en una buena plataforma de experimentación que permita su adaptación para diferentes patrones de aplicación. PARTICULARES • Estudio de los algoritmos y procesos de los Administradores de Base de Datos, lo que nos posibilitará tener una visión sobre cuales son los aspectos a mejorar e implementar. • Formalización de un Lenguaje de Consulta y Manipulación de Datos. • Diseño de un lenguaje nativo del Motor. • Implementación de un intérprete de Lenguaje. • Desarrollo de Interfaz para interfaz • Desarrollo de una Arquitectura flexible con el objetivo de proveer herramientas para el estudio e investigación de los procesos internos del Motor de Base de Datos • Diseño de patrones de comparación que faciliten el análisis de la performance del motor de Base de Datos. • Implementación de una estructura y mecanismos de comunicación TCP/IP para brindar servicios a través de la red. • Implementación de Drivers de Datos para interactuar con otros lenguajes de programación. • Definición de Arquitectura para la Implementación de Web Services. • Diseño de Arquitectura para la implementación de Filosofía Smart Client. • Implementación en dispositivos móviles. • Diseño y Definición de comportamiendo de acuerdo al contexto (Context Awareness). • Formación de investigadores en torno al tema. • Implementación del motor con fines didácticos. Resumen Técnico A partir del Proyecto de Investigación Administrador de Base de Datos Relacional TecnoDB de la Secretaría de Ciencia y Técnica de la Nación se ha evaluado la factibilidad de extender la funcionalidad para la implementación en dispositivos móviles. Actualmente el motor de base de datos es capaz de ejecutarse en una PC de escritorio que atiende su administración esencial, permitiendo conocer la resolución de instrucciones DML (select, insert, update, delete, etc.) y DDL (create [table], [database], [index], use). Además soporta la administración de Metadatos asociados a tablas, columnas, constraints o relaciones e índices existentes en la Base de datos. Partiendo de los resultados obtenidos se ha considerado el actual crecimiento de los dispositivos móviles asi como la apertura de nuevos campos de aplicación de los mismos. Por ello se propone una línea de investigación sobre base de datos embebidas. La arquitecura contará con los siguientes módulos: • Fault Tolerante, necesario Transacciones y Comunicacion • Query Procesor, encargado de realizar el analisis léxico, sintáctico y semántico de las consultas SQL, generar código intermedio y comunicarlo en lenguaje de bajo nivel al motor. • Visual Manager, que implementará una interfaz gráfica para facilitar la creación de consultas en lenguaje SQL soportando el uso de filtros, subconsultas, criterios y restricciones de agrupamiento así como reglas de ordenamiento. • Storage Engine, encargado de administrar, a bajo nivel, la persistencia de datos, la creación de tablas, bases de datos, inserción de tuplas, actualizacion o búsqueda de información. • Criptografía, encargado de los mecanismos de encriptación de la información durante su almacenamiento e intercambio a través de la red. • Performance, permitirá realizar estudios de performance con el fin de relevar evidencia para determinar la conveniencia de utilizar diferentes algoritmos de indexación dependiendo del contexto de ejecución las características de la instrucción a ejecutar. Con este objetivo se definirá una capa de abstracción a fin de obtener una interfaz común para la implementación e investigación de nuevas formas de ordenamiento. • Web Server, proveerá una interfaz web estándar, usando XML, para la comunicación con otros módulos y aplicaciones, en base a una arquitectura orientada al servicio (SOA). Universidad Tecnológica Nacional Facultad Regional Córdoba Departamento de Ingeniería en Sistemas de Información SECRETARÍA DE PROMOCIÓN DE INVESTIGACIONES Y DESARROLLOS EN CIENCIA Y TECNOLOGÍA • Comunicación inalámbrica que permita la interacción entre instancias del Administrador, de forma tal que estas compartan información de acuerdo a configuraciones de seguridad establecidas previamente. El Administrador de Bases de Datos será instalable en dispositivos móviles, en principio que ejecuten Windows CE 5.0, con la intención de extender el proyecto a otros sistemas operativos para este tipo de dispositivos. Se desarrollará un módulo que se oriente a la investigación de redes sociales y Context Aware. Sobre el Store Engine se realizará una reingeniería a fin de soportar Managed Code. Con esta técnica de programación pretendemos incrementar la seguridad, performance y estabilidad del motor de bases de datos durante su ejecución. Esto se conseguirá mediante la utilización de tipos confiables de datos, y dejando la administración de memoria en manos del CLR del Framework de desarrollo. De esta forma solucionaremos problemas como son los daños del heap y overflow de vectores, sin resignar aspectos como el código móvil seguro y los servicios Web XML. Una de las principales características necesaria que da origen a la extensión del motor es la investigación y desarrollo del módulo de Log de Operaciones y Transacciones en la cual se proporcionará información sobre tiempos de búsqueda, inserción, borrado y actualización de tuplas en las tablas de la Base de Datos, conjuntamente con comparaciones de los mismos, y utilizando diferentes índices, sin valerse de éstos para que pueda realizarse comparaciones. El motor cuenta con servicios de red mediante el protocolo de TCP/IP y permite la transmisión de consultas y sus respectivos resultados con XML. El desarrollo propuesto extiende las características de interfaz web para soportar SOA. A fin de posibilitar el acceso al motor desde aplicaciones se desarrollarán drivers de conectividad para proveer de una interfaz flexible a los distintos lenguajes de programación. Con este proyecto se pretende lograr una divulgación y apoyar el proceso de enseñanza de aspectos técnicos relativos a la tecnología de base de datos bajo filosofia smart clients, dispositivos móviles, context aware computing, social networking, así como también desarrollo, gestión, seguimiento y seguridad de comunicaciones entre dispositivos móviles involucrando conceptos de intercambio de datos en redes inalámbricas, seguridad de inicio de sesión, de logueo, de transacciones en una arquitectura client/server y de intercambio de datos (considerando la investigación de algoritmos de cifrados existentes y apropiados para la tecnología). Autores: Ing. Iris Gastañaga Maldonado, Alejandro Calixto - Martínez Spessot, César Ignacio - Gasparini Sanchez, Giuliana Lo Pacual, Federico Martín - Rogero Lucero, Luis - Salomón, Sebastián Mariano - Armella, Darío Manuel - Mamaní, Rolando Gabriel - Giménez, Daniel Alejandro Duración: Inicio: 01/01/2008 - Fin: 31/12/2010