Sistemas Gestores de Bases de Datos

22
1 Sistemas Gestores de Sistemas Gestores de Bases de Datos Bases de Datos MySQL vs MySQL vs PostgreSQL PostgreSQL Leyre Pérez Alba & Marta Leyre Pérez Alba & Marta Balbás Ostáriz Balbás Ostáriz

description

Sistemas Gestores de Bases de Datos. MySQL vs PostgreSQL Leyre Pérez Alba & Marta Balbás Ostáriz. Introducción MySQL Introducción PostgreSQL Seguridad MySQL vs PostgreSQL Integridad MySQL vs PostgreSQL Recuperación MySQL vs PostgreSQL Optimización MySQL vs PostgreSQL - PowerPoint PPT Presentation

Transcript of Sistemas Gestores de Bases de Datos

Page 1: Sistemas Gestores de Bases de Datos

11

Sistemas Gestores de Sistemas Gestores de Bases de DatosBases de Datos

MySQL vs MySQL vs PostgreSQLPostgreSQL

Leyre Pérez Alba & Marta Balbás Leyre Pérez Alba & Marta Balbás Ostáriz Ostáriz

Page 2: Sistemas Gestores de Bases de Datos

22

Sistemas Gestores de Sistemas Gestores de Bases de DatosBases de Datos

1.1. Introducción MySQLIntroducción MySQL

2.2. Introducción PostgreSQLIntroducción PostgreSQL

3.3. Seguridad MySQL vs PostgreSQLSeguridad MySQL vs PostgreSQL

4.4. Integridad MySQL vs PostgreSQLIntegridad MySQL vs PostgreSQL

5.5. Recuperación MySQL vs PostgreSQLRecuperación MySQL vs PostgreSQL

6.6. Optimización MySQL vs PostgreSQLOptimización MySQL vs PostgreSQL

7.7. Otras características a destacar MySQL y Otras características a destacar MySQL y PostgreSQLPostgreSQL

8.8. Demostración de utilización básica de MySQL Demostración de utilización básica de MySQL y PostgreSQLy PostgreSQL

9.9. Bibliografia MySQL y PostgreSQLBibliografia MySQL y PostgreSQL

Page 3: Sistemas Gestores de Bases de Datos

33

Introducción MySQL (I)Introducción MySQL (I)

Base de datos Relacional (SQL – lenguaje Base de datos Relacional (SQL – lenguaje declarativo).declarativo). - Como solución al lenguaje secuencial.- Como solución al lenguaje secuencial.

- Ventajas:- Ventajas:1.Búsquedas independientes de 1.Búsquedas independientes de la la representación de los datos.representación de los datos. 2.Facilidad de búsqueda y 2.Facilidad de búsqueda y

actualización. actualización.

Page 4: Sistemas Gestores de Bases de Datos

44

Introducción MySQL (II)Introducción MySQL (II)

mSQL Surgió sobre la década de los 90 con mSQL Surgió sobre la década de los 90 con el fin de conectar tablas usando sus propias el fin de conectar tablas usando sus propias rutinas de bajo nivel(ISAM).rutinas de bajo nivel(ISAM).

Sencilla aplicación -> Solución viable para Sencilla aplicación -> Solución viable para lala administración de administración de datos.datos.Ofrece 2 tipos de licencia:Ofrece 2 tipos de licencia: - GPL.- GPL. - Comercial.- Comercial.

- Basic -> 495.00/Server/Year.- Basic -> 495.00/Server/Year.- Silver ->1595.00/Server/Year.- Silver ->1595.00/Server/Year.

(servicio técnico)(servicio técnico)

Page 5: Sistemas Gestores de Bases de Datos

55

Sistemas Gestores de Sistemas Gestores de Bases de DatosBases de Datos

1.1. Introducción MySQLIntroducción MySQL

2.2. Introducción PostgreSQLIntroducción PostgreSQL

3.3. Seguridad MySQL vs PostgreSQLSeguridad MySQL vs PostgreSQL

4.4. Integridad MySQL vs PostgreSQLIntegridad MySQL vs PostgreSQL

