bdsm desarrollo

25
Investigación

Upload: jorge-mengelle

Post on 25-Jul-2015

468 views

Category:

Documents


0 download

DESCRIPTION

Uploaded from Google Docs

TRANSCRIPT

Page 1: BDSM Desarrollo

Investigación

Page 2: BDSM Desarrollo

SISTEMAS MANEJADORES DE BASE DE DATOS

(BDSM)

BASE DE DATOS

DR. CARLOS A. TORRES GASTELU

EQUIPO 4

Page 3: BDSM Desarrollo

Introducción

Page 4: BDSM Desarrollo

Progreso. Es esencialmente lo que el hombre ha buscado a lo largo de su existencia como un ser racional. Y con esta visión en mente ha desarrollado infinidad de herramientas para llevar acabo funciones que van de lo simple a lo verdaderamente complicado.

Una muestra de ello son los DBMS (Data Base Manager System o en español Sistema Manejador de Base de Datos) En la actualidad quienes se enfocan en los sistemas computarizados manejan estos software que permiten una experiencia más provechosa al momento de realizar una base de datos.

Page 5: BDSM Desarrollo
Page 6: BDSM Desarrollo

La automatización en los sistemas creados para las empresas prestadoras de servicios más que en cualquier otro ámbito, han sido la solución que estas presentaban.

Los DBMS presentaran una interfaz razonable la cual permitirá que cualquier usuario pueda familiarizarse rápidamente a sus funciones, mencionaremos también los distintos tipos de DBMS, al igual que las fichas técnicas de algunos de ellos.

A continuación se redacta con más amplitud lo antes mencionado:

SISTEMA MANEJADOR DE BASE DE DATOS (BDSM) :

Los sistemas de gestión de bases de datos (en inglésdatabasemanagementsystem, abreviado DBMS) son un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan.

El sistema manejador de bases de datos es la porción más importante del software de un sistema de base de datos. Un DBMS es una colección de numerosas rutinas de software interrelacionadas, cada una de las cuales es responsable de alguna tarea específica.

Las funciones principales de un DBMS son:

Crear y organizar la Base de datos.

Page 7: BDSM Desarrollo

Seguridad e integridad.

Page 8: BDSM Desarrollo

Consiste en contar con mecanismos que permitan el control de la consistencia de los datos evitando que estos se vean perjudicados por cambios no autorizados o previstos.

El DBMS es conocido también como Gestor de Base de datos.

La figura muestra el DBMS como interfase entre la base de datos física y las peticiones del usuario. El DBMS interpreta las peticiones de entrada/salida del usuario y las manda al sistema operativo para la transferencia de datos entre la unidad de memoria secundaria y la memoria principal.

En sí, un sistema manejador de base de datos es el corazón de la base de datos ya que se encarga del control total de los posibles aspectos que la puedan afectar.

Establecer ymantener las trayectorias de acceso a la base de datos de tal forma que los datos puedan ser accesados

rápidamente.

Manejar los datos de acuerdo a las peticiones de los usuarios.

Registrar el uso de las bases de datos.

Interacción con el manejador de archivos.

Esto a través de las sentencias en DML al comando de el sistema de archivos. Así el Manejador de base de datos es el responsable del verdadero almacenamiento de los datos.

Respaldo y recuperación.

Consiste en contar con mecanismos implantados que permitan la recuperación fácilmente de los datos en caso de ocurrir fallas en el sistema de base de datos.

Control de concurrencia.

Consiste en controlar la interacción entre los usuarios concurrentes para no afectar la inconsistencia de los datos.

Petición del usuario

Page 9: BDSM Desarrollo

Usuarios de las bases de datos.

Page 10: BDSM Desarrollo

Podemos definir a los usuarios como toda persona que tenga todo tipo de contacto con el sistema de base de datos desde que este se diseña, elabora, termina y se usa. Los usuarios que accesan una base de datos pueden clasificarse como:

Programadores de aplicaciones.

Los profesionales en computación que interactuan con el sistema por medio de llamadas en DML (Lenguaje de Manipulación de Datos), las cuales están incorporadas en un programa escrito en un lenguaje de programación (Por ejemplo, COBOL, PL/I, Pascal, C, etc.)

Usuarios sofisticados.

Los usuarios sofisticados interactuan con el sistema sin escribir programas. En cambio escriben sus preguntas en un lenguaje de consultas de base de datos.

Usuarios especializados.

Algunos usuarios sofisticados escriben aplicaciones de base de datos especializadas que no encajan en el marco tradicional de procesamiento de datos.

