Este documento resume las características y mejoras clave de PostgreSQL 9.0. Algunas de las principales características incluyen replicación síncrona, exclusiones de restricciones, mejoras en el rendimiento como la eliminación de JOINs innecesarios, y mejoras en los lenguajes procedurales como PL/Python y PL/Perl. La versión 9.0 también trae nuevas funcionalidades como bloques de código anónimos y triggers condicionales. El lanzamiento final de PostgreSQL 9.0 está programado para junio-julio de 2010.
Cursillos e-ghost Septiembre 2010. Open ERP como software de gestión contableAlex Rayón Jerez
Dirigido a cualquier persona y/o cualquier organización, el cursillo sobre la herramienta de software libre OpenERP permitirá a los asistentes conocer las superficialidades de esta herramienta de gestión de los recursos de la empresa, que si bien es transversal a muchas áreas de gestión empresarial, es parametrizable a necesidades específicas de la organización (contabilidad, recursos humanos, compras, clientes, etc.)
En este curso, se introducirá el ERP de software libre que mayor crecimiento ha experimentado en las últimas fechas, y se presentará su parametrización como herramienta contable como alternativa real y válida a otras herramientas de gestión como pudiera ser Contaplus de Sage o similares.
Cursillos e-ghost Septiembre 2010. Open ERP como software de gestión contableAlex Rayón Jerez
Dirigido a cualquier persona y/o cualquier organización, el cursillo sobre la herramienta de software libre OpenERP permitirá a los asistentes conocer las superficialidades de esta herramienta de gestión de los recursos de la empresa, que si bien es transversal a muchas áreas de gestión empresarial, es parametrizable a necesidades específicas de la organización (contabilidad, recursos humanos, compras, clientes, etc.)
En este curso, se introducirá el ERP de software libre que mayor crecimiento ha experimentado en las últimas fechas, y se presentará su parametrización como herramienta contable como alternativa real y válida a otras herramientas de gestión como pudiera ser Contaplus de Sage o similares.
En muchos tutoriales de git se ignoran cuestiones importantes. Por ejemplo, la configuración de claves e identidad del usuario son cosas cruciales para una buena experiencia con git.
En esta presentación se explica el proceso desde cero, orientado tanto a quienes quieren usarlo desde consola, como a desarrolladores que deseen emplearlo desde Eclipse.
Los ejemplos tratan de emular un proceso de desarrollo real basado en ramas, con conflictos entre diferentes desarrolladores.
Instalar Python 2.7 y 3 en Windows (Anaconda)CAChemE
¿Cómo instalar Python en Windows?
Diapositivas que explican cómo instalar paso a paso Python en Windows.
Nota: Están orientadas a científicos e ingenieros con poca experiencia en el entorno de windows.
En muchos tutoriales de git se ignoran cuestiones importantes. Por ejemplo, la configuración de claves e identidad del usuario son cosas cruciales para una buena experiencia con git.
En esta presentación se explica el proceso desde cero, orientado tanto a quienes quieren usarlo desde consola, como a desarrolladores que deseen emplearlo desde Eclipse.
Los ejemplos tratan de emular un proceso de desarrollo real basado en ramas, con conflictos entre diferentes desarrolladores.
Instalar Python 2.7 y 3 en Windows (Anaconda)CAChemE
¿Cómo instalar Python en Windows?
Diapositivas que explican cómo instalar paso a paso Python en Windows.
Nota: Están orientadas a científicos e ingenieros con poca experiencia en el entorno de windows.
SEC: Actualización de la definición de "Inversor Acreditado" en el 2019Marcos Ortiz Valmaseda
La SEC el 18 de diciembre del 2019, actualizó la definición de "inversor acreditado"; y esto podría tener un impacto positivo en las inversiones en el país, sobre todo porque brinda más acceso a personas de menores recursos.
A Partnership with Adyen is Equal to Exponential Growth: 17 Payments Experts ...Marcos Ortiz Valmaseda
Do you want the little secret that allows to global organizations like Uber, Spotify, Facebook, Netflix, Yelp, Dropbox, Hillarys, Evernote, SurveyMonkey and many more hack its growth globally? The "secret" has a name: Adyen. 17 Payments Experts shared what they thought about Adyen and how it has been critical to these organizations to scale globally in the fastest possible way.
This is a version of the presentation I created to apply for a job at Duo Security for a Product Marketing position. Feel free to use the ideas whatever you like.
This report highlights the state of small businesses around the globe, covering countries like United States, India, Malaysia, Singapore, Australia, Germany, New Zealand, South Africa, Brazil, Colombia, Netherlands and many more. It could give a global perspective of the importance of Small and Medium Enterprises for the world economy, and good examples like Singapore and Dubai, UAE have created a well-defined ecosystem to support this economic group.
This is a quick review of the State of CyberSecurity industry in 2015, using insights and data from leader companies in the industry like Check Point Software Technologies, Cisco, Akamai, NowSecure, OpenDNS, Skyhigh Networks and more. The scope of the report is focused in four sectors: Mobile, Internet of Things, Cloud Security and Network Security.
Facebook Exchange, Instagram Ads and Twitter´s Cards are the key players for the Future of Marketing. The original link is: http://prezi.com/z9wwhqo3rjem/?utm_campaign=share&utm_medium=copy
This talk summarizes the main research topics and future directions of the Research Group in Databases Technologies of University of Information Sciences (UCI)
En Cuba se está optando por el uso del gestor PostgreSQL, y se le ha dado la tarea al Centro de Tecnologías de Gestión de Datos (DATEC) de la Universidad de las Ciencias Informáticas (UCI) en La Habana de construir un sistema gestor de bases de datos basado en PostgreSQL. Conozca un poco más del proyecto
3. PostgreSQL
Considerado como el SGBD de código
abierto más avanzado del mundo
+ de 20 años de desarrollo
Ciclo de desarrollo bien definido estilo
FreeBSD Committers Dev Process
Modelo de desarrollo viable
(Empresas/Comunidad)
4. PostgreSQL
Basado en el trabajo de Stonebraker
Desarrollado en C89 (ANSI C)
Soporte excelente en las listas
Excelente documentación
Sumamente adaptable y extensible
Guiado por los estándares
5. Características
100 % ACID
Soporte para triggers,vistas, procedimientos
almacenados, funciones y tipos de datos
definidos por el usuario, búsqueda de textos
completos, etc
Corre en + de 30 plataformas incluyendo
Linux, UNIX, HP-UX, Solaris, BSD´s
Windows,etc
Licencia BSD (Costo es saber usarlo)
6. Características
Soporte para bases de datos georeferenciales
(PostGIS)
Pueden escribir sus funciones en + de 10
lenguajes (PL/pgSQL, PL/Ruby, PL/R,
C/C++, PL/Python, PL/Perl, PL/Java)
Prionero en los conceptos MVCC
WAL (Escritura adelantada de logs)
Tipado avanzado de datos (CHECK, ENUM,
DOMAIN)
7. PostgreSQL-8.4
Nueva implementación del FSM
Funciones ventana (Data WareHouse/OLAP
Apps)
CTE´s (Cláusula WITH)
Consultas recursivas (WITH recursivo !!!!)
Permisos por columnas
8. PostgreSQL-8.4
Estructura de control CASE
Comando TABLE
Argumentos de funciones variables
Argumentos con valores por defecto
Triggers en TRUNCATE
9. PostgreSQL-8.4
Mejoras del soporte a la plataforma Windows
Mejoras en el rendimiento de las DBA Tool
(VACUUM)
Restauración paralela de las bases de datos
(pg_restore -j #)
LIMIT puedes aceptar subquerys
Múltiples mejoras a psql (dt+; ef)
10. Ejemplos
Permisos por columnas:
GRANT SELECT (year),INSERT (valor),
UPDATE(otrovalor) ON tabla TO usuario;
Para TRUNCATE:
GRANT TRUNCATE ON tabla TO usuario;
11. Ejemplos
Funciones ventana:
SELECT year, sum(valor) OVER (PARTITION BY
year) FROM winpro LIMIT 10;
RETURN TABLE (alias para SETOF):
Parámetros por defecto:
CREATE FUNCTION f101 (int, int DEFAULT 9)
12. Ejemplos
CTE ( WITH):
WITH epic_films as (SELECT film_id,
array_agg(first_name ||' '||
last_name) as featuring FROM film join
film_actor using (film_id) JOIN actor
USING (actor_id) GROUP BY film_id )
SELECT * FROM epic_films WHERE
array_upper(featuring,1) > 12 ;
13. Ejemplos
CASE:
CREATE FUNCTION kidsafe(v_title text) RETURNS text
AS $$
BEGIN
CASE (select rating from film where title = v_title)
WHEN 'NC-17','R' THEN RETURN 'no';
WHEN 'PG-13' THEN RETURN 'maybe';
WHEN 'PG','G' THEN RETURN 'yes';
END CASE;
END; $$ LANGUAGE plpgsql;
14. Ejemplos
LIMIT basado en una subconsulta:
SELECT title FROM film ORDER BY random()
LIMIT (SELECT count(*)/10 FROM film WHERE
rating = 'G');
15. 9.0 !!!
Se introdujo un nuevo cambio en el proceso
de desarrollo:
http://commitfest.postgresql.org
La versión actual es la 9.0alpha5
Cambió de 8.5 a 9.0 por las características
tan radicales que trae (Hot
Standby/Streaming Replication)
16. Planes Futuros
Hot Standby … replicación sincrónica … exclusión
de restricciones … EXPLAIN con resultados en
JSON/XML/YAML … Windows 64 bits … CTE´s
modificables … mejora en los permisos …
GRANT ON ALL/DEFAULT … mejoras en el SQL
.. Agregados ordenados … Cláusula DO() …
mejoras de rendimiento … nuevo
LISTEN/NOTIFY … mejoras a PL/Perl y
PL/Python
17. Futuro ???
Hot Standby … replicación sincrónica … exclusión
de restricciones … EXPLAIN con resultados en
JSON/XML/YAML … Windows 64 bits … CTE´s
modificables … mejora en los permisos …
GRANT ON ALL/DEFAULT … mejoras en el SQL
.. Agregados ordenados … Cláusula DO() …
mejoras de rendimiento … nuevo
LISTEN/NOTIFY … mejoras a PL/Perl y
PL/Python
18. Plan de Desarrollo
9.0 RC / Período de desarrollo 1ro de Julio del 2009
CommitFest 1/Período de Julio 15 – Agosto 15 2009
desarrollo
CommitFest 2/Período de Sept. 15 – Oct. 15 2009
desarrollo
CommitFest 3/Período de Nov. 15 – Dic. 15 2009
desarrollo
CommitFest 4 Enero 15 2010
Limpieza / Integración y Revisión Febrero 15 2010
(2-4 semanas)
Liberación del Beta / Pruebas al 2-3 meses
beta
Liberación Final 9.0/ Comienzo
Junio-Julio 2010
20. Rendimiento
Borrado de JOINS sin sentido
Parche por Robert Haas
Permite remover JOINs redundantes del plan
de consultas para la optimización y mejora
de las mismas
21. Rendimiento
New VACUUM FULL
Parche por Itagaki Takagiro
Reescrito el comando VACUUM FULL
La nueva versión trabaja igual que CLUSTER
USING ctid o reescribiendo en ALTER
TABLE. Éste puede ser más ràpido que
éstos, sobre tdo si tenemos muchas tuplas
muertas y no son interesa el orden físico de
las mismas
22. Lenguajes Procedurales
Bloques de código anónimos (DO)
Parche por Petr Jelinek
Agrega el soporte para bloques anónimos de
código escrito en lenguages procedurales.
23. Lenguajes Procedurales
DO $DECLARE r record;
BEGIN
FOR r IN SELECT table_schema, table_name FROM
information_schema.tables
WHERE table_type = ‘VIEW’ AND table_schema =
‘public’
LOOP
EXECUTE ‘GRANT ALL ON ’ ||
quote_ident(r.table_schema) || ‘.’ ||
quote_ident(r.table_name) || ‘TO webuser’;
END LOOP;
END$$;
24. Lenguajes Procedurales
Mejoras a PL/Python
Parchesde muchos contribuidores
Soporte para Python-3.1
Soporte para bloques anónimos de código
Conversión de tipos de datos mejorada
25. Lenguajes Procedurales
Mejoras a PL/Perl
Parchesde muchos contribuidores
Soporte para contexto de errores
Soporte para bloques anónimos de código
Refactorización hecha sobre plperl.c
Agregadas funciones útiles como quote_literal,
encode_bytea, etc
26. Triggers
Triggers en columnas
Sólo se disparan si ciertas columnas son
modificadas
Ayudan a resolver problemas de TRIGGERS
circulares.
27. Triggers
Triggers condicionales
Lo mejor es un ejemplo:
CREATE TRIGGER test_u
AFTER UPDATE ON test
FOR EACH ROW
WHEN (NEW.i <= 0)
EXECUTE PROCEDURE test_u();
28. Lenguajes Procedurales
EXPLAIN en formatos legibles (XML, JSON,
YAML)
Muy útil para herramientas de monitoreo y
para la visualización gráfica de los planes de
ejecución
Ejemplo:
EXPLAIN (FORMAT XML) SELECT * FROM
pg_class;
29. Administración/Seguridad
GUC´s por usuario, por base de datos
Parches por Álvaro Herrera
Permite el cambio de las GUC´s por defecto
de un modo más complejo y útil
30. Administración/Seguridad
8.4:
ALTER DATABASE <database> SET <guc> TO <value>
ALTER ROLE <role> SET <guc> to <value>
9.0 agrega:
ALTER ROLE <role> IN DATABASE <database>
SET <guc> TO <value>
31. Bibliografía
Blog de Hubert Lubaczewski:
http://www.depesz.com
Sitio Oficial del proyecto:
http://www.postgresql.org
http://planetpostgresql.org
http://www.postgresql-es.org
http://wiki.postgresql.org
32. Bibliografía
Peter Eisentraut: Most Wanted -FOSDEM 2010
Dave Page: Developments in PostgreSQL-9.0 –
FOSDEM 2010
Josh Berkus: PostgreSQL Development TODAY –
FOSDEM 2010
David Fetter: Windowing Functions – PgCon 2009
Robert Treat: PostgreSQL-8.4 Talk – PgCon 2009