5.5. Recuperación MySQL vs PostgreSQLRecuperación MySQL vs PostgreSQL

6.6. Optimización MySQL vs PostgreSQLOptimización MySQL vs PostgreSQL

7.7. Otras características a destacar MySQL y Otras características a destacar MySQL y PostgreSQLPostgreSQL

8.8. Demostración de utilización básica de MySQL Demostración de utilización básica de MySQL y PostgreSQLy PostgreSQL

9.9. Bibliografia MySQL y PostgreSQLBibliografia MySQL y PostgreSQL

Page 6: Sistemas Gestores de Bases de Datos

66

Introducción PostgreSQLIntroducción PostgreSQL

Objeto relacional (Clase,Herencia,Tipos y Objeto relacional (Clase,Herencia,Tipos y Funciones)Funciones) Arquitectura cliente/servidorArquitectura cliente/servidorPostgres (1986 Universidad de Berkeley)Postgres (1986 Universidad de Berkeley)Postgres95 (Jolly Chen y Andrew Yu) Postgres95 (Jolly Chen y Andrew Yu) PostregreSQLPostregreSQLLicencia BSDLicencia BSD

Page 7: Sistemas Gestores de Bases de Datos

77

Sistemas Gestores de Sistemas Gestores de Bases de DatosBases de Datos

1.1. Introducción MySQLIntroducción MySQL

2.2. Introducción PostgreSQLIntroducción PostgreSQL

3.3. Seguridad MySQL vs PostgreSQLSeguridad MySQL vs PostgreSQL

4.4. Integridad MySQL vs PostgreSQLIntegridad MySQL vs PostgreSQL

5.5. Recuperación MySQL vs PostgreSQLRecuperación MySQL vs PostgreSQL

6.6. Optimización MySQL vs PostgreSQLOptimización MySQL vs PostgreSQL

7.7. Otras características a destacar MySQL y Otras características a destacar MySQL y PostgreSQLPostgreSQL

8.8. Demostración de utilización básica de MySQL Demostración de utilización básica de MySQL y PostgreSQLy PostgreSQL

9.9. Bibliografia MySQL y PostgreSQLBibliografia MySQL y PostgreSQL

Page 8: Sistemas Gestores de Bases de Datos

88

SeguridadSeguridad

MySQL MySQL Sistema de contraseñas y Sistema de contraseñas y

privilegios muy flexible y privilegios muy flexible y seguro seguro – Passwords encriptados.Passwords encriptados.– Listas de control de Listas de control de

acceso.acceso.– Verificación por host.Verificación por host.

Se pueden asignar permisos:Se pueden asignar permisos: 1.Por usuario.1.Por usuario. 2.Por servidor.2.Por servidor. 3.Por objeto.3.Por objeto.

Muy completo el control de Muy completo el control de acceso por objeto.acceso por objeto.

Soporte nativo del SSLSoporte nativo del SSL

PostgreSQLPostgreSQL Sistema de cuentasSistema de cuentas

– Control de acceso Control de acceso obligatorioobligatorio

– Lista de usuariosLista de usuarios– Usuarios y GruposUsuarios y Grupos

Superusuario (ficheros Superusuario (ficheros protegidos contra protegidos contra escritura)escritura)

Asignacion de permisosAsignacion de permisos– Por UsuarioPor Usuario– Por servidorPor servidor

Soporte nativo del SSLSoporte nativo del SSL

Page 9: Sistemas Gestores de Bases de Datos

99

Sistemas Gestores de Sistemas Gestores de Bases de DatosBases de Datos

1.1. Introducción MySQLIntroducción MySQL

2.2. Introducción PostgreSQLIntroducción PostgreSQL

3.3. Seguridad MySQL vs PostgreSQLSeguridad MySQL vs PostgreSQL

4.4. Integridad MySQL vs PostgreSQLIntegridad MySQL vs PostgreSQL

5.5. Recuperación MySQL vs PostgreSQLRecuperación MySQL vs PostgreSQL

6.6. Optimización MySQL vs PostgreSQLOptimización MySQL vs PostgreSQL

7.7. Otras características a destacar MySQL y Otras características a destacar MySQL y PostgreSQLPostgreSQL