Usuarios ingenuos.

Los usuarios no sofisticados interactuan con el sistema invocando a uno de los programas de aplicación permanentes que se han escrito anteriormente en el sistema de base de datos, podemos mencionar al usuario ingenuo como el usuario final que utiliza el sistema de base de datos sin saber nada del diseño interno del mismo por ejemplo: un cajero.

Objetivos

Existen distintos objetivos que deben cumplir los SGBD:

• Abstracción de la información. Los SGBD ahorran a los usuarios detalles acerca del almacenamiento físico de los datos. Da lo mismo si una base de datos ocupa uno o cientos de archivos, este hecho se hace transparente al usuario. Así, se definen varios niveles de abstracción.

• Independencia. La independencia de los datos consiste en la capacidad de modificar el esquema (físico o lógico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella.

• Consistencia. En aquellos casos en los que no se ha logrado eliminar la redundancia, será necesario vigilar que aquella información que aparece repetida se actualice de forma coherente, es decir, que todos los datos repetidos se actualicen de forma simultánea. Por otra parte, la base de datos representa una realidad determinada que tiene determinadas condiciones, por ejemplo que los menores de edad no pueden tener licencia de conducir. El sistema no debería aceptar datos de

Page 11: BDSM Desarrollo
Page 12: BDSM Desarrollo

un conductor menor de edad. En los SGBD existen herramientas que facilitan la programación de este tipo de condiciones.

• Seguridad. La información almacenada en una base de datos puede llegar a tener un gran valor. Los SGBD deben garantizar que esta información se encuentra segura de permisos a usuarios y grupos de usuarios, que permiten otorgar diversas categorías de permisos.

• Manejo de transacciones. Una transacción es un programa que se ejecuta como una sola operación. Esto quiere decir que luego de una ejecución en la que se produce una falla es el mismo que se obtendría si el programa no se hubiera ejecutado. Los SGBD proveen mecanismos para programar las modificaciones de los datos de una forma mucho más simple que si no se dispusiera de ellos.

• Tiempo de respuesta. Lógicamente, es deseable minimizar el tiempo que el SGBD demora en proporcionar la información solicitada y en almacenar los cambios realizados. Ventajas

• Proveen facilidades para la manipulación de grandes volúmenes de datos (ver objetivos). Entre éstas:

o Simplifican la programación de equipos de consistencia. o Manejando las políticas de respaldo adecuadas, garantizan que los cambios de la base serán siempre consistentes sin importar si hay errores correctamente, etc. o Organizan los datos con un impacto mínimo en el código de los programas. o Disminuyen drásticamente los tiempos de desarrollo y aumentan la calidad

del sistema desarrollado si son bien explotados por los desarrolladores.

• Usualmente, proveen interfaces y lenguajes de consulta que simplifican la recuperación de los datos. Inconvenientes

1. Típicamente, es necesario disponer de una o más personas que administren la base de datos, de la misma forma en que suele ser necesario en instalaciones de cierto porte disponer de una o más personas que administren los sistemas operativos. Esto puede llegar a incrementar los costos de operación en una empresa. Sin embargo hay que balancear este aspecto con la calidad y confiabilidad del sistema que se obtiene. 2. Si se tienen muy pocos datos que son usados por un único usuario por vez y no hay que realizar consultas complejas sobre los datos, entonces es posible que sea mejor usar una hoja de cálculo. 3. Complejidad: los software muy complejos y las personas que vayan a usarlo deben tener conocimiento de las funcionalidades del mismo para poder aprovecharlo al máximo. 4. Tamaño: la complejidad y la gran cantidad de funciones que tienen hacen que sea un software de gran tamaño, que requiere de gran cantidad de memoria para poder correr.

Page 13: BDSM Desarrollo
Page 14: BDSM Desarrollo

5. Coste del hardware adicional: los requisitos de hardware para correr un SGBD por lo general son relativamente altos, por lo que estos equipos pueden llegar a costar gran cantidad de dinero.

MySQL: un SGBD de código abierto

MySQL es un sistema gestor de bases de datos que se puede encuadrar dentro de la categoría de los programas open-source.

Un programa open-source es aquuel cuyo código fuente está disponible para los usuarios y abierto a modificaciones. En el caso de que el programa open-source se pueda adquirir gratis, el usuario debe distribuir también gratis los cambios que pueda realizar, o los productos que pueda desarrollar basándose en el original. En caso contrario,, si el usuario desea hacer negocio con el producto, entonces debe adquirir la licencia comercial de pago. Mención aparte merecen las licencias de tipo GPL, que pueden consultarse en la pagina de copleft. Software de código abierto

De Wikipedia, la enciclopedia libre

Saltar a: navegación, búsqueda

El

Page 15: BDSM Desarrollo

El logo de la Open SourceInitiative.

Page 16: BDSM Desarrollo

El software de código abierto (en inglés open source software u OSS) es aquel software cuyo código fuente y otros derechos que normalmente son exclusivos para aquellas personas que poseen los derechos de autor, son publicados bajo una licencia de software compatible con la Open SourceDefinition o que forman parte del dominio público. Esto les permite a los usuarios utilizar, cambiar y mejorar el software, y redistribuirlo, ya sea en su forma modificada o en su forma no modificada. Es muy frecuentemente desarrollado de manera pública y en colaboración. El software de código abierto es el ejemplo más sobresaliente del desarrollo de código abierto y es a menudo comparado con el llamado "contenido generado por los usuarios".[1] El término "software de código abierto" surgió a partir de una campaña de mercadotecnia para el software libre.[2] Un informe del StandishGroup afirma que la incorporación de los modelos de software de código abierto ha resultado en ahorros de aproximadamente 60 mil millones de dólares por año a los consumidores.[3][4]

Productos SGBD disponibles en el mercado

SGBD libres

• PostgreSQL (http://www.postgresql.orgPostgresql) Licencia BSD PRIMERA DEFINICION DE WIKI: es un sistema de gestión de base de datos relacional orientada a objetos y libre, publicado bajo la licencia BSD .

• Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no es manejado por una empresa y/o persona, sino que es dirigido por una comunidad de desarrolladores que trabajan de forma desinteresada, altruista, libre y/o apoyados por organizaciones comerciales. Dicha comunidad es denominada el PGDG (PostgreSQL Global DevelopmentGroup).

SEGUNDA DEFINICION DE MONOGRAFIAS: PostgreSQL se diseño como una base de datos orientada a objetos, es decir, una ORDBMS. Esto significa, que las tablas no son tablas, sino objetos, y las tuplas son instancias de ese objeto. Puedes crear nuevos tipos de datos, hacer herencias entre objetos, PostgreSQL tiene transacciones, integridad referencial, vistas, y multitud de funcionalidades, pero es lento y pesado.

Han incorporado la llamada MVCC (multiversionconcurrency control) con lo que los bloqueos de escritura actúan sólo en la sesión del cliente, no en las de los demás clientes. También tiene soporte de Full-Text-indexing a través de un trigger incluido en la distribución, han arreglado el límite de 8k por fila. Por fin es de 32k, Postgres usa un modelo cliente-servidor conocido como proceso por usuario una sesión de postgres consiste en los siguientes procesos cooperativos de Unix (programas):

· Un proceso demonio supervisor (postmaster)

· La aplicación sobre la que trabaja el usuario (frontend, Ej.: psl)

· Uno o más servidores de base de datos en segundo plano(el mismo progreso postgres)

Page 17: BDSM Desarrollo
Page 18: BDSM Desarrollo

Un Único postmaster controla una colección de bases de datos dadas en un Único host, debido a esto una colección de base de datos se suele llamar una instalación o un sitio, las aplicaciones de frontend que quieren acceder a una determinada base de datos de una instalación hacen llamadas a la librería. La librería envía peticiones de usuario a través del postmaster (como se establece una conexión), el cual en respuesta inicia un nuevo proceso en el servidor (backend) y conecta el proceso de frontend al nuevo servidor. A partir de este punto, el proceso de frontend y el servidor en backend se comunican sin la intervención del postmaster. Aunque, el postmaster siempre se esta ejecutando, esperando peticiones, tanto de frontend como los de backend vienen y se van.

La librería libpq permite a un Único proceso en frontend realizar múltiples conexiones a procesos en backend. Aunque, la aplicación frontend todavía es un proceso en un Único thread. Conexiones multithread entre el frontend y el backend no están soportadas de momento en libpq. Una implicación de esta arquitectura es que el postmaster y el backend siempre se ejecutan en la misma maquina (el servidor de base de datos), mientras que la aplicación en frontend puede aplicarse desde cualquier sitio.

Al configurar un apache con PHP4 con soporte para PostgreSQL obtenemos algunos resultados importantes: Apache crea nuevas instancias cada vez que recibe nuevos clientes. Cada instancia de apache puede soportar varios clientes http (150 por defecto).

Pero el apache, para cada cliente que pide una página dinámica, que requiere un acceso a la base de datos, tiene que abrir conexión con el PostgreSQL. Al no ser Multithreading, el PostgreSQL crea una nueva instancia, siendo las consultas lentas y se acumulan rápidamente las instancias del postmaster. Llegando rápidamente al límite de procesos (32 por defecto) produciéndose un error en la página generada, podemos subir el límite de instancias de PostgreSQL a 1024.

Pero entonces nos falla el límite de los files handles abiertos (los threads comparten los files handles dentro un proceso, pero los procesos no), el límite de handles por usuario (el daemon del PostgreSQL, corre bajo el usuario postgresesta limitado en el kernel, con lo que tienes que recompilar el kernel.

Después te encuentras que falla el límite de semáforos del PostgreSQL, teniendo que recompilar el PostgreSQL. Además tienes que controlar los ficheros de configuración del apache para bajar el número de clientes atendidos por instancia y así controlar el número de instancias de PostgreSQL que se puedan generar debido a la gran cantidad de recursos que ocupan.

Firebird basada en la versión 6 de InterBase, InitialDeveloper's PUBLIC LICENSE Version 1.0. es un sistema de administración de base de datos relacional (o RDBMS) (Lenguaje consultas: SQL) de código abierto, basado en la versión 6 de Interbase, cuyo código fue liberado por Borland en 2000. Su código fue reescrito de C a C++. El proyecto se desarrolla activamente, el 18 de abril de 2008 fue liberada la versión 2.1 y el 26 de diciembre de 2009 fue liberada la versión 2.5.0 RC1. Los objetivos de la Fundación FirebirdSQL son:

• Apoyar y lograr el avance del manejador de base de datos relacional Firebird

Page 19: BDSM Desarrollo
Page 20: BDSM Desarrollo

• Proveer los mecanismos e infraestructura no comerciales para aceptar y administrar los fondos recaudados, e invertir tales fondos para promover el esfuerzo del desarrollo de esta base de datos

• Fomentar la cooperación y la afiliación de individuos, organizaciones sin fines de lucro y compañías comerciales involucradas o que estén planeando estar involucradas en el desarrollo, apoyo y promoción de los proyectos de software de Firebird y sus productos

y actividades asociadas. CARACTERISTICAS:

• Es multiplataforma, y actualmente puede ejecutarse en los sistemas operativos: Linux, HP-UX, FreeBSD, Mac OS, Solaris y Microsoft Windows.

• Ejecutable pequeño, con requerimientos de hardware bajos.

• Arquitectura Cliente/Servidor sobre protocolo TCP/IP y otros (embedded).

• Soporte de transacciones ACID y claves foráneas.

• Es medianamente escalable.

• Buena seguridad basada en usuarios/roles.

• Diferentes arquitecturas, entre ellas el Servidor Embebido1 (embedded server) que permite ejecutar aplicaciones monousuario en ordenadores sin instalar el software Firebird.

• Bases de datos de sólo lectura, para aplicaciones que corran desde dispositivos sin capacidad de escritura, como cd-roms.

• Existencia de controladores ODBC, OLEDB, JDBC, PHP, Perl, .net, etc.

• Requisitos de administración bajos, siendo considerada como una base de datos libre de mantenimiento, al margen de la realización de copias de seguridad.

• Pleno soporte del estándar SQL-92, tanto de sintaxis como de tipos de datos.

• Completo lenguaje para la escritura de disparadores y procedimientos almacenados denominado PSQL.

• Capacidad de almacenar elementos BLOB (BinaryLargeOBjects).

• Soporte de User-Defined Functions (UDFs).

• Versión autoejecutable, sin instalación, excelente para la creación de catálogos en CD-Rom y para crear versiones de evaluación de algunas aplicaciones. TIPOS DE SERVIDO:} Existen dos tipos de servidor Firebird para ser instalados: Classic y Super server. Si bien tienen varias diferencias menores entre sí, la principal consiste en que el super server maneja hilos de ejecución individuales para cada conexión. Por lo tanto para un número reducido de conexiones el recomendado sería el classic porque consumirá menor cantidad de recursos.

En caso de arquitecturas SMP, se debe utilizar el servidor classic porque el Supersever no tiene soporte para este tipo de arquitectura. Los propios desarrolladores de Firebird recomiendan lo siguiente a la hora de decidirse por uno de estos servidores:

Page 21: BDSM Desarrollo

• En plataformas Windows seleccionar el Superserver.

• En Linux simplemente elegir cualquiera, según las conexiones estimadas. En la mayoría de las situaciones no se notará diferencias en la ejecución.