maestría en bioinformática bases de datos y sistemas de información bases de datos ing. alfonso...

32
Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP [email protected]

Upload: dunne

Post on 25-Feb-2016

49 views

Category:

Documents


3 download

DESCRIPTION

Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP [email protected]. Agenda. Base de datos DBMS Tipos de DBMSs RDBMSs. Conceptos Historia Motivación. Agenda. Breve historia de la disciplina. Conceptos Historia - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy

Maestría en Bioinformática

Bases de Datos y Sistemas de Información

Bases de Datos

Ing. Alfonso Vicente, [email protected]

Page 2: Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy

Agenda

• Base de datos• DBMS• Tipos de DBMSs• RDBMSs

ConceptosHistoria

Motivación

Page 3: Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy

Agenda

• Breve historia de la disciplinaConceptosHistoria

Motivación

Page 4: Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy

Agenda

• Problemas• Beneficios de usar un RDBMS• Cuándo no usar un RDBMS

ConceptosHistoria

Motivación

Page 5: Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy

Agenda

• Base de datos• DBMS• Tipos de DBMSs• RDBMSs

ConceptosHistoria

Motivación

Page 6: Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy

Conceptos

Base de datos

Un conjunto de datos relacionados entre sí y que tienen un significado implícito.

Elmasri-Navathe

base. ~ de datos.1. f. Inform. Conjunto de datos organizado de tal modo que permita obtener con rapidez diversos tipos de información.

Diccionario de la Real Academia Española

Una colección de datos usualmente grande organizada especialmente para una rápida búsqueda y recuperación (como por una computadora)

Merriam-Webster

Page 7: Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy

Conceptos

Base de datos

Guía telefónica

Fichas de biblioteca

Page 8: Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy

Conceptos

DBMS

Siglas de DataBase Management System

Software especializadoen la gestión de Bases de Datos

Diseñado para manejarde forma eficiente grandesvolúmenes de datos

Page 9: Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy

Conceptos

Tipos de DBMSs

• Orientado a archivos

Page 10: Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy

Conceptos

Tipos de DBMSs

• Jerárquico

Page 11: Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy

Conceptos

Tipos de DBMSs

• Jerárquico

Page 12: Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy

Conceptos

Tipos de DBMSs

• De Red

Page 13: Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy

Conceptos

Tipos de DBMSs

• Relacional

Page 14: Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy

Conceptos

Tipos de DBMSs

• Relacional (Concepto de transacción y reglas ACID)

• Transacción: Unidad de trabajo que encapsula varias operaciones sobre una base de datos

• Atomicity: Una transacción es atómica (todo o nada)• Consistency: Toda transacción deja a la base en un estado

consistente (constraints)• Isolation: Ninguna transacción intefiere con otra... aunque

hay niveles aceptables (isolation levels)• Durability: Toda transacción exitosa persiste aún ante

caídas (no data-loss)

Page 15: Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy

Conceptos

Tipos de DBMSs

• Orientado a objetos

Page 16: Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy

Conceptos

Tipos de DBMSs

• Objeto/Relacional

Su existencia se justifica porel éxito de la POO y de losDBMSs relacionales

Los OODBMSs y ORDBMSsno tienen demasiado éxito enla industria, es más común elmodelo RDBMS + ORM

Page 17: Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy

Conceptos

Tipos de DBMSs

• NoSQL, NoREL, NewSQL, BigData, Sistemas K-V

Memcached, MapReduce, BigTable (Google), Cassandra (Facebook), Dynamo (Amazon), MongoDB, NuoDB, VoltDB (Stonebraker) ...muchos más: http://nosql-database.org

Surgen por la motivación de escalar bien manejando grandes volúmenes (petabytes) de información, utilizando para ello clusters con muchos hosts... pero no son ACIDo The Google File Systemo MapReduce: Simplified Data Processing on Large Clusterso Bigtable: A Distributed Storage System for Structured Data

Page 18: Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy

Conceptos

ACID vs BASE

• La escalabilidad de nuevas tendencias mejora la disponibilidad y la performance, pero no es gratis: ¿podemos a perder la C y la I de ACID?

BASE es:Basically AvailableSoft-StateEventual Consistency

Ejemplo: actualizaciones de estado en Facebook

Page 19: Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy

Conceptos

Teorema CAP (Consistency - Availability - Partition tolerance)

Page 20: Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy

Conceptos

Teorema CAP en la práctica

• CA (Consistency & Availability, no Partition tolerance)• CP (Consistency & Partition tolerance, no Availability)

Son el mismo caso, cuando en un sistema CA hay un particionamiento en la red se pierde la A, y un sistema CP sólo pierde la A cuando hay un particionamiento en la red. Es el caso más común, se prioriza la consistencia

• AP (Availability & Partition tolerance, no Consistency)

