Universidad Central de Venezuela Facultad de Ciencias Escuela de Computación Administración de Bases de Datos II­2015 BASE DE DATOS MÓVILES Integrantes: Gabriel Moreno CI:24.530.418 Nadia Bastidas CI: 20.976.705 Hillary Cañas CI: 22.496.321 ÍNDICE Introducción página 2 Antecedentes página 3 Base de Datos Móviles página 4 Estructura y características página 5 Arquitectura página 7 SMBD Móviles página 7 Caso de estudio: SQLite página 8 Servicios de SMBD Móviles página 11 Ventajas e inconvenientes página 11 Conclusión página 13 Bibliografía página 14 1 Introducción A través del presente informe se explica de forma detallada las características que conforman a una Base de Datos Móvil,ya sea su arquitectura, además de sus características más importantes y ventajas así como desventajas con respectos a otros paradigmas de las Bases de Datos, además se hará una breve explicación de uno de los Sistemas Manejadores de Base de Datos Móviles más usados, llamado “SQLite”. 2 Antecedentes Inicialmente las aplicaciones inalámbricas para dispositivos móviles eran programas totalmente desconectados de las empresas o sistemas de computación. Esto desde el punto de vista en tiempo real. Estas aplicaciones eran por lo general Palm Pilots limitadas a libreta de direcciones, horarios, etc. Esta pequeña base de datos estaba bien para ese momento, pero a medida que avanza la tecnología, las personas necesitan más. Surgen las redes inalámbricas, pero existe el problema de disponibilidad de dispositivos inalámbricos y teléfonos WAP (Wireless Application Protocol) que se encuentran limitados en memoria y el tamaño de la pantalla para mostrar la información, además que introducir información en estos dispositivos móviles puede llegar a ser bastante difícil por su tamaño. De todas formas la tecnología es excelente, la habilidad que se tiene para conectarse al World Wide Web desde casi cualquier sitio en cualquier momento es una de las mayores ventajas que se tiene en la era de la información. Con Internet inalámbrico, ya no es necesario estar físicamente frente al computador o dentro de las empresas para poderse conectar a las aplicaciones o las base de datos. Con las portabilidad de la tecnología inalámbrica, nos podemos conectar a Internet o la intranet de la empresa para tomar datos almacenados. Estos datos están estructurados y organizados en entidades y objetos que se encuentran disponibles para los usuarios como información. La mayor ventaja se encuentra en que se le da la información al usuario en el mismo momento que es solicitada. 3 Base de Datos Móviles Es una Base de datos donde los usuarios pueden acceder a la información lejos de donde se encuentra almacenada la base de datos, se hace utilizando una conexión inalámbrica Sistemas de Base de datos móviles: ● Es la habilidad de recuperar la información de los sistemas de computación y/o repositorios de información sobre dispositivos móviles en cualquier momento en cualquier lugar. Además de introducir o actualizar información en los sistemas principales de forma remota desde el dispositivo móvil. Esto da toda la libertad al usuario de manipular toda la información desde lejos. ● Es un sistema distribuido que soporta conectividad móvil, posee todas las capacidades de un sistema de base de datos y permiten a las unidades móviles, una completa movilidad espacial por medio de la tecnología inalámbrica Procesamiento de Consultas ● El único reto en los SMBDM es el procesamiento de consultas (queries) que dependen de la localización física de la unidad móvil ● Consultas dependientes de la localización: Son consultas que involucran la localización física de la unidad móvil en combinación con otros datos como la localización de otras unidades móviles o estructuras físicas. Ejemplo: Encontrar el hotel más cercano desde donde me encuentro con un precio < $50 ● Para dar respuesta a esta consulta, se debe poder determinar con exactitud la localización de la unidad móvil y estar en la capacidad de procesar de manera espacial los datos a consultar. ● Utilizar la triangulación si el dispositivo se encontrará en múltiples celdas, por localización de celdas, GPS, etc. ● Se tiene que tomar en cuenta que la unidad puede estar en movimiento mientras se realiza la consulta. 4 Manejo de transacciones Se considera el manejo de transacciones cuando un dispositivo móvil inicia una transacción hacia la base de datos o hacia un servidor fijo. La transacción puede ejecutarse en el servidor o en el dispositivo móvil. Se debe tomar en cuenta: ● Desconexiones, movilidad, errores, fallas en el dispositivo móvil. ● Se debe mantener la autonomía y la consistencia local del SMBD. Tecnología inalámbrica La evolución de esta tecnología comenzó alrededor de 1996, fue allí cuando se desarrollaron los pequeños dispositivos de computación “inteligentes” tales como las Palm o PC de bolsillo (Pocket PC), luego en 1997 surge la conectividad inalámbrica de los dispositivos utilizando WAP (Wireless Application Protocol). WAP – Wireless Aplication Protocol (protocolo de aplicaciones inalámbricas) es un estándar abierto internacional para aplicaciones que utilizan las comunicaciones inalámbricas, como acceso a servicios de Internet desde un teléfono móvil. Se trata de la especificación de un entorno de aplicación y de conjunto de protocolos de comunicaciones para normalizar el modo en que los dispositivos inalámbricos, se pueden utilizar para acceder a correo electrónico, base de datos, grupos de noticias y otros. El organismo que se encarga de desarrollar el estándar WAP fue originalmente el WAP Forum, fundado por cuatro empresas del sector de las comunicaciones móviles, Sony­Ericsson, Nokia, Motorola y Openwave (originalmente Unwired Planet). Desde 2002 el WAP Forum es parte de la Open Mobile Alliance (OMA), consorcio que se ocupa de la definición de diversas normas relacionadas con las comunicaciones móviles, entre ellas las normas WAP. Redes Inalámbricas Existen diferentes tipos de redes inalámbricas: ● Celular: Costos elevados con poco ancho de banda, buena cobertura ● LAN Inalámbrica: Bajo costo, poco rango de cobertura, buen ancho de banda (54Mbps) 5 ● Satelital: Amplia cobertura, muy costosa, gran ancho de banda en sentido descendente y poco ascendente. ● Redes Ad Hoc: Comunicación entre dispositivos móviles de manera directa. (Bluetooth) Tipos de Dispositivos Móviles Los dispositivos usados para conectarse son: ● PDA, (Asistente Personal Digital – Personal Digital Assistant). Fue usado en sus inicios como una unidad que almacena el calendario personal, libreta de direcciones, calculadora, quizás un programa sencillo de intercambio de moneda y usualmente un mapa con las zonas horarias. Luego expanden sus funciones y generan los dispositivos Palm, los cuales poseen sincronización con el PC, mayor memoria con capacidad de expansión y se agrega varias funcionalidades como el correo electrónico, juegos, etc. ● Palm abre su sistema operativo, permitiendo a los desarrolladores la oportunidad de crear programas específicos para este dispositivo. Las nuevas unidades tienen pantalla a colores, módem, capacidad inalámbrica para sincronización además de conexión a Internet entre otras funcionalidades. ● Pocket PC`s. Son dispositivos que poseen el sistema operativo Windows CE, inicialmente basado en Windows 3.1, Lince básicamente maneja la comunicación entre el hardware y las aplicaciones que se ejecutan allí. Es un sistema operativo muy modular, puede ser ejecutado en gran cantidad de plataformas y aplicaciones. Estos dispositivos son realmente pequeñas computadoras. ● Teléfono celular con conexión a Internet . Este dispositivo tiene un navegador WAP (Wireless Access Protocol) integrado, que se adquiere directamente en las empresas de telefonía celular. Estructura y Características Todas las bases de datos móviles tienen una arquitectura similar, donde debemos distinguir una serie de elementos principales característicos de este tipo de sistemas: ● Servidor de base de datos corporativo y SMBD que gestiona y almacena los datos corporativos y proporciona aplicaciones corporativas. Se corresponde con el SMBD y el servidor que se utiliza en la organización. ● Base de datos remota y SMBD que gestiona y almacena los datos móviles. Son las bases de datos que deben estar implementadas en los dispositivos móviles. ● Plataforma de base de datos móvil, que puede ser un ordenador portátil, PDA u otro dispositivo de acceso a Internet, es decir, los dispositivos móviles en cuestión. 6 ● Enlaces de comunicación bidireccionales entre el SMBD corporativo y el SMBD móvil. Que pueden ser redes inalámbricas de distinta naturaleza, comunicaciones vía satélite, etc. Arquitectura BDMóviles Si nos fijamos en la figura anterior, podemos observar dónde reside la complejidad de este tipo de sistemas que coinciden con las partes no comunes con respecto a las bases de datos tradicionales. Nos referimos al sistema gestor de base de datos móvil (SMBD móvil) y al enlace de comunicaciones. En una base de datos móvil, la comunicación entre los dispositivos es una parte importante, ya que es imprescindible una buena comunicación para el acceso a los datos. La arquitectura de comunicaciones más utilizada consiste en tener una o varias estaciones base en contacto con la base de datos corporativa y una serie de estaciones móviles que acceden a los datos a través de las estaciones base. Por tanto podemos encontrarnos con alguna cuestión importante relacionada con el acceso o la localización, como puede ser localizar una estación móvil que contenga los datos que necesitamos en un momento determinado. Para solucionar dicho problema existen varias soluciones propuestas, por ejemplo, que cada estación móvil esté asociada a una estación base principal la cual conoce en todo momento la localización de la estación móvil debido a que la principal reciba notificaciones de los movimientos de la estación móvil. SMBD Móviles IBM: DB2 Everyplace DB2 Everyplace forma parte de la solución de IBM para procesos de informática distribuida. Mediante DB2 Everyplace, los profesionales que se desplazan con frecuencia (tales como vendedores, inspectores, auditores, técnicos de mantenimiento, médicos, agentes inmobiliarios y tasadores de seguros) pueden tener acceso a datos vitales que necesitan mientras están lejos de su centro de trabajo. Las empresas pueden ahora transferir sus datos corporativos DB2 a dispositivos portátiles o incorporados. Con DB2 Everyplace, puede acceder a una base de datos contenida en su dispositivo portátil y realizar actualizaciones en ella. Con DB2 Everyplace Sync Server, puede sincronizar datos entre el dispositivo portátil y otras fuentes de datos ubicadas en la empresa. El Adaptador de Archivos le permite distribuir archivos y aplicaciones hacia usuarios portátiles. SYBASE: ADAPTIVE SERVER ANYWHERE Sybase ha creado una tecnología que permite una empresa sin cables para sus clientes y socios mediante soluciones de software de integración y desarrollo, infraestructura móvil. 7 SQL Anywhere Studio contiene la última versión de la base de datos móvil más vendida, Adaptive Server Anywhere. Este pequeño, aunque muy potente motor de bases de datos, puede soportar implementaciones mono­usuario o multi­usuario y provee completo procesamiento transaccional de alto rendimiento. Estas características combinadas, hacen que sea el ambiente ideal de base de datos para entornos móviles. Provee una rica funcionalidad, incluyendo procedimientos almacenados, triggers, integridad referencial, bloqueo a nivel de fila, recuperación automática, y mucho más. También es muy eficiente a la hora de consumir recursos ya que necesita sólo aproximadamente 1 MB RAM, y 2 KB por cada conexión cliente. SQL SERVER CE: MICROSOFT SQL SERVER CE Microsoft provee una herramienta que consiente extender las aplicaciones empresariales de un organización, a los dispositivos móviles, como lo es SQL Server CE es ideal para aplicaciones móviles, ya que permite implementar la funcionalidad de una base de datos relacional y tiene la capacidad de brindar acceso a los datos de una manera flexible y similar a SQL Server, al mismo tiempo que permite conectarse a un servidor SQL Server central y mantener actualizada la información. También Microsoft se posiciona como proveedor de herramientas para la generación de soluciones para dispositivos móviles. Dentro de las herramientas de desarrollo: smart Device Extensions (SDE) for VisualStudio.Net y expande las capacidades del .NET framework para permitir generar aplicaciones móviles para Pocket o Pocket Pc y Smartphone El acceso remoto a datos y el merge replication (Permite que se realice cambios en los dispositivos y en el servidor de forma independiente) , que trabaja sobre Hypertext Transfer Protocol (HTTP) y codificación de soporte, garantizan un envío seguro de los datos de las bases de datos de empresa de SQL Server y que estos datos se pueden manipular posteriormente sin conexión y sincronizar después con el servidor. Caso de estudio: SQLite Es un sistema de gestión de bases de datos relacional compatible con ACID (En bases de datos se denomina ACID a un conjunto de características necesarias para que una serie de instrucciones puedan ser consideradas como una transacción. Así pues, si un sistema de gestión de bases de datos es ACID compliant quiere decir que el mismo cuenta con las funcionalidades necesarias para que sus transacciones tengan las características ACID. En concreto ACID es un acrónimo de A tomicity, C onsistency, I solation and D urability: Atomicidad, Consistencia, Aislamiento y Durabilidad), contenida en una relativamente pequeña (~275 kiB) 2 biblioteca escrita en C. SQLite es un proyecto de dominio público creado por D. Richard Hipp. 8 A diferencia de los sistemas de gestión de bases de datos cliente­servidor, el motor de SQLite no es un proceso independiente con el que el programa principal se comunica. En lugar de eso, la biblioteca SQLite se enlaza con el programa pasando a ser parte integral del mismo. El programa utiliza la funcionalidad de SQLite a través de llamadas simples a subrutinas y funciones. Esto reduce la latencia en el acceso a la base de datos, debido a que las llamadas a funciones son más eficientes que la comunicación entre procesos. El conjunto de la base de datos (definiciones, tablas, índices, y los propios datos), son guardados como un sólo fichero estándar en la máquina host. Este diseño simple se logra bloqueando todo el fichero de base de datos al principio de cada transacción. En su versión 3, SQLite permite bases de datos de hasta 2 Terabytes de tamaño, y también permite la inclusión de campos tipo BLOB El autor de SQLite ofrece formación, contratos de soporte técnico y características adicionales como compresión y cifrado. Características: 1. SQLite usa un sistema de tipos inusual. En lugar de asignar un tipo a una columna como en la mayor parte de los sistemas de bases de datos SQL, los tipos se asignan a los valores individuales. Por ejemplo, se puede insertar un string en una columna de tipo entero (a pesar de que SQLite tratará en primera instancia de convertir la cadena en un entero). Algunos usuarios consideran esto como una innovación que hace que la base de datos sea mucho más útil, sobre todo al ser utilizada desde un lenguaje de scripting de tipos dinámicos. Otros usuarios lo ven como un gran inconveniente, ya que la técnica no es portable a otras bases de datos SQL. SQLite no trataba de transformar los datos al tipo de la columna hasta la versión 3. 2. En su versión 3, SQLite permite bases de datos de hasta 2 Terabytes de tamaño, y también permite la inclusión de campos tipo BLOB. 3. El formato de la base de datos es multiplataforma y se puede utilizar el mismo archivo en un sistema de 32 y 64 bits. 4. Utiliza el espacio en disco que es realmente necesario en cada momento ya que emplea registros de tamaño variable. 5. Cuenta con diversas interfaces API, lo que permite trabajar con C++, PHP, Python, Groovy, etc. 6. Es totalmente auto contenida es decir que no tiene dependencias externas. 7. Soporta funciones SQL definidas por el usuario (UDF). 8. El código fuente es de dominio público y se encuentra muy bien documentado. 9. La base de datos completa se encuentra en un solo archivo. 9 Software que utiliza SQLite SQLite es utilizado en una gran variedad de aplicaciones, destacando las siguientes: ● Adobe Photoshop Elements utiliza SQLite como motor de base de datos en su última versión del producto (la 6.0) en sustitución del Microsoft Access, utilizado en las versiones anteriores. ● Mozilla Firefox usa SQLite para almacenar, entre otros, las cookies, los favoritos, el historial, las direcciones de red válidas. ● Varias aplicaciones de Apple utilizan SQLite, incluyendo Apple Mail y el gestor de RSS que se distribuye con Mac OS X. El software Aperture de Apple guarda la información de las imágenes en una base de datos SQLite, utilizando la API Core Data. ● El navegador web ópera usa SQLite para la gestión de bases de datos WebSQL. ● Skype es otra aplicación de gran despliegue que utiliza SQLite. ● XBMC Media Center (antes conocido como “XBox Media Center”) es un reproductor de medios de audio, video, fotos, etc de código libre (open source) multi­plataforma a la vez que un centro de entretenimiento. Usa SQLite para administrar las librerías de música, video y fotografías, listas de reproducción y bookmarks entre otras utilidades menores. ● [[NiconPersonal] Agenda personal de contactos escrita en JAVA y desarrollada por NiconSystem Inc. con laboratorio en Colombia, usa SQLite para la gestión de contactos, recordatorio y sincronización de notas (NiconNotes) y su sistema de finanzas personales, además de otras utilidades que hacen de NiconPersonal muy eficiente en su tarea. Debido a su pequeño tamaño, SQLite es muy adecuado para los sistemas integrados, y también está incluido en: ● Android ● BlackBerry ● Google Chrome ● iOS ● Maemo ● MeeGo ● Symbian OS ● webOS 10 Servicios SMBD Móviles Un SMBD móvil debe ofrecer los servicios de un SMBD tradicional, además de funcionalidad adicional requerida por los SMBD móviles, que incluye la capacidad de: ● Comunicarse con el servidor centralizado de la base de datos utilizando técnicas como la comunicación inalámbrica o el acceso a Internet. ● Replicar los datos en el servidor de base de datos centralizado y en el dispositivo móvil. ● Sincronizar los datos del servidor de base de datos centralizado y en el dispositivo móvil. ● Capturar datos de varias fuentes, por ejemplo, de Internet. ● Gestionar datos en el dispositivo móvil. ● Analizar los datos almacenados en el dispositivo móvil. ● Crear aplicaciones móviles personalizadas. Ventajas e Inconvenientes Las principales ventajas que hemos detectado en las bases de datos móviles son las siguientes: ● Permiten la movilidad de los usuarios, por lo que no es necesario estar físicamente en la organización para acceder a sus datos. Éstos pueden ser accedidos remotamente. ● El mercado potencial de este tipo de bases de datos es bastante amplio, ya que multitud de empresas de todo tipo poseen trabajadores que necesitan acceder a los datos de la compañía mientras se encuentran en localizaciones remotas. ● Estas bases de datos poseen un gran ámbito de aplicación ya que en principio cualquier base de datos relacional puede ampliarse para ofrecer los servicios de las bases de datos móviles. Los principales inconvenientes que hemos observado en las bases de datos móviles son los siguientes: ● Los enlaces de comunicaciones juegan un papel importante es el desarrollo de estos sistemas, por lo que su dependencia puede suponer un freno para ellos. ● Los datos pueden estar replicados, por lo que consistencia y coherencia de los mismos son fundamentales y puede generar conflictos importantes. ● El tratamiento de fallos es un aspecto delicado ya que al tratarse de un entorno distribuido, los fallos de transmisión de datos deben de solucionarse y detectarse de forma eficiente para que no produzcan errores en la información tratada. 11 La capacidad de procesado de los dispositivos móviles son también un inconveniente importante y también hay que tener en cuenta que dicha capacidad no es la misma para todos los dispositivos. 12 Conclusión A lo largo de este paper se ha demostrado que no solo las Bases de Datos Móviles son una tendencia con respecto a otros tipos de Bases de Datos, sino que es una realidad en la que ya existen cientos de miles de dispositivos que se encuentran actualmente conectados a cientos de miles de Bases de Datos. Además que una gran parte de los avances tecnológicos está directamente orientado a aspectos de comunicaciones los cuales permitirían aumentar la eficacia y eficiencia de los Sistemas de Bases de Datos Móviles. 13 Bibliografía https://basesdedatosavanzadas.wikispaces.com/Moviles?responseToken=494e7e3eb7bebd44 21d270b66a753760, Consultado 26 de febrero de 2016. https://modelosbd2012t1.wordpress.com/2012/03/15/base­de­datos­moviles­3/, Consultado 26 de febrero de 2016. www.eumed.net/rev/tlatemoani/14/base­datos­moviles.html, Consultado 27 de febrero de 2016. http://kuainasi.ciens.ucv.ve/bd_moviles/ArquitecturaBDMoviles.html , Consultado 27 de febrero de 2016. Distinctive Features Of SQLite . SQLite. 3 de marzo de 2008. Consultado el 28 de febrero de 2016. Organize your business with a mobile database, Kevin Ebi, Microsoft.com, Consultado 28 de febrero de 2016. 14