sql y no sql

18
SISTEMAS DE BASE DE DATOS (SGBD) PARA SISTEMAS OPERATIVOS MOVILES J.luisrs_44 Ing. De Sistemas e Inf.

description

base de datos relacionales y no relacionales.

Transcript of sql y no sql

Page 1: sql y no sql

SISTEMAS DE BASE DE DATOS (SGBD) PARA SISTEMAS

OPERATIVOS MOVILES

J.luisrs_44 Ing. De Sistemas e Inf.

Page 2: sql y no sql

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.

Page 3: sql y no sql

Estos SGBD móviles están adaptados a los recursos limitados de las unidades móviles y proporcionan: 1. Comunicación y sincronización con el servidor

centralizado de base de datos mediante técnicas de comunicación inalámbrica.

2. Replicación y Gestión de datos en el servidor centralizado de base de datos y en el dispositivo móvil.

3. Análisis de los datos almacenados en el dispositivo móvil.

Procesamiento de ConsultasEl ú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.

Page 4: sql y no sql

Ejemplo: Encontrar el hotel mas cercano desde donde me encuentro con un precio

< $50Para 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.

Page 5: sql y no sql

Sistemas Gestores de Bases de Datos Móviles son:

Anywhere Solutions

Empresa filial de Sybase, lidera el ranking del mercado de bases de datos móviles gracias a SQL Anywhere. Este paquete proporciona bases de datos que pueden utilizarse tanto a nivel de servidor como a nivel de dispositivo móvil. SQL Anywhere se compone de las siguientes tecnologías: 1. SQL Anywhere Server: sistema gestor de bases de datos

relacionales para los sistemas de bases de datos móviles. 2. Ultralite: sistema gestor de bases de datos que puede

embeberse en dispositivos móviles. 3. Mobilink: tecnología de sincronización para el intercambio de

datos entre bases de datos relacionales y bases de datos no relacionales. QAnywhere: facilita el desarrollo de aplicaciones móviles robustas y seguras.

4. SQL Remote: permite a los usuarios de dispositivos móviles sincronizar sus datos con otras bases de datos SQL Anywhere

Page 6: sql y no sql

DB2 Everyplace de IBMEs una base de datos relacional y un servidor de sincronización que permite extender las aplicaciones y los datos empresariales a dispositivos móviles. Gracias a un consumo de recursos reducido, esta base de datos puede integrarse en dispositivos como PDAs y teléfonos móviles. Microsoft también ofrece una base de datos para dispositivos móviles. Se trata de Microsoft SQL Server Compact 3.5, un motor de bases de datos que permite desarrollar aplicaciones en cualquier plataforma Windows incluyendo Tablet PCs, Pocket PCs, Smart Phones y equipos de escritorio. Oracle Database Lite 10g es la solución de Oracle para desarrollar aplicaciones en entornos móviles. Proporciona un cliente que permite la realización de consultas SQL para acceder a los datos locales del dispositivo y un servidor para gestionar los datos de forma centralizada.

Page 7: sql y no sql

Arquitectura Bases de Datos Móviles mostrando al sistema gestor de base de datos móvil (SMBD móvil) y al enlace de

comunicaciones.

Page 8: sql y no sql

Borland’s JDataStore

Son productos menos utilizados, una base de datos Java para dispositivos móviles y aplicaciones Web, o MobiSnap, un proyecto de investigación cuyo objetivo es soportar el desarrollo de aplicaciones con bases de datos relacionales en entornos móviles. A pesar de los beneficios que prometen las bases de datos orientadas a objetos, sobre todo para dispositivos móviles, son contadas las soluciones que han aparecido para J2ME.La razón principal es que casi todas las bases de datos orientadas a objetos dependen de características de Java que son limitadas o no existen en la plataforma J2ME y poseen repercusiones en los usuarios de manera que los administradores de bases de datos son los más afectados.

Ejemplos de BD Móviles: La plataforma Java Micro Edition (Java para dispositivos

móviles, J2ME),

Page 9: sql y no sql

DIFERENCIA ENTRE BASE DE DATOS RELACIONALES Y NO RELACIONALES

SQL (Structured Query Language) fue creado en la década de 1970 para dar a las bases de datos relacionales una manera de almacenar datos y comunicarse, y es muy popular en todo el mundo.

NoSQL, en contraste, se refiere a un nuevo tipo de bases de datos no relacionales que no utilizan SQL y están ganando popularidad.

Page 10: sql y no sql

Razones para creer que las bases de datos no relacionales son más adecuadas para la actualidad que las bases de datos relacionales.

Las relaciones y las tablas que conforman las bases de datos SQL pueden funcionar para las grandes organizaciones, que cuentan con millones Combine esto con millones de usuarios que realizan búsquedas en estas tablas y el sistema puede sufrir grandes problemas de rendimiento, como descubrieron Google y Amazon de la manera más dura antes de cambiar a sistemas no relacionales.

Los proyectos de programación a gran escala que utilizan tipos de datos complejos y jerarquías, como XML, son difíciles de incorporar en SQL. Estos tipos de datos, que pueden contener objetos, listas y otros tipos de datos propios, no se correlacionan bien con las tablas que consisten en sólo las filas y columnas.

Por otro lado, los proyectos y las organizaciones más pequeñas normalmente funcionan muy bien con SQL.

Page 11: sql y no sql

Razones para creer que las bases de datos no relacionales son más adecuadas para la actualidad que las bases de datos relacionales.

Las relaciones y las tablas que conforman las bases de datos SQL pueden funcionar para las grandes organizaciones, que cuentan con millones Combine esto con millones de usuarios que realizan búsquedas en estas tablas y el sistema puede sufrir grandes problemas de rendimiento, como descubrieron Google y Amazon de la manera más dura antes de cambiar a sistemas no relacionales.

