Post on 08-Dec-2015
description
UNIVERSIDAD POLITÉCNICA DE BACALAR
INGENIERÍA EN SOFTWARE
Materia: Base de datos distribuidas
Profesor: JUAN KANTÚN POOT
Integrantes: Brayan Antonio Rodríguez García
CUATRIMESTRE: 4
GRUPO: A
Bacalar, Quintana Roo, Agosto 2015
Sistema gestor de Base de datos
MySQL
Características
Aprovecha la potencia de sistemas multiprocesador, gracias a su implementación multihilo.
Soporta gran cantidad de tipos de datos para las columnas.
Dispone de API's en gran cantidad de lenguajes (C, C++, Java, PHP, etc).
Gran portabilidad entre sistemas.
Soporta hasta 32 índices por tabla.
Gestión de usuarios y passwords, manteniendo un muy buen nivel de seguridad en los datos.
Condición de open source de MySQL hace que la utilización sea gratuita y se puede modificar con total
libertad.
Se puede descargar su código fuente. Esto ha favorecido muy positivamente en su desarrollo y continuas
actualizaciones.
Es una de las herramientas más utilizadas por los programadores orientados a Internet.
Infinidad de librerías y otras herramientas que permiten su uso a través de gran cantidad de lenguajes de
programación.
MYSQL, es el manejador de base de datos considerado como el más rápido de Internet.
Gran rapidez y facilidad de uso.
Infinidad de librerías y otras herramientas que permiten su uso a través de gran cantidad de lenguajes de
programación.
Fácil instalación y configuración.
Ventajas
MySQL software es Open Source
Velocidad al realizar las operaciones, lo que le hace uno de los gestores con mejor
rendimiento.
Bajo costo en requerimientos para la elaboración de bases de datos, ya que debido
a su bajo consumo puede ser ejecutado en una máquina con escasos recursos sin
ningún problema.
Facilidad de configuración e instalación.
Soporta gran variedad de Sistemas Operativos
Baja probabilidad de corromper datos, incluso si los errores no se producen en el
propio gestor, sino en el sistema en el que está.
Su conectividad, velocidad, y seguridad hacen de MySQL Server altamente
apropiado para acceder bases de datos en Internet
El software MySQL usa la licencia GPL
Desventajas.
Un gran porcentaje de las utilidades de MySQL no están documentadas.
No es intuitivo, como otros programas (ACCESS).
Arquitectura
Cada base de datos está compuesta por tablas. Las tablas a su vez se definen con columnas, cada
una de un tipo de datos diferente, que conforman los registros. Además de los datos que
almacenamos, las tablas pueden contener índices, y algunas de sus columnas tienen propiedades
especiales como claves primarias y claves foráneas que permiten establecer relaciones entre las
tablas.
Los sistemas que manejan estas estructuras se pueden describir en capas. En general, un sistema
de bases de datos relacional tiene tres capas, aplicación, logica y fisica:
La arquitectura general de MySQL funciona en estas tres capas, podemos ver con más detalle los
aspectos particulares del sistema. En esta figura, los Connectors representan la API que MySQL
expone al usuario, por lo que representaria la parte mas cercana al sistema de la capa aplicacion.
MySQL dispone de APIs para muchos lenguajes de programacion. En la parte mas baja podemos
ver los elementos File system y Files & Logs que representan la capa fisica. Lo que queda entre
medio es la capa logica, donde reside la funcionalidad del servidor.
SQL SERVER
Características
Facilidad de instalación, distribución y utilización. SQL Server posee una gran variedad de herramientas administrativas y de desarrollo que
permite mejorar la capacidad de instalar, distribuir, administrar y utilizar SQL Server.-Administrativas (Administrador Corporativo).-Desarrollo (Analizador de Consultas).
Puede utilizarse el mismo motor de base de datos a través de plataformas que van desde equipos portátiles que ejecutan Microsoft Windows® 95 ò 98 hasta grandes servidores con varios procesadores que ejecutan Microsoft Windows NT®, Enterprise Edition.
Almacenamiento de datos. SQL Server incluye herramientas para extraer y analizar datos resumidos para el proceso
analítico en lìnea(OLAP,Online Analitycal Processing). SQL Server incluye también herramientas para diseñar gráficamente la base de datos y analizar los datos mediante preguntas en lenguaje normal.
SQL Server se integra con el correo electrónico, internet y Windows, permitiendo una comunicación local.
Este sistema incluye una versión reducida, llamada MSDE con el mismo motor de base de datos pero orientado a proyectos más pequeños, que en sus versiones 2005 y 2008 pasa a ser el SQL Express Edition, que se distribuye en forma gratuita.
Es común desarrollar completos proyectos complementando Microsoft SQL Server y Microsoft Access a través de los llamados ADP (Access Data Project). De esta forma se completa la base de datos (Microsoft SQL Server), con el entorno de desarrollo (VBA Access), a través de la implementación de aplicaciones de dos capas mediante el uso de formularios Windows.
En el manejo de SQL mediante líneas de comando se utiliza el SQLCMD, osql, o PowerShell.
Para el desarrollo de aplicaciones más complejas (tres o más capas), Microsoft SQL Server incluye interfaces de acceso para varias plataformas de desarrollo, entre ellas .NET, pero el servidor sólo está disponible para Sistemas Operativos.
El tipo NUMERIC fue mejorado para ser usado como identificador de columna a partir de la versión 2008 R2.
Ventajas
- Es un Sistema de Gestión de Bases de Datos Relacionales (SGBDR).
- Puede ser útil para manejar y/o obtener datos de la red de redes.
- Ofrece una potente forma de unir SQL e Internet.
- Utiliza una extensión al SQL estandar, que se denomina Transact SQL.
- El Transact SQL, soporta la definición, modificación y eliminación de bases de datos,
tablas, atributos, índices, etc., es decir, el lenguaje de definición de datos (LDD), así
como la consulta, actualización y borrado de tuplas de tablas, es decir, el lenguaje de
manipulación de datos (LMD).
- Para empezar SQL Server nos permite olvidarnos un poco de los ficheros que forman
la base de datos. En Access tenemos que abrir el fichero .mdb para ver el contenido.
Aquí abrimos la consola de SQL Server y tenemos todas las bases de datos de todos
nuestros programas. Esto es muy cómodo, ciertamente.
- Si trabajamos en una red local nos permite agregar otros servidores de SQL Server.
por ejemplo: yo tengo en mi ordenador una base de datos en mi servidor SQL y mi
compañero tiene en su servidor otra base de datos. Yo puedo conectar mi SQL al suyo
y así tengo sus bases de datos en mi SQL Server. Esto, también es muy cómodo.
- Seguridad: SQL permite administrar permisos a TODO. Permisos a nivel de servidor,
seguridad en tablas, permitir o no lectura, escritura, ejecución; seguridad en los
procedimientos almacenados (después hablo de ellos)... todo se puede configurar. O
sea, que podemos permitir que alguien conecte su SQL al nuestro pero sin embargo
podemos decirle que no puede ver esta base de datos pero otra sí.
Desventajas
- Los problemas de la 6.5 eran muchos: bloqueo a nivel de página, dispositivos con
crecimiento manual, un tamaño de página fijo y demasiado pequeño (2048KB), una
pésima implementación de los tipos de datos variables como varchar.
- La principal desventaja de Microsoft SQL SERVER es la enorme cantidad de memoria
RAM que utiliza para la instalación y utilización del software.
- Una de las desventajas de SQL es que si lo quieres para practicas no te va hacer útil
por que en el se prohíben muchas cosas tiene restricciones en lo particular me parase
mas viable usar MySQL es mucho mejor además de ser un software gratis.
- La relación calidad-precio esta muy debajo comparado con oracle.
Arquitectura
PostgreSQL
Características
Es una base de datos 100% ACID.
Soporta distintos tipos de datos: además del soporte para los tipos base, también soporta
datos de tipo fecha, monetarios, elementos gráficos, datos sobre redes (MAC, IP ...),
cadenas de bits, etc. También permite la creación de tipos propios.
Incluye herencia entre tablas, por lo que a este gestor de bases de datos se le incluye
entre los gestores objeto-relacionales.
Copias de seguridad en caliente (Online/hot backups)
Unicode
Juegos de caracteres internacionales
Regionalización por columna
Multi-Version Concurrency Control (MVCC)
Multiples métodos de autentificación
Acceso encriptado via SSL
SE-postgres
Completa documentación
Licencia BSD
Disponible para Linux y UNIX en todas sus variantes (AIX, BSD, HP-UX, SGI IRIX, Mac OS
X, Solaris, Tru64) y Windows 32/64bit.
Ventajas
Ampliamente popular - Ideal para tecnologias Web.
Fácil de Administrar.
Su sintaxis SQL es estándar y fácil de aprender.
Footprint bajo de memoria, bastante poderoso con una configuración adecuada.
Multiplataforma.
Capacidades de replicación de datos.
Soporte empresarial disponible.
Estabilidad y confiabilidad legendarias
En contraste a muchos sistemas de bases de datos comerciales, es extremadamente común que
compañías reporten que PostgreSQL nunca ha presentado caídas en varios años de operación de
alta actividad. Ni una sola vez. Simplemente funciona.
ExtensibleEl código fuente está disponible para todos sin costo. Si su equipo necesita extender o personalizar PostgreSQL de alguna manera, pueden hacerlo con un mínimo esfuerzo, sin costos adicionales. Esto es complementado por la comunidad de profesionales y entusiastas de PostgreSQL alrededor del mundo que también extienden PostgreSQL todos los días.
MultiplataformaPostgreSQL está disponible en casi cualquier Unix (34 plataformas en la última versión estable), y una versión nativa de Windows está actualmente en estado beta de pruebas.
Diseñado para ambientes de alto volumen
PostgreSQL usa una estrategia de almacenamiento de filas llamada MVCC para conseguir una mucho mejor respuesta en ambientes de grandes volúmenes. Los principales proveedores de sistemas de bases de datos comerciales usan también esta tecnología, por las mismas razones.
Desventajas En comparación con MySQL es más lento en inserciones y actualizaciones, ya que cuenta
con cabeceras de intersección que no tiene MySQL. Soporte en línea: Hay foros oficiales, pero no hay una ayuda obligatoria. Consume más recursos que MySQL. La sintaxis de algunos de sus comandos o sentencias no es nada intuitiva.
Arquitectura
PostgreSQL está basado en una arquitectura cliente-servidor. El programa servidor se llama postgres y entre los muchos programas cliente tenemos, por ejemplo, pgaccess (un cliente gráfico) y psql (un cliente en modo texto).
Un proceso servidor postgres puede atender exclusivamente a un solo cliente; es decir, hacen falta tantos procesos servidor postgres como clientes haya. El proceso postmaster es el encargado de ejecutar un nuevo servidor para cada cliente que solicite una conexión.
Cual usarías
Utilizaría la mysql porque es gratuito, muy fácil de usar y es con el que más me acomodo para trabajar
Base de datos distribuidas vs Base de datos centralizadas
Base de datos distribuidos
Una base de datos distribuida (BDD) es un conjunto de múltiples bases de datos lógicamente relacionadas las cuales se encuentran distribuidas en diferentes espacios lógicos e interconectados por una red de comunicaciones. Dichas BDD tienen la capacidad de realizar procesamiento autónomo, esto permite realizar operaciones locales o distribuidas. Un sistema de Bases de Datos Distribuida (SBDD) es un sistema en el cual múltiples sitios de bases de datos están ligados por un sistema de comunicaciones de tal forma que, un usuario en cualquier sitio puede acceder los datos en cualquier parte de la red exactamente como si estos fueran accedidos de forma local.
Características
Los datos deben estar físicamente en más de un ordenador (distintas sedes) Las sedes deben estar interconectadas mediante una red (cada sede es un nodo de la red) Los datos han de estar lógicamente integrados (recuperación y actualización) tanto en local
como remoto (esquema lógico global y único) En una única operación se puede acceder (recuperar o actualizar) datos que se
encuentran en más de una sede (acceso a datos locales o remotos) Todas las acciones que necesiten realizarse sobre más de una sede serán transparentes
al usuario (transparencia de distribución para el usuario)
Objetivos
AUTONOMÍA LOCAL NO DEPENDENCIA DE UN NODO CENTRAL OPERACIÓN CONTINUA INDEPENDENCIA DE LA UBICACION INDEPENDENCIA DE LA FRAGMENTACION INDEPENDENCIA DE REPLICACION PROCESAMIENTO DE CONSULTAS DISTRIBUIDAS PROCESAMIENTO DE TRANSACCIONES DISTRIBUIDAS INDEPENDENCIA DEL HARDWARE INDEPENDENCIA DEL SOFTWARE. INDEPENDENCIA DE LA RED INDEPENDENCIA DE LA BASE DE DATOS
Arquitectura
Base de datos centralizados
Los sistemas de base de datos centralizados son aquellos que se ejecutan en un único sistema informático sin interaccionar con ninguna otra computadora. Tales sistemas comprenden el rango desde los sistemas de bases de datos monousuarios ejecutándose en computadoras personales hasta los sistemas de base de datos de alto rendimiento ejecutándose en grandes sistemas.
Características
Se almacena completamente en una localidad central. No posee múltiples elementos de procesamiento ni mecanismos de intercomunicación
como las bases de datos distribuidas. Los componentes de las bases de datos centralizadas son: los datos, el software de
gestión de bases de datos y los dispositivos de almacenamiento secundario asociados. El problema de seguridad es fácil de manejar en estos sistemas de bases de datos.
Arquitectura
Comparativa base de datos distribuidas y centralizadas