Sistema Gestor de Base de Datos

12

Click here to load reader

description

Una herramienta para ayudar a los desarrolladores de software

Transcript of Sistema Gestor de Base de Datos

Page 1: Sistema Gestor de Base de Datos

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

Page 2: Sistema Gestor de Base de Datos

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.

Page 3: Sistema Gestor de Base de Datos

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

Page 4: Sistema Gestor de Base de Datos

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.

Page 5: Sistema Gestor de Base de Datos

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

Page 6: Sistema Gestor de Base de Datos

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.

Page 7: Sistema Gestor de Base de Datos

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

Page 8: Sistema Gestor de Base de Datos

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

Page 9: Sistema Gestor de Base de Datos

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

Page 10: Sistema Gestor de Base de Datos

Comparativa base de datos distribuidas y centralizadas