Cursos de PostgreSQL

2,287 views
2,146 views

Published on

1 Comment
2 Likes
Statistics
Notes
No Downloads
Views
Total views
2,287
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
81
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

Cursos de PostgreSQL

  1. 1. Cursos de PostgreSQL 9.x1 www.emacs.com.ve
  2. 2. Agenda Porque PostgreSQL? PostgreSQL vs Oracle Porque PostgreSQL y no MSSQL Evaluando capacidad Pasos para migrar a PostgreSQL Temas de Nivel 1 Temas de Nivel 2 Recomendaciones2 Software Libre a tu alcance!
  3. 3. PostgreSQL es uno de los motores de bases de datos OpenSource más robustos del mercado. Sus principales características: seguridad, robustez, escalabilidad y alta disponibilidad ofrecen una solución de excelencia y funcionalidad en diferentes plataformas, Windows, Linux y Unix. Además de brindar múltiples elementos que permiten administrar la información de una aplicación robusta, PostgreSQL ofrece la posibilidad de programar en forma modular, clara y eficiente a través de varios lenguajes de programación como lo son:3 Software Libre a tu alcance! PL/pgSQL, PL/perl, PL/python.
  4. 4. ¿Por qué PostgreSQL? Instalación ilimitada Ahorros considerables en costos de operación Mejor soporte que los proveedores comerciales Estabilidad y confiabilidad legendarias Extensible Multiplataforma Diseñado para ambientes de alto volumen4 Software Libre a tu alcance!
  5. 5. Porque PostgreSQL?5 Software Libre a tu alcance!
  6. 6. Por que PostgreSQL?6 Software Libre a tu alcance!
  7. 7. Porque PostgreSQL?7 Software Libre a tu alcance!
  8. 8. Psql vs Isql8 Software Libre a tu alcance!
  9. 9. Porque PostgreSQL? La herencia de tablas permite aplicar el analisis y diseño orientado a objetivos (ADOO) y evitaria la necesidad de implementar Mapeo Objeto- Relacional (ORM). Por ejemplo propel o doctrine para PHP. create table persona ( nombre varchar (30), direccion varchar (30) ); create table estudiante ( carrera varchar(50), grupo char, grado int inherits ( persona ) );9 Software Libre a tu alcance!
  10. 10. PostgreSQL vs Oracle PostgreSQL tiene 5 lenguajes procedurales a diferencia de oracle que solo tiene 1 En postgreSQL es posible desarrollar tus propios tipos de datos, mientras que en oracle no. La herramientas de configuración de oracle son tal ves las mejores en el mercado. PostgreSQL (licencia BSD), Oracle (licencia comercial – oracle) . Oracle tiene muchos más parametros de configuración que postgre, sin embargo muchos de ellos son solo conocidos por la misma gente de oracle que manipulan solo si se recibe el soporte oficial de oracle. Oracle soporta consultas en paralelo cosa que postgre aun ho ha implementado10 Software Libre a tu alcance!
  11. 11. Porque PostgreSQL y no Microsoft SQL? Instalación ilimitada Ahorros considerables en costos de operación Mejor soporte que los proveedores comerciales Estabilidad y confiabilidad legendarias Extensible Multiplataforma Diseñado para ambientes de alto volumen11 Software Libre a tu alcance!
  12. 12. Evaluando la capacidad CARACTERISTIC MSSQL POSTGRESQL A 2005/2008 v8/v9 Máximo de base de 524.272 TB ILIMITADO* datos Máximo de tamaño 16 TB 32TB de tabla Máximo de tamaño 2 TB 1.6TB de registro Máximo de tamaño 2Gb 1GB de campo Máximo de registros ILIMITADO* ILIMITADO* por Tabla Máximo de campos 1000 250 a 1600 por tabla Máximo de índices 999 ILIMITADO* por tabla *Limitado por el espacio de almacenamiento disponible12 Software Libre a tu alcance!
  13. 13. Pasos para migrar a PostgreSQL Conocer la estructura de bases de datos (Entidad – Relacion) Manejar las similitudes o diferencias de tipos de datos Realizar volcado de MS-SQL Reconfigurar tablas, vistas y tipos de datos con postgreSQL. Reescribir funciones Transact-SQL a PL/pgSQL13 Software Libre a tu alcance!
  14. 14. Administrador PostgreSQLNivel 114 www.emacs.com.ve
  15. 15. Temas Nivel 1 Introducción a PostgreSQL Base de datos relacionales Instalación y primeros pasos Creación y manipulación de tablas Manejo de datos y consultas simples Consultas multitablas y resumen Subconsultas Vistas y cursores Programación PL/pgSQL15 Software Libre a tu alcance!
  16. 16. Introducción a PostgreSQL16 Software Libre a tu alcance!
  17. 17. Base de datos relacionales17 Software Libre a tu alcance!
  18. 18. Instalación y primeros pasos18 Software Libre a tu alcance!
  19. 19. Creación y manipulacion de tablas Crear y modificar tablas ( Alter table ..) herencia y OIDs Restricciones ( Add Contrainst) Indexación ( Create Index) Consultas (Select .. From..) Operadores, fechas, horas, Arrays y BLOB19 Software Libre a tu alcance!
  20. 20. Manejo de datos y consultas simples Sentencias INSERT, UPDATE, DELETE, DEFAULT. Consultas Select, From, Order By, Distinct, Top where. Condicionales ( Where ) Funciones PostgreSQL ( upper, lower ..)20 Software Libre a tu alcance!
  21. 21. Consultas multitablas y resumen21 Software Libre a tu alcance!
  22. 22. Subconsultas Ejemplo de subconsultas SELECT numemp, nombre SELECT numemp, nombre FROM empleados FROM empleados WHERE numemp ==(SELECT rep FROM pedidos WHERE clie == WHERE numemp (SELECT rep FROM pedidos WHERE clie (SELECT numclie (SELECT numclie FROM clientes WHERE nombre ==Julia Antequera)) FROM clientes WHERE nombre Julia Antequera))22 Software Libre a tu alcance!
  23. 23. Vistas y cursores Sentencia Create View... Sentencia Open .. For ... declare cur1 refcursor; v_1 varchar (10) ; v_2 varchar (10) ; begin OPEN cur1 FOR execute(select * from mitabla); loop fetch cur1 into v_1, v_2; if not found then exit ; end if; RAISE NOTICE Valor 1(%), v_1; RAISE NOTICE Valor 2(%), v_2; end loop; close cur1; end;23 Software Libre a tu alcance!
  24. 24. Programación PL/pgSQL Oracle vs PostgreSQL PL/SQL PL/pgSQL PL/Perl PL/Java PL/Ruby PL/Python create language plpgsql;24 Software Libre a tu alcance!
  25. 25. Administrador PostgreSQLNivel 225 www.emacs.com.ve
  26. 26. Temas Nivel 2 Arquitectura de PostgreSQL Instalación Personalizada Tareas de Administración de PostgreSQL Monitorizacion Seguridad Optimización de consultas Concurrencia: Transacciones y bloqueos Rol del administrador de bases de datos - Duración 10 minutos -26 Software Libre a tu alcance!
  27. 27. Arquitectura de PostgreSQL MSSQL PGSQL Proceso 1 Proceso 2 Proceso 3 ProcesoSubproceso Subproceso Subproceso Postgres Postgres Postgres Memory Pool27 Software Libre a tu alcance!
  28. 28. Instalación personalizada Compilación (configure, make, make install) Cluster de PostgreSQL (initdb) Servicio Postmaster, pg_ctl Configuracion del archivo postgresql.conf Listen_address Port28 Software Libre a tu alcance!
  29. 29. Entonación Escritura anticipada del registro, Write-Ahead Logging (WAL). pg_xlog Memoria Compartida - Shared Buffer SHMMAX SHMALL Almacenamiento en Disco Bloque de discos Reindex Vacuum /etc/fstab29 Software Libre a tu alcance!
  30. 30. Tareas de administración dePostgreSQL Copias de seguridad Volcado SQL pg_dump pg_dumpall Vacuum Desde SO Desde SQL Problema del XID Reindex30 Software Libre a tu alcance!
  31. 31. Monitorización Tipos de monitorización Ad-Hoc Preventiva Uso de los discos Sistema Linux Funciones para bases de datos Tablas del sistema Parametros para estadisticas log_parser_stat log_planner_stat31 Software Libre a tu alcance!
  32. 32. Seguridad Gestion de usuarios y privilegios Create user Drop user Alter user Alter group Privilegios Grant Revoke Protocolo SSL32 Software Libre a tu alcance!
  33. 33. Optimización de consultas Ejecución de consultas. Comando explain. Metodos de busqueda. SeqScan IndexScan Sistema de Sistema de NestedLoop SQL Parser Parser Reestritura Reestritura Optimizador Optimizador Ejecutor Ejecutor MergeJoin HashJoin Nodos del plan de consulta. Optimización heuristica. Sistema GECO. Indices y particionamiento de tablas.33 Software Libre a tu alcance!
  34. 34. Concurrencia: transacciones ybloqueos Técnica de control de concurrencia multiversion (MVCC) Reglas ACID CARACTERISTI MSSQL POSTGRESQL CA (A)TOMICY begin,end,rollback, begin,end,rollback, savepoint savepoint (C)ONSISTENCY Check, primary key, Not null, check, foreing key, unique. unique, primary key match, partial (I)SOLATION Block table MVCC (D)URABILITY Transaction Log WAL (write Ahead Log)34 Software Libre a tu alcance!
  35. 35. Concurrencia: transacciones ybloqueos Atomicidad: asegura que la operación se ha realizad sea completada con exito sin quedar a medias. Consistencia: aplicación de reglas y directrices de integridad de la base de datos. Aislamiento: asegura que dos transacciones sobre la misma información nunca generará ningún tipo de error. Durabilidad: asegura no se podrá deshacer una operación aunque falle el sistema.35 Software Libre a tu alcance!
  36. 36. Manejo de ConcurrenciaEN RESUMEN Con MVCC cada usuario obtiene una visión consistente de lo último a lo que se le hizo commit. Esta estrategia es superior al uso de bloqueos por tabla o por filas común en otras bases, eliminando la necesidad del uso de bloqueos explícitos36 Software Libre a tu alcance!
  37. 37. Recomendaciones (I) 1ero. Conocer la estructura de bases de datos E/R para luego realizar la exportación del script de toda la Base de datos sin relaciones 2do. Con el script se realiza las conversiones necesarias en tipos de datos IDENTITY, DATETIME,VARCHAR. 3ero. Bajar la data del SGBD anterior a texto plano, tipo csv, es decir valores separados por comas. 4do. Usar el comando COPY.. FROM de PGSSQL para cargar a data desde los arhivos de texto a las37tablas de PGSQL. Software Libre a tu alcance!
  38. 38. Recomendaciones (II) 5to. Con todas las tablas y datos se pueden reconstruir las realaciones con herramientas como pgdesiner o dbvisualizer. 6to. Para los store prucedures será necesario sobrescribir la sintaxis de los procedimientos almacenados anteriores a a PL/pgSQL 7to. Realizar los ajustes o entonación del SGBD PostgreSQL para obtener un mejor rendimiento asi como la seguridad sobre los objetos de bases de datos.38 Software Libre a tu alcance!
  39. 39. Más Información Lic. Simón Castellanos Gerente de Operaciones Para mayor informacion puede escribirnos a emacs.computacion@gmail.com o llamar al 0416-821-06-90 / 0212-576-02-91 o visitarnos a:Av. Universidad, Edificio Centro de Parque Carabobo, Torre A, Piso 8 Oficina 812. Frente a la Estacion del Metro Parque Carabobo. Caracas - Venezuela.39 Software Libre a tu alcance!

×