Se prioriza la disponibilidad, y se tolera la "consistencia eventual": Facebook, Twitter, DNS

Page 21: Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy

Conceptos

RDBMSs

• Siguen vigentes debido a:o Su madurez y su amplia adopción en la industriao Su posibilidad de respetar las reglas ACID (cuando

debemos priorizar la consistencia, queremos un sistema ACID y no BASE)

o La madurez de las soluciones ORM (y a que los OODBMSs y ORDBMSs no prendieron en la industria)

o Su soporte a nuevas necesidades (XML, datos geográficos, alta disponibilidad)

• Esto podría cambiar en los próximos 25 años: http://cs-www.cs.yale.edu/homes/dna/papers/vldb07hstore.pdf

Page 22: Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy

Agenda

• Breve historia de la disciplinaConceptosHistoria

Motivación

Page 23: Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy

Historia

Teoría, tecnología, lenguaje y disciplina han evolucionado juntas:

• Teoría: Modelos, reglas, isolation levels

• Tecnología: Implementaciones reales, mercado, mecanismos de locking

• Lenguaje: SQL, APIs (ODBC/JDBC/SQLJ/DBI), XQuery

• Disciplina: MER, normalización, patrones

Page 24: Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy

Historia

Edgar Codd (1923 - 2003)

Es el Codd de la forma normal de Boyce-Codd, y del Teorema de Codd ("el poder expresivo del AR es igual al de las consultas seguras del CR")

1970: A Relational Model of Data for Large Shared Data Banks

1979: Extending the Database Relational Model to Capture More Meaning

1985: Las 12 reglas de Codd

Page 25: Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy

Historia

Michael Stonebraker (1943)

40 años demostrando cómo implementar DBMSs:

• Ingres (1973)• Postgres (1985)• Illustra (1997, Informix, IBM)• Mariposa / Cohera (2001, Peoplesoft,

Oracle)• Aurora / Streambase (2003)• C-Store / Vertica (2005)• Morpheus / Goby (2006)• H-Store / VoltDB (2007)• Sci-DB (2008)

Page 26: Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy

Historia

Donald Chamberlin (1944) y Raymond Boyce (1947–1974)

Lenguaje declarativo basado en álgebra / cálculo relacional

• 1974: SEQUEL: A Structured English Query Language

• 80’s: SQL es un estándar de facto

• 1986: Estándar ANSI

• 1987: Ratificado por ISO

• Compliance: ANSI/ISO SQL:92, SQL:1999, SQL:2003, SQL:2006, SQL:2008

• Dialectos, extensiones procedurales, XQuery

Page 27: Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy

Historia

Peter Chen (?)

Inicia el "modelado conceptual" 1976.

The Entity-Relationship Model--Toward a Unified View of Data

2002. Entity-Relationship Modeling--Historical Events, Future Trends, and Lessons Learned

Page 28: Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy

Agenda

• Problemas• Beneficios de usar un RDBMS• Cuándo no usar un RDBMS

ConceptosHistoria

Motivación

Page 29: Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy

Motivación

Problemas

Imaginemos un SI de un banco que necesita:

• Restricciones de integridad (movimientos de una cuenta)

• Consistencia de transacciones (transferencia)

• Fácil acceso a los datos (reporte de saldos)

• Seguridad en el acceso a los datos (permisos, auditoría)

• Alta disponibilidad

• Recuperabilidad

Page 30: Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy

Motivación

Beneficios de usar un RDBMS

• Tipado de datos, NOT NULL, Primary Keys, Foreign Keys, Checks

• Soporte de transacciones ACID (commit, rollback), control de concurrencia (mecanismos de locking)

• Lenguaje SQL, APIS como ODBC y JDBC

• Mecanismo estándar de autorización

• Log transaccional: Crash Recovery, Point-In-Time Recovery

• Soluciones de alta disponibilidad (clusters, hot-standby)

Page 31: Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy

Motivación

Cuándo no usar un RDBMS, respuestas clásicas:

• Inversión en hardware y software- Hay RDBMSs gratuitos con un footprint muy bajo

• Inversión en capacitación técnica- La alternativa no la necesita ?

• Costo de administración del DBMS- Depende de la complejidad del desarrollo, podría funcionar totalmente desatend

• Overhead (permisos, control de concurrencia)- En un SI simple y monousuario puede utilizar una planilla

Page 32: Maestría en Bioinformática Bases de Datos y Sistemas de Información Bases de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy

Motivación

Cuándo no usar un RDBMS, mejores respuestas:

• Sistema muy simple, monousuario, no mantiene datos

• Sistema documental, de expedientes: hay alternativas especializadas

• Gran volumen de datos (petabytes) y necesidad de performance extrema: hay alternativas especializadas (BigData), pero aún es una opción a evaluar