8.8. Demostración de utilización básica de MySQL Demostración de utilización básica de MySQL y PostgreSQLy PostgreSQL

9.9. Bibliografia MySQL y PostgreSQLBibliografia MySQL y PostgreSQL

Page 10: Sistemas Gestores de Bases de Datos

1010

IntegridadIntegridad

MySQL MySQL Integridad transaccional. ACID.Integridad transaccional. ACID. Integridad referencial Integridad referencial

(InnoDB).(InnoDB).– borrado y modificación en borrado y modificación en

cascada.cascada. Opción de utilizar las tablas Opción de utilizar las tablas

MyISAM.MyISAM. Control de Concurrencia por Control de Concurrencia por

Bloqueos:Bloqueos:– por tabla (MyISAM). Selects por tabla (MyISAM). Selects

sin bloqueo.sin bloqueo.– por página (BDB).por página (BDB).– por fila (InnoDB).por fila (InnoDB).

PostgreSQLPostgreSQL Integridad transaccional ACIDIntegridad transaccional ACID Integridad referencialIntegridad referencial

– Borrado en CascadaBorrado en Cascada– Modificado en CascadaModificado en Cascada– Claves ExtranjerasClaves Extranjeras

Completo soporte para Completo soporte para transaccionestransacciones

Control de ConcurrenciaControl de Concurrencia– Bloqueos por tablas Bloqueos por tablas – Bloqueos por filasBloqueos por filas– Modelo multiversiónModelo multiversión

Page 11: Sistemas Gestores de Bases de Datos

1111

Sistemas Gestores de Sistemas Gestores de Bases de DatosBases de Datos

1.1. Introducción MySQLIntroducción MySQL

2.2. Introducción PostgreSQLIntroducción PostgreSQL

3.3. Seguridad MySQL vs PostgreSQLSeguridad MySQL vs PostgreSQL

4.4. Integridad MySQL vs PostgreSQLIntegridad MySQL vs PostgreSQL

5.5. Recuperación MySQL vs PostgreSQLRecuperación MySQL vs PostgreSQL

6.6. Optimización MySQL vs PostgreSQLOptimización MySQL vs PostgreSQL

7.7. Otras características a destacar MySQL y Otras características a destacar MySQL y PostgreSQLPostgreSQL

8.8. Demostración de utilización básica de MySQL Demostración de utilización básica de MySQL y PostgreSQLy PostgreSQL

9.9. Bibliografia MySQL y PostgreSQLBibliografia MySQL y PostgreSQL

Page 12: Sistemas Gestores de Bases de Datos

1212

RecuperaciónRecuperación

MySQL MySQL Automática ante fallos Automática ante fallos

(InnoDB).(InnoDB). Replicación síncrona de Replicación síncrona de

información.información. Replicación multi-hilo Replicación multi-hilo

( modo maestro-esclavo(s)).( modo maestro-esclavo(s)).

- Binary-Log. - Binary-Log.

- Le permite soportar gran - Le permite soportar gran cantidad de carga. cantidad de carga.

Agilizada por los índicesAgilizada por los índices..

PostgreSQPostgreSQLL

Write Ahead Logging (WAL) Write Ahead Logging (WAL) – Restaurar datos Restaurar datos

después de las caidasdespués de las caidas

Replicación AsincronaReplicación Asincrona– Master multi-slaveMaster multi-slave

Page 13: Sistemas Gestores de Bases de Datos

1313

Sistemas Gestores de Sistemas Gestores de Bases de DatosBases de Datos

1.1. Introducción MySQLIntroducción MySQL

2.2. Introducción PostgreSQLIntroducción PostgreSQL

3.3. Seguridad MySQL vs PostgreSQLSeguridad MySQL vs PostgreSQL

4.4. Integridad MySQL vs PostgreSQLIntegridad MySQL vs PostgreSQL

5.5. Recuperación MySQL vs PostgreSQLRecuperación MySQL vs PostgreSQL

6.6. Optimización MySQL vs PostgreSQLOptimización MySQL vs PostgreSQL

7.7. Otras características a destacar MySQL y Otras características a destacar MySQL y PostgreSQLPostgreSQL

