Caja de herramientas de inteligencia artificial para la academia y la investi...
Sgbd para moviles
1. Base de Datos Móviles
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 (Wireles 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
personas 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.
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
2. 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
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 encontrara en múltiples celdas, por
localización de celdas, GPS, etc.
Se tiene que tomar en cuenta que la unidad puede estar en movimiento mientas se
realiza la consulta.
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
3. 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 Aplication Protocol).
WAP – Wirereless 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)
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 almacenaba 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 agregan 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
4. 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 (Wireles 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 correspondería 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.
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 BD Mó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 cuál 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
5. 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.
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 Visual Studio.Net y expande las capacidades del .NET
framework para permitir generar aplicaciones móviles para Pocket o Pocket Pc y
Smartphone
6. 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.
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 Atomicity, Consistency, Isolation and Durability:
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.
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.
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.
7. 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 OS4
webOS
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.
8. 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.
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.