Los proyectos de programación a gran escala que utilizan tipos de datos complejos y jerarquías, como XML, son difíciles de incorporar en SQL. Estos tipos de datos, que pueden contener objetos, listas y otros tipos de datos propios, no se correlacionan bien con las tablas que consisten en sólo las filas y columnas.

Por otro lado, los proyectos y las organizaciones más pequeñas normalmente funcionan muy bien con SQL.

Page 12: sql y no sql

¿Que diferencias existen entre las bases de datos Relacionales y las no Relacionales?.

Page 13: sql y no sql

Diferencias: SQL y NoSQL Las bases de datos NoSQL escalan horizontalmente,

añadiendo más servidores para hacer frente a cargas más grandes. Por otro lado, las bases de datos SQL, suelen escalar de forma vertical, añadiendo más y más tráfico a un solo servidor. La función Auto-sharding permite a los sistemas NoSQL compartir automáticamente los datos a través de servidores, sin necesidad de realizar algunas maniobras complejas de codificación. Esto equilibra la carga entre varios servidores, proporcionando un sistema más robusto en caso de un accidente de un servidor en particular.

NoSQL es mucho más flexible, no utilizando esquemas definidos de antemano. Esto permite a los usuarios añadir información y hacer cambios en cualquier momento sin interrumpir el sistema o la necesidad de transferir una gran cantidad de datos.

Page 14: sql y no sql

* No utilizan SQL como lenguaje de consultas. La mayoría de las bases de datos NoSQL evitan utilizar este tipo de lenguaje o lo utilizan como un lenguaje de apoyo. * No utilizan estructuras fijas como tablas para el almacenamiento de los datos. Permiten hacer uso de otros tipos de modelos de almacenamiento de información como sistemas de clave–valor, objetos o grafos.* No suelen permitir operaciones JOIN. Al disponer de un volumen de datos tan extremadamente grande suele resultar deseable evitar los JOIN. Esto se debe a que, cuando la operación no es la búsqueda de una clave, la sobrecarga puede llegar a ser muy costosa. Las soluciones más directas consisten en desnormalizar los datos, o bien realizar el JOIN mediante software, en la capa de aplicación.* Arquitectura distribuida. Las bases de datos relacionales suelen estar centralizadas en una única máquina o bien en una estructura máster–esclavo, sin embargo en los casos NoSQL la información puede estar compartida en varias máquinas mediante mecanismos de tablas Hash distribuidas.

Page 15: sql y no sql

VENTAJAS E INCONVENIENTES DEL NOSQL

Hay varios motivos por los cuales podemos considerar apropiado utilizar tecnología No SQL en nuestras arquitecturas. Cuando el volumen de datos que tenemos que gestionar

es muy elevado y la necesidad de acceder extremadamente rápido y eficiente a dichos datos, justifica la creación de un cluster.

Cuando necesitamos mejorar la productividad del desarrollo de aplicaciones utilizando un Modelo de Datos que se adapte mejor a como las aplicaciones trabajan con esos datos en memoria.

Cuando la naturaleza de los datos es cambiante en el tiempo y necesitamos total libertad para almacenar los datos sin imponer ningún tipo de estructura.

Page 16: sql y no sql

VENTAJAS E INCONVENIENTES DEL NOSQL

De igual modo, hay varios motivos por lo que podríamos considerar no apropiado utilizar almacenamiento No relacional en nuestras arquitecturas. Cuando haya relaciones entre los datos y la consistencia de las

mismas sea un punto critico para nuestro sistema. Cuando sea necesario garantizar la consistencia de la escritura de los

datos mediante transaccional ACID. Cuando nuestros Queries requieran poder consultar por cualquier

campo de nuestra base de datos, sin poder establecer a priori cuales serán los campos mas consultados.

Estos 2 últimos puntos, resultan decisivos a la hora de descartar un Modelo de Datos No Relacional para nuestra arquitectura, ya que, cuando estos modelos logran un mayor rendimiento es cuando preparamos la estructura de los datos para adaptarse a las necesidades de la aplicación que los va a consumir. Con una Base de Datos Relacional no tenemos este inconveniente ya que si diseñamos nuestro modelo siguiendo las Formas Normales, garantizamos que cualquier aplicación va a poder acceder de modo fiable a los datos y con un rendimiento optimo.

Page 17: sql y no sql

NOSQL, ¿Es el Nuevo SQL 2,0?

La respuesta es NO.NoSQL no es una tecnología pensada para sustituir a SQL o a las bases de Datos Relacionales. Ciertamente, las Bases de Datos Relacionales forma parte de nuestra

cultura de programación y diseño de arquitecturas software, ya que hubo un tiempo durante el cual, eran la opción de almacenamiento persistente mas fiable (y casi la única).

Con la aparición de la nueva tecnología No Relacional (NoSQL), se abren nuevos modos de organizar nuestra información y nuevos retos que afrontar en nuestras arquitecturas; pero eso no quiere decir que una tecnología debe suplantar a la otra.

Desde el punto de vista técnico, hemos visto las limitaciones y ventajas que ambos sistemas ofrecen, e incluso, podemos discernir cuando es recomendable utilizar uno u otro, o los dos al m ismo tiempo.

El problema que se empieza a plantear es que, desde un punto de vista menos técnico, mas orientado a comercial o a cliente, se percibe esta tecnología como una nueva versión de la anterior y cada vez mas clientes demandan utilizarlas en sus sistemas a toda costa, si o si , aunque no encaje en absoluto.

Page 18: sql y no sql

SQL :

Alumno = (nombre: dom_nombre; nº: entero)Asignatura = (nº: entero; asignatura:dom_asignatura).

NoSQL