Download Postgres: La Base de Datos Empresarial de Software Libre
Document related concepts
Transcript
Postgres: La Base de Datos Empresarial de Software Libre Jaime Casanova 13 de noviembre de 2010 Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre ¿Quién soy yo? Permítanme presentarme Miembro de la comunidad de PostgreSQL desde el 2004 Contacto Regional de PostgreSQL para el Ecuador Beta-tester Revisor de parches Administrador del Grupo de Usuarios de PostgreSQL del Ecuador: ecpug@postgresql.org Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre ¿Qué es? Es un Sistema Gestor de Bases de Datos libre de clase empresarial. Licencia basada en BSD. Mas de 20 años de investigación y desarrollo. Se conforma al estándar SQL Se ha ganado una fuerte reputación por su confiabilidad, estabilidad e integridad de datos (ACID). Corre en varios SO incluyendo variantes de Unix, Linux, Mac OS X y Windows. Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre ¿Qué es? Es un Sistema Gestor de Bases de Datos libre de clase empresarial. Licencia basada en BSD. Mas de 20 años de investigación y desarrollo. Se conforma al estándar SQL Se ha ganado una fuerte reputación por su confiabilidad, estabilidad e integridad de datos (ACID). Corre en varios SO incluyendo variantes de Unix, Linux, Mac OS X y Windows. De hecho, es el Sistema Gestor de Bases de Datos Open Source más avanzado del mundo. Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre Comunidad Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre Límites Max. Tam. Base de datos Max. Tam. Tabla Max. Tam. Fila (Registro) Max. Tam. Columna Num. Filas x Tabla Num. Columnas por Tabla Num. Índices x Tabla No hay límite 32 TB 1.6 TB 1 GB Determinado por el tam. de la fila 250 - 1600 No hay límite Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre Cumple con la norma ACID Atomicidad Manejo de transacciones: BEGIN, COMMIT/ROLLBACK, SAVEPOINT, 2PC Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre Cumple con la norma ACID Atomicidad Manejo de transacciones: BEGIN, COMMIT/ROLLBACK, SAVEPOINT, 2PC Consistencia Restricciones CHECK, NOT NULL, UNIQUE; llaves primarias, foráneas; triggers; valores defaults Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre Cumple con la norma ACID Atomicidad Manejo de transacciones: BEGIN, COMMIT/ROLLBACK, SAVEPOINT, 2PC Consistencia Restricciones CHECK, NOT NULL, UNIQUE; llaves primarias, foráneas; triggers; valores defaults Invisibilidad (Aislamiento) Manejo de concurrencia (MVCC) Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre Cumple con la norma ACID Atomicidad Manejo de transacciones: BEGIN, COMMIT/ROLLBACK, SAVEPOINT, 2PC Consistencia Restricciones CHECK, NOT NULL, UNIQUE; llaves primarias, foráneas; triggers; valores defaults Invisibilidad (Aislamiento) Manejo de concurrencia (MVCC) Durabilidad Recuperación ante caídas (WAL) Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre Seguridades Autenticación de clientes (pg_hba.conf) Usuario autenticado en el SO LDAP GSSAPI SSPI Kerberos Certificado SSL Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre Seguridades Autenticación de clientes (pg_hba.conf) Usuario autenticado en el SO LDAP GSSAPI SSPI Kerberos Certificado SSL A nivel de objetos de la base de datos GRANT y REVOKE de todos los tipos de objetos Roles y delegación de privilegios Funciones SECURITY DEFINER y SECURITY INVOKER Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre Seguridades Autenticación de clientes (pg_hba.conf) Usuario autenticado en el SO LDAP GSSAPI SSPI Kerberos Certificado SSL A nivel de objetos de la base de datos GRANT y REVOKE de todos los tipos de objetos Roles y delegación de privilegios Funciones SECURITY DEFINER y SECURITY INVOKER Auditoría Registro de quien y cuando se ejecutaron sentencias (DML, DDL) table_log (http://pgfoundry.org/projects/tablelog) Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre Extensibilidad Se pueden agregar mediante API SQL: Funciones (normales, de agregado, ventana) en varios lenguajes de programación Tipos de datos (basados en tipos ya existentes, nuevos y enumeraciones) Casts (Conversiones) Operadores Métodos de acceso (tipos de índices) Contrib http://pgfoundry.org Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre Extensibilidad en acción (Migrando una aplicación) Creando un nuevo operador CREATE OPERATOR + ( PROCEDURE = textcat, LEFTARG = text, RIGHTARG = text, COMMUTATOR = + ); O un nuevo tipo de datos CREATE DOMAIN datetime AS timestamp without time zone; Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre Extensibilidad en acción Pool de conexiones PgPool PgBouncer Replicación Streaming Replication (Integrado, Maestro-esclavo) Slony I (Maestro-esclavo) Skytools (Skype, maestro-esclavo) Mammoth Replicator (CommandPrompt, Maestro-esclavo) Bucardo (Multi maestro) Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre Extensibilidad en acción (Lenguajes procedurales) Vienen en la distribución oficial: PL/SQL PL/pgSQL PL/perl PL/python PL/tcl Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre Extensibilidad en acción (Lenguajes procedurales) Se pueden incorporar: PL/sh Vienen en la distribución oficial: PL/SQL PL/R PL/java PL/scheme PL/pgSQL PL/proxy PL/perl PL/php PL/python PL/ruby PL/tcl PL/lolcode PL/lua (Alpha) PL/pgPSM (ANSI) (Beta) Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre Extensibilidad en acción (Lenguajes procedurales) Se pueden incorporar: PL/sh PL/R Vienen en la distribución oficial: PL/java PL/SQL PL/scheme PL/pgSQL PL/proxy PL/perl PL/php PL/python PL/ruby PL/tcl PL/lolcode PL/lua (Alpha) PL/pgPSM (ANSI) (Beta) Tambien se pueden hacer funciones en lenguaje C Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre PostgreSQL (9.0) Replicación integrada. Hot Standby: Un servidor standby que acepta consultas de solo lectura Eliminación de OUTER JOIN cuando no son necesarios para obtener ningún dato de la consulta Privilegios predeterminados Se pueden asignar permisos de forma masiva en un esquema Parametros de funciones pasados por nombre. Ej: funcion(7 as b, 5 as a) Clausula DO: funciones anonimas Triggers sobre columnas y triggers condicionales Más mejoras en el optimizador Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre Estabilidad Políticas . . . de no cambio de funcionalidad en versiones menores. . . . de no cambio en la estructura interna de los archivos de PostgreSQL (catálogos, datafiles,WAL) en versiones menores. http://www.pgbuildfarm.org El PostgreSQL build farm es un sistema distribuido para probar de forma automática los cambios realizados en el código fuente de PostgreSQL conforme vayan ocurriendo, en una gran variedad de plataformas. Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre Estabilidad Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre En el mundo (http://www.postgresql.org/about/users) Moscow State University, Moscow, Russia Sternberg Astronomical Institute, Russia Texas Cooperative Extension University of Alabama, Birmingham University of California, Berkeley University of New South Wales University of Oslo, Norway University of Sydney University of Western Sydney Charles University in Prague, Czech Republic Université Saint-Joseph (USJ) in Lebanon Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre En el mundo (http://www.postgresql.org/about/users) City of Garden Grove, California National Physical Laboratory of India The National Weather Service Registre Francais des Emissions Polluantes United Nations Children’s Fund United Nations Industrial Development Organisation U.S. Agency for International Development U.S. Centers For Disease Control and Prevention U.S. Department of Labor U.S. General Services Administration U.S. State Department Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre En el mundo (http://www.postgresql.org/about/users) Debian Afilias Apple Fujitsu OmniTI Red Hat Yahoo! (versión modificada) Cisco Skype Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre En Latinoamérica Siemens IT: proyecto Correo Argentina Gobierno de la Ciudad de Buenos Aires Americatel (Perú) Camara de Comercio de Lima (Perú) El portal de compras del estado (Perú) Gobierno Regional Lambayeque (Perú) Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre En Ecuador Instituto de Compras Públicas del Ecuador (http://www.compraspublicas.gov.ec) La subsecretaría de informática del Ecuador: Quipux (sistema de gestión documental) La CNT (Corporación Nacional de Telecomunicaciones) Municipio de Ibarra La asamblea nacional constituyente Superexito El colegio salesiano Cristobal Colon lo usa para su sistema academico PaloSanto Solutions (http://www.palosanto.com) lo usa para sus sistemas de información gerencial Tventas (http://www.tventas.com) esta implementando adempiere con postgres Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre En Ecuador El IGM (Instituto Geográfica Militar) La SENACYT, Secretaría Nacional de Ciencia y Tecnología, utiliza PostgreSQL para su base de datos de proyectos científicos, tecnológicos y de innovación Aerogal (http://www.aerogal.com.ec) utiliza postgres para su sistema de reservas de pasajes Sismode (http://www.sismode.com) usa adempiere con postgres Sistema histórico contable y administrativo de 10 empresas de Grupo Eljuri ERP Adempiere para Grupo Amazonas ERP desarrollado desde 0 para Grupo Cervantes Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre Comunidad Listas de correo ecpug@postgresql.org (español) pgsql-es-ayuda@postgresql.org (español) pgsql-general@postgresql.org (inglés) pgsql-bugs@postgresql.org (inglés) . . . http://www.postgresql.org/support/submitbug IRC en Freenode.net #postgresql #postgresql-es Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre Comercial (http://www.postgresql.org/support/professional_support) Internacional 2ndQuadrant (http://www.2ndquadrant.com) Command Prompt, Inc (http://www.commandprompt.com) EnterpriseDB (http://www.enterprisedb.com/solutions/gotpostgresql.do) PgExperts (http://www.pgexperts.com) DBAS (http://www.dbas.com.ar) dbExperts Tecnologia Ltda. (http://www.dbexperts.com.br) EQ Soft Consultoría y Soporte EIRL (http://www.eqsoft.net) Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre Comercial (http://www.postgresql.org/support/professional_support) Ecuador Jaime Casanova (jaime@2ndquadrant.com | www.2ndquadrant.com) Soporte Libre Ltd. (http://www.soportelibre.com) Onuva Ecuador (http://www.onuva.com) Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre