Postgres: La Base de Datos Empresarial deSoftware 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 presentarmeMiembro 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 delEcuador: [email protected]
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, MacOS X y Windows.
De hecho, es el Sistema Gestor de Bases de Datos Open Source másavanzado del mundo.
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, MacOS X y Windows.
De hecho, es el Sistema Gestor de Bases de Datos Open Source másavanzado 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 No hay límiteMax. Tam. Tabla 32 TBMax. Tam. Fila (Registro) 1.6 TBMax. Tam. Columna 1 GBNum. Filas x Tabla Determinado por el tam. de la filaNum. Columnas por Tabla 250 - 1600Num. Índices x Tabla No hay límite
Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre
Cumple con la norma ACID
AtomicidadManejo de transacciones: BEGIN, COMMIT/ROLLBACK,SAVEPOINT, 2PC
ConsistenciaRestricciones CHECK, NOT NULL, UNIQUE; llaves primarias,foráneas; triggers; valores defaults
Invisibilidad (Aislamiento)Manejo de concurrencia (MVCC)
DurabilidadRecuperación ante caídas (WAL)
Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre
Cumple con la norma ACID
AtomicidadManejo de transacciones: BEGIN, COMMIT/ROLLBACK,SAVEPOINT, 2PC
ConsistenciaRestricciones CHECK, NOT NULL, UNIQUE; llaves primarias,foráneas; triggers; valores defaults
Invisibilidad (Aislamiento)Manejo de concurrencia (MVCC)
DurabilidadRecuperación ante caídas (WAL)
Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre
Cumple con la norma ACID
AtomicidadManejo de transacciones: BEGIN, COMMIT/ROLLBACK,SAVEPOINT, 2PC
ConsistenciaRestricciones CHECK, NOT NULL, UNIQUE; llaves primarias,foráneas; triggers; valores defaults
Invisibilidad (Aislamiento)Manejo de concurrencia (MVCC)
DurabilidadRecuperación ante caídas (WAL)
Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre
Cumple con la norma ACID
AtomicidadManejo de transacciones: BEGIN, COMMIT/ROLLBACK,SAVEPOINT, 2PC
ConsistenciaRestricciones CHECK, NOT NULL, UNIQUE; llaves primarias,foráneas; triggers; valores defaults
Invisibilidad (Aislamiento)Manejo de concurrencia (MVCC)
DurabilidadRecuperació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 SOLDAPGSSAPISSPIKerberosCertificado SSL
A nivel de objetos de la base de datosGRANT y REVOKE de todos los tipos de objetosRoles y delegación de privilegiosFunciones SECURITY DEFINER y SECURITY INVOKER
AuditoríaRegistro 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
Seguridades
Autenticación de clientes (pg_hba.conf)Usuario autenticado en el SOLDAPGSSAPISSPIKerberosCertificado SSL
A nivel de objetos de la base de datosGRANT y REVOKE de todos los tipos de objetosRoles y delegación de privilegiosFunciones SECURITY DEFINER y SECURITY INVOKER
AuditoríaRegistro 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
Seguridades
Autenticación de clientes (pg_hba.conf)Usuario autenticado en el SOLDAPGSSAPISSPIKerberosCertificado SSL
A nivel de objetos de la base de datosGRANT y REVOKE de todos los tipos de objetosRoles y delegación de privilegiosFunciones SECURITY DEFINER y SECURITY INVOKER
AuditoríaRegistro 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 lenguajesde programaciónTipos de datos (basados en tipos ya existentes, nuevos yenumeraciones)Casts (Conversiones)OperadoresMé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 operadorCREATE OPERATOR + (PROCEDURE = textcat,LEFTARG = text,RIGHTARG = text,COMMUTATOR = +);
O un nuevo tipo de datosCREATE DOMAIN datetimeAS timestamp without time zone;
Jaime Casanova Postgres: La Base de Datos Empresarial de Software Libre
Extensibilidad en acción
Pool de conexionesPgPool
PgBouncer
ReplicaciónStreaming 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
Se pueden incorporar:
PL/sh
PL/R
PL/java
PL/scheme
PL/proxy
PL/php
PL/ruby
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
Extensibilidad en acción (Lenguajes procedurales)
Vienen en la distribución oficial:
PL/SQL
PL/pgSQL
PL/perl
PL/python
PL/tcl
Se pueden incorporar:
PL/sh
PL/R
PL/java
PL/scheme
PL/proxy
PL/php
PL/ruby
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
Extensibilidad en acción (Lenguajes procedurales)
Vienen en la distribución oficial:
PL/SQL
PL/pgSQL
PL/perl
PL/python
PL/tcl
Se pueden incorporar:
PL/sh
PL/R
PL/java
PL/scheme
PL/proxy
PL/php
PL/ruby
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 sololectura
Eliminación de OUTER JOIN cuando no son necesarios paraobtener 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 dePostgreSQL (catálogos, datafiles,WAL) en versiones menores.
http://www.pgbuildfarm.orgEl PostgreSQL build farm es un sistema distribuido para probar deforma automática los cambios realizados en el código fuente dePostgreSQL conforme vayan ocurriendo, en una gran variedad deplataformas.
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 degestió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 sistemaacademico
PaloSanto Solutions (http://www.palosanto.com) lo usa para sussistemas de información gerencial
Tventas (http://www.tventas.com) esta implementandoadempiere 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 proyectoscientíficos, tecnológicos y de innovación
Aerogal (http://www.aerogal.com.ec) utiliza postgres para susistema de reservas de pasajes
Sismode (http://www.sismode.com) usa adempiere con postgres
Sistema histórico contable y administrativo de 10 empresas deGrupo 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 [email protected] (español)
[email protected] (español)
[email protected] (inglés)
[email protected] (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)
Internacional2ndQuadrant (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)
EcuadorJaime Casanova ([email protected] |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