8.8. Demostración de utilización básica de MySQL Demostración de utilización básica de MySQL y PostgreSQLy PostgreSQL

9.9. Bibliografia MySQL y PostgreSQLBibliografia MySQL y PostgreSQL

Page 14: Sistemas Gestores de Bases de Datos

1414

OptimizaciónOptimización

MySQL MySQL Uso de índices. (debilidad).Uso de índices. (debilidad). Caché de consultas.Caché de consultas. Uniones.Uniones.

PostgreSPostgreSQLQL

Utiliza IndicesUtiliza Indices ExplainExplain Query plannerQuery planner Tiene sentencias para Tiene sentencias para

realizar uniones Uniones realizar uniones Uniones

Page 15: Sistemas Gestores de Bases de Datos

1515

Sistemas Gestores de Sistemas Gestores de Bases de DatosBases de Datos

1.1. Introducción MySQLIntroducción MySQL

2.2. Introducción PostgreSQLIntroducción PostgreSQL

3.3. Seguridad MySQL vs PostgreSQLSeguridad MySQL vs PostgreSQL

4.4. Integridad MySQL vs PostgreSQLIntegridad MySQL vs PostgreSQL

5.5. Recuperación MySQL vs PostgreSQLRecuperación MySQL vs PostgreSQL

6.6. Optimización MySQL vs PostgreSQLOptimización MySQL vs PostgreSQL

7.7. Otras características a destacar MySQL y Otras características a destacar MySQL y PostgreSQLPostgreSQL

8.8. Demostración de utilización básica de MySQL Demostración de utilización básica de MySQL y PostgreSQLy PostgreSQL

9.9. Bibliografia MySQL y PostgreSQLBibliografia MySQL y PostgreSQL

Page 16: Sistemas Gestores de Bases de Datos

1616

Otras características a Otras características a destacar (I)destacar (I)MySQL MySQL Velocidad, Robustez, Velocidad, Robustez,

Estabilidad, y Facilidad de Estabilidad, y Facilidad de uso.uso.

Gran Escalabilidad.Gran Escalabilidad. Multiproceso.Multiproceso. Puede trabajar en distintas Puede trabajar en distintas

plataformas y en distintos plataformas y en distintos S.O .S.O .

Soporta muchos lenguajes de Soporta muchos lenguajes de programación.programación.

Posibilidad de conexión Posibilidad de conexión ODBC.ODBC.

SubconsultasSubconsultas Soporte de vistas (lectura y Soporte de vistas (lectura y

actualizables).actualizables).

PostgreSQLPostgreSQL

Uso de actualización de Uso de actualización de vistasvistas

Reglas y funcionesReglas y funciones Escalabilidad Escalabilidad Sistema de seguridad para Sistema de seguridad para

el catalogoel catalogo Interfaces nativas para:Interfaces nativas para:

– ODBC,JDBC,C,C++,PHP, ODBC,JDBC,C,C++,PHP, Perl, TCL,ECPG,Python Perl, TCL,ECPG,Python y Rubyy Ruby

Triggers más sofisticadosTriggers más sofisticados UnicodeUnicode SubconsultasSubconsultas HerenciaHerencia

Page 17: Sistemas Gestores de Bases de Datos

1717

Otras características a Otras características a destacar (II)destacar (II)

MySQL MySQL Dispone de API`s en gran Dispone de API`s en gran

cantidad de cantidad de lenguajes(C,C+lenguajes(C,C++,Java,PHP,etc.).+,Java,PHP,etc.).

Gran portabilidad entre Gran portabilidad entre sistemas.sistemas.

Arquitectura basada en Arquitectura basada en módulos.módulos.

Triggers rudimentariosTriggers rudimentarios

PostgreSQLPostgreSQL Transaciones AnidadasTransaciones Anidadas Un API abiertaUn API abierta Procedimientos Procedimientos

AlmacenadosAlmacenados Lenguajes proceduralesLenguajes procedurales Respaldo en calienteRespaldo en caliente Extensiones para Extensiones para

MD5,XML y otras MD5,XML y otras funcionalidadesfuncionalidades

Page 18: Sistemas Gestores de Bases de Datos

1818

Limites de las Bases de Limites de las Bases de DatosDatos

MySQL PostgreSQL

Tamaño máximo de la base de datos

Ilimitado Ilimitado

Tamaño máximo de un campo

Ilimitado Ilimitado

Cantidad máxima de registros

Ilimitado Ilimitado

Cantidad máxima de columnas en una tabla

3398 1600

Cantidad máxima de índices en una tabla

Ilimitado Ilimitado

Page 19: Sistemas Gestores de Bases de Datos

1919

Sistemas Gestores de Sistemas Gestores de Bases de DatosBases de Datos

1.1. Introducción MySQLIntroducción MySQL

2.2. Introducción PostgreSQLIntroducción PostgreSQL

3.3. Seguridad MySQL vs PostgreSQLSeguridad MySQL vs PostgreSQL

4.4. Integridad MySQL vs PostgreSQLIntegridad MySQL vs PostgreSQL

5.5. Recuperación MySQL vs PostgreSQLRecuperación MySQL vs PostgreSQL

6.6. Optimización MySQL vs PostgreSQLOptimización MySQL vs PostgreSQL

7.7. Otras características a destacar MySQL y Otras características a destacar MySQL y PostgreSQLPostgreSQL

8.8. Demostración de utilización básica de MySQL Demostración de utilización básica de MySQL y PostgreSQLy PostgreSQL

9.9. Bibliografia MySQL y PostgreSQLBibliografia MySQL y PostgreSQL

Page 20: Sistemas Gestores de Bases de Datos

2020

Sistemas Gestores de Sistemas Gestores de Bases de DatosBases de Datos

1.1. Introducción MySQLIntroducción MySQL

2.2. Introducción PostgreSQLIntroducción PostgreSQL

3.3. Seguridad MySQL vs PostgreSQLSeguridad MySQL vs PostgreSQL

4.4. Integridad MySQL vs PostgreSQLIntegridad MySQL vs PostgreSQL

5.5. Recuperación MySQL vs PostgreSQLRecuperación MySQL vs PostgreSQL

6.6. Optimización MySQL vs PostgreSQLOptimización MySQL vs PostgreSQL

7.7. Otras características a destacar MySQL y Otras características a destacar MySQL y PostgreSQLPostgreSQL

8.8. Demostración de utilización básica de MySQL Demostración de utilización básica de MySQL y PostgreSQLy PostgreSQL

9.9. Bibliografia MySQL y PostgreSQLBibliografia MySQL y PostgreSQL

Page 21: Sistemas Gestores de Bases de Datos

2121

MySQLMySQL

http://www.mysql.com página oficial.http://www.mysql.com página oficial. http://www.mysql-hispano.org página de MySQL castellano.http://www.mysql-hispano.org página de MySQL castellano. http://www.programacion.com/bbdd/articuloshttp://www.programacion.com/bbdd/articulos http://linux.bankhacker.com/software/MySQLhttp://linux.bankhacker.com/software/MySQL Otras.Otras.

Page 22: Sistemas Gestores de Bases de Datos

2222

PostgreSQLPostgreSQL

httphttp://://www.postgresql.orgwww.postgresql.org// pagina oficial pagina oficial http://www.postgresql.cl/ pagina de Postgres en http://www.postgresql.cl/ pagina de Postgres en

españolespañol http://www.commandprompt.com/ppbook/ libro http://www.commandprompt.com/ppbook/ libro

practico de PostgreSQLpractico de PostgreSQL http://es.tldp.org/Postgresql-es/web/navegable/http://es.tldp.org/Postgresql-es/web/navegable/

programmer/programmer.html guia del programadorprogrammer/programmer.html guia del programador http://www.fpress.com/revista/Num0405/Art.htm http://www.fpress.com/revista/Num0405/Art.htm

Ayuda para la instalaciónAyuda para la instalación http://www.nextec.com.ar/postgres/caracteristicas.htmhttp://www.nextec.com.ar/postgres/caracteristicas.htm http://www.fedora-es.com/node/126 http://www.fedora-es.com/node/126