2.770 subscripciones por RSS o por E-mail

Performance de PostgreSQL en SSD y HDD

TPS

Los desarrolladores de la base de datos Firebird ya lo habían descubierto el año pasado, ahora son los partidarios de PostgreSQL los que sucumben ante los beneficios de las unidades de estado sólido (SSD).

La empresa de desarrollo de software 5AM Solutions publica en su blog unas interesantísimas pruebas del desempeño de PostgreSQL usando dos tipos de unidades de almacenamiento disponibles comercialmente, unas SSD (Patriot 128 Gb y Patriot "Inferno" 100 Gb) contra dos tradicionales discos SATA (Seagate "Barracuda" 1,5 TB de 7200 RPM y Western Digital "VelociRaptor" 300 Gb de 10000 RPM). Las configuraciones fueron probadas en un servidor Quad Core de 3.0 GHz con 8 Gb de RAM corriendo Ubuntu 10.04 con el Kernel 2.6.32-24 y el sistema de archivos Ext4.

Para las pruebas se usó la propia utilidad pgbench de PostgreSQL que calcula un promedio de la razón de las transaciones (TPS: transaciones por segundo) obtenida ejecutando la misma secuencia de comandos SQL una y otra vez.

Y los resultados fueron realmente impresionantes. En la primera prueba con un millón de registros y sólo un cliente, la unidad SSD más rápida se desempeñó casi 14 veces mejor que el disco de 7200 RPM. La unidad SSD más "lenta" lo hizo 3 veces más lentamente que la más rápida.

En la segunda prueba con 10 millones de registros con uno y dos clientes, ambas unidades SSD fueron 5 a 7 veces más rápidas que el disco de 7200 RPM.

Todas las pruebas se realizaron sin ninguna optimización y usando la configuración por defecto de PostgreSQL 8.4.


PostgreSQL no sería tan fácil de matar como MySQL

Como parte de su insistente campaña en contra de la fagocitación de MySQL por parte de Oracle después de la compra de Sun, el cada vez más pintoresco Michael "Monty" Widenius, creador original de la todavía popular base de datos, advierte en un provocador comentario a esta noticia que PostgreSQL también puede ser matado:

“Sí, PostgreSQL también puede ser matado. Para probarlo, piensen que pasaría si alguien se las arreglara para asegurarse que los 20 principales desarrolladores de PostgreSQL no pudieran desarrollarlo más, o si cada uno de ellos lo dividieran (fork) en su propio proyecto”.

Pero la comunidad de PostgreSQL no se quedó silenciosa, uno de sus partidarios salió a aclarar porqué la base de datos del elefante no es lo mismo que MySQL:

“El punto es ser capaz de realmente detener a esas 20 personas para que no trabajen en PostgreSQL. Hay básicamente 2 formas de hacer esto: Oracle podría comprar una compañía, o podría contratar (comprar) a una persona. El primer problema es que la comunidad de PostgreSQL está ampliamente distribuída. Si uno ve a la gente en la página de contribuyentes verá a 32 personas que trabajan para 24 compañías diferentes. Más aún, ninguna compañía tiene la mayoría: el promedio es sólo una persona por cada una, con la mayor aportando sólo 3 desarrolladores”.

Así queda claro que el modelo de desarrollo actual de PostgreSQL asegura que ninguna única entidad pueda desviarlo en el mismo destino que MySQL; sin embargo, eso sí podría suceder en otros proyectos donde una sola empresa ostente su control principal.


Red Hat invierte en EnterpriseDB

Hace tanto como en el 2001 Red Hat ya había intentado poner todo su peso comercial detrás un producto basado en PostgreSQL con su propio Red Hat Database, pero esos esfuerzos desaparecieron en el olvido junto con otros similares como Great Bridge PostgreSQL o Pervasive Postgres.

Ahora la misma Red Hat acaba de aportar parte de los últimos U$S 19 Millones que EnterpriseDB recibió con su última ronda de inversiones, poco más de un año después de que IBM hiciera lo propio invirtiendo U$S 10 Millones en la misma empresa. ¿Y qué tiene EnterpriseDB que la hace tan atractiva últimamente? El CEO de Red Hat lo explica así:

“EnterpriseDB se ha establecido claramente como una compañía de Postgres empresarial de punta, por eso Red Hat ha elegido asociarse e invertir en ella. EnterpriseDB está también trabajando en crear valor para sus clientes a través de un modelo de soporte por subscripción. Claramente, este es un modelo que vemos como beneficioso”.


PostgreSQL 8.5 Alpha

Se anunció así en su lista de correo el lanzamiento de la primera versión Alpha del próximo PostgreSQL 8.5, menos de dos meses depués de su actual versión 8.4 estable. Se trata del primer lanzamiento de una versión "Alpha" de este proyecto en su historia, con la intención de que sus usuarios más avanzados pueda probar nuevas características y reportar problemas tan temprano como sea posible.

Esta versión preliminar incluye 36 parches, entre los cuales se introducen estas nuevas características:

  • Sentencias DROP COLUMN/CONSTRAINT IF EXISTS.
  • EXPLAIN puede producir su salida en formato XML y JSON.
  • Cadenas de caracteres hexadecimales para entrada y salida de BYTEA.
  • pgbench es ahora multi-thread.

PostgreSQL 8.5 Alpha no es considerado para nada estable y por ello se libera sólo su código fuente, sin paquetes binarios oficiales.


PostgreSQL 8.4

Después de 16 meses de desarrollo y con 293 nuevas o mejoradas características se anunció así la versión 8.4 de PostgreSQL, ahora "más fácil de usar que nunca". PostgreSQL es el sistema de gestión de base de datos relacional orientada a objetos publicado bajo la licencia BSD más avanzado de todos, y en esta nueva versión incluye algunas novedades como:

  • Permisos de usuario por columna.
  • Nuevas herramientas de monitoreo de consultas para administradores.
  • Soporte de collation por base de datos, útil en entornos de varios idiomas.
  • La carga que imponía VACCUM fué ampliamente reducida gracias al Visibility Map.
  • pg-migrator permite actualizaciones desde PostgreSQL 8.3 con un downtime mínimo.
  • Restauración en paralelo que aumenta la velocidad de recuperación de backups hasta 8 veces.

PostgreSQL 8.4 también añade soporte para algunas características avanzadas del estándar ANSI SQL2003 que permiten incrementar la expresividad del dialecto SQL y permitir consultas que hubieran sido imposibles antes (como consultas recursivas, expresiones comunes para tablas, etc.).


Concurso para el rediseño de PostgreSQL.org

PostgreSQL.org

El grupo de desarrollo de PostgreSQL necesita un nuevo diseño para su sitio PostgreSQL.org. El diseño ganador será la cara pública de la base de datos Open Source más avanzada de todas y se llevará U$S 2000 de premio.

Según los requerimientos del concurso, la primera etapa del proyecto será diseñar un modelo que "refleje el cuidado, dedicación y excelencia de nuestros desarrolladores" que servirá para que los miembros de la comunidad de PostgreSQL puedan juzgar a un ganador que se llevará U$S 1000.

La segunda etapa es la implementación del diseño ganador. El artista premiado en la etapa anterior deberá producir las hojas de estilos y crear las imágenes necesarias, trabajando con el PostgreSQL Web Team, para implementarlo en toda su infraestructura. Unos U$S 1000 adicionales serán otorgados al ganador cuando el nuevo diseño se ponga online.


PostgreSQL 8.4 Beta

Después de catorce meses el PostgreSQL Global Development Group finalmente anunció así el lanzamiento de la primera versión preliminar Beta del próximo PostgreSQL 8.4, para que todos los desarrolladores de esta base de datos puedan ayudar a encontrar los errores más persistentes. PostgreSQL 8.4 Beta incluye novedades muy importantes, como por ejemplo:

  • Restauración paralela.
  • Permisos por columna.
  • Edición fácil de funciones en psql.
  • El Mapa de Visibilidad reduce la carga de vacuum.
  • Configuración de localización (locale) por base de datos.
  • Soporte de certificados SSL para autentificación de usuarios.
  • Nuevos módulos en contrib: pg-stat-statements, auto-explain, citext, btree-gin.

Instaladores binarios no-oficiales para Linux (32 y 64 bits), Mac OS X y Windows pueden descargase desde el sitio de EnterpriseDB.


ExtSQL: MySQL con más opciones de reportes

La desconocida empresa de Nueva York Software Workshop anunció que liberó sus modificaciones a MySQL como un producto aparte llamado ExtSQL. Básicamente, ExtSQL ofrece nuevas herramientas para generar reportes sobre la actividad del servidor, discriminando por usuario, base de datos y hasta conexión. ExtSQL implementa esto con nuevos comandos y extensiones al lenguaje SQL, como por ejemplo:

SHOW STATISTICS select/insert FROM user HISTORY

Dice un administrador de Software Workshop:

"ExtSQL hace que el monitoreo sea fácil, especialmente debido a que almacena datos históricos. Antes veíamos picos en el uso pero era difícil identificiarlo con un usuario particilar. Patrones de uso alto son fáciles de rastrear y a menudo los clientes ni siquiera saben que están ejecutando aplicaciones pobremente diseñadas".

ExtSQL está disponible bajo la GPL, en versiones compatibles con MySQL 3.23, 4.1, 5.0 y 5.1. También hay versiones compatibles con PostgreSQL, aunque a la espera de la respuesta de la comunidad.


Yahoo! tiene la base de datos más grande del mundo

Yahoo! anunció que construyó una base de datos relacional de 2 Petabytes (1 Petabyte = 10^6 Gb = 10^3 Tb), la más grande y con la mayor actividad del mundo. El sistema es un repositorio de información de sus usuarios con un ritmo de actualización de 24 Billones de eventos por día. Aparentemente, todo esto estaría basado en una versión modificada de PostgreSQL corriendo en alrededor de 1000 nodos, una décima parte de los necesarios si hubieran usando una base de datos convencional como Oracle o DB2.

Anteriormente un documento del 2006 mencionaba a la Bigtable de Google afirmando que "manejaba petabytes de datos", pero es bien conocido que Bigtable no es considerada como una verdadera base de datos relacional.


Skype quiere escalar PostgreSQL a 1 Billón de usuarios

Skype viene usando PostgreSQL como su principal base de datos para sus necesidades de negocios desde el principio, y han sido lo suficientemente exitosos como para hacerla crecer al ritmo de su empresa. Pero sus planes para el futuro van mucho más allá. Usando esta arquitectura y una combinación de procedimientos almacenados y servidores proxy en capas creen que su sistema puede escalar lo suficiente para manejar 1 Billón de usuarios.