Download Postgres: La Base de Datos Empresarial de Software Libre

Document related concepts

PostgreSQL wikipedia , lookup

Michael Stonebraker wikipedia , lookup

Trigger (base de datos) wikipedia , lookup

PSPP wikipedia , lookup

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: [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, 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
[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)
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 ([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