SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
Cristian Salamea




         @ovnicraft

cristian.salamea@gnuthink.com
Gnuthink Software Labs
    www.gnuthink.com



  Open Source Editor

        OpenERP
  Django - GeoDjango
         Flask
Por qué editor de OSS




Explícito es mejor que implícito
 (explicit is better than implicit)
                                      Zen of Python
Recomendación


    Si no usas PostgreSQL
estas tomando un camino difícil
Postgres for Mac logo
Por qué Postgres ?

●   Object Oriented-like
●   Estabilidad
●   Alta disponibilidad
●   Schemas
●   Seguridad
Objetos y Herencia

●   Todos programamos objetos
●   Necesitamos extender atributos
●   Necesitamos prototipar*
●   Necesitamos hacerlo rápido
●   Necesitamos hacerlo *muy* bien
ORM en OpenERP

●   Wrapper sobre psycopg2
    –   Psycopg2 es un wrapper sobre libpq
●   Implementación de requerimientos
    específicos
●   Es el cursor extendido
Cursor de OpenERP
●   Implementación de propia
    concurrencia
●   SQL define 4 niveles de insolación
    de transacción
    –   Desde *most stricted serializable*
    –   Hasta *strict Read uncommited*
●   No permitir corrupción de datos en
    transacciones
Persistencia de Datos
●   Especificación de Python PEP249
●   Database Adapter: Psycopg2
    –   Wrapper sobre libpq
●   Implementa layer ORM
●   Propia protección a nivel de
    registro
Mapeo de Objetos
●   PostgreSQL permitió facilidad
●   Protección contra concurrencia
●   Gestor de transacciones
    –   Commit
    –   Rollback
Niveles de Arquitectura
●   MVC
    –   Modelo
    –   Vista
    –   Controlador
●   ORM extendible
    –   Nuevos tipos de datos
Free !
Mapas !
Más !
●   PL/V8
    –   Rápido
●   Hstore
    –   Llave-valor
    –   NoSQL style
●   Mejor rendimiento en disco
●   Gracias PG 9.2
JSON
●   PostgreSQL lo hace por mi
●   Reducción de procesamiento
●   Mejora en tiempo de respuesta en
    la Aplicación
Backups




●Remote full hot
●Point in time recovery

●Con multiples servidores

●Catalogo de backups
Ejemplos
●   Nómina de 6000 empleados
    –   6000 roles
    –   10 registros foráneos por rol como
        mín.
    –   3 campos calculados por registro
Financiero
●   Balance General
    –   200k registro contables
●   Permite a OpenERP ser un ERP
    –   Con información en línea
    –   No batch process
SaaS
●   Software como servicio
●   Demanda alta disponibilidad
●   Alta concurrencia
●   Volumen grande de datos
PostgreSQL in da house
Objetivos
Cambiar el modelo de hacer negocios
Distribuir los datos y permitir el
   acceso al mejores aplicaciones

Permitir usar un ERP de clase mundial
            en sudamérica

            Use it now !
gracias !

Más contenido relacionado

Similar a Por qué PostgreSQL es mejor que otras bases de datos

Herramientas para la medicion de desempeño PHPConMX 2012
Herramientas para la medicion de desempeño  PHPConMX 2012Herramientas para la medicion de desempeño  PHPConMX 2012
Herramientas para la medicion de desempeño PHPConMX 2012Carlos Nacianceno
 
Why Apache Flink is better than Spark by Rubén Casado
Why Apache Flink is better than Spark by Rubén CasadoWhy Apache Flink is better than Spark by Rubén Casado
Why Apache Flink is better than Spark by Rubén CasadoBig Data Spain
 
Plone 4 — what's up doc?
Plone 4 — what's up doc?Plone 4 — what's up doc?
Plone 4 — what's up doc?menttes
 
Los reinos de finizens - Nuestro stark tecnológico
Los reinos de finizens - Nuestro stark tecnológicoLos reinos de finizens - Nuestro stark tecnológico
Los reinos de finizens - Nuestro stark tecnológicoFinizens
 
Características nosql de postgresql
Características nosql de postgresqlCaracterísticas nosql de postgresql
Características nosql de postgresqlAnthony Sotolongo
 
Web framework ligeros y micros en java barcamp 2014
Web framework ligeros y micros en java   barcamp 2014Web framework ligeros y micros en java   barcamp 2014
Web framework ligeros y micros en java barcamp 2014Carlos Camacho
 
Migrando de MSSQL a PostgreSQL
Migrando de MSSQL a PostgreSQLMigrando de MSSQL a PostgreSQL
Migrando de MSSQL a PostgreSQLscastell77
 
Un viaje a la observabilidad
Un viaje a la observabilidadUn viaje a la observabilidad
Un viaje a la observabilidadElasticsearch
 
Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - ...
Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - ...Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - ...
Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - ...Stratio
 
MongoDB Atlas: La mejor forma de utilizar MongoDB en la nube 1
MongoDB Atlas: La mejor forma de utilizar  MongoDB en la nube 1MongoDB Atlas: La mejor forma de utilizar  MongoDB en la nube 1
MongoDB Atlas: La mejor forma de utilizar MongoDB en la nube 1MongoDB
 
Gestionando tu infraestructura con Ansible
Gestionando tu infraestructura con Ansible Gestionando tu infraestructura con Ansible
Gestionando tu infraestructura con Ansible Moisés Maciá
 
NFC-Conexiones remotas a bases de datos
NFC-Conexiones remotas a bases de datosNFC-Conexiones remotas a bases de datos
NFC-Conexiones remotas a bases de datosGDGMallorca
 

Similar a Por qué PostgreSQL es mejor que otras bases de datos (20)

Paralela10
Paralela10Paralela10
Paralela10
 
Requerimientos de PostgreSQL
Requerimientos de PostgreSQLRequerimientos de PostgreSQL
Requerimientos de PostgreSQL
 
Herramientas para la medicion de desempeño PHPConMX 2012
Herramientas para la medicion de desempeño  PHPConMX 2012Herramientas para la medicion de desempeño  PHPConMX 2012
Herramientas para la medicion de desempeño PHPConMX 2012
 
Why Apache Flink is better than Spark by Rubén Casado
Why Apache Flink is better than Spark by Rubén CasadoWhy Apache Flink is better than Spark by Rubén Casado
Why Apache Flink is better than Spark by Rubén Casado
 
Plone 4 — what's up doc?
Plone 4 — what's up doc?Plone 4 — what's up doc?
Plone 4 — what's up doc?
 
Los reinos de finizens - Nuestro stark tecnológico
Los reinos de finizens - Nuestro stark tecnológicoLos reinos de finizens - Nuestro stark tecnológico
Los reinos de finizens - Nuestro stark tecnológico
 
Características nosql de postgresql
Características nosql de postgresqlCaracterísticas nosql de postgresql
Características nosql de postgresql
 
El arte de la ciencia de datos
El arte de la ciencia de datosEl arte de la ciencia de datos
El arte de la ciencia de datos
 
Web framework ligeros y micros en java barcamp 2014
Web framework ligeros y micros en java   barcamp 2014Web framework ligeros y micros en java   barcamp 2014
Web framework ligeros y micros en java barcamp 2014
 
Dentro de un Backend
Dentro de un BackendDentro de un Backend
Dentro de un Backend
 
Migrando de MSSQL a PostgreSQL
Migrando de MSSQL a PostgreSQLMigrando de MSSQL a PostgreSQL
Migrando de MSSQL a PostgreSQL
 
Un viaje a la observabilidad
Un viaje a la observabilidadUn viaje a la observabilidad
Un viaje a la observabilidad
 
Hadoop en accion
Hadoop en accionHadoop en accion
Hadoop en accion
 
Scrum para uno
Scrum para unoScrum para uno
Scrum para uno
 
Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - ...
Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - ...Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - ...
Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - ...
 
Spark web meetup
Spark web meetupSpark web meetup
Spark web meetup
 
Effective Network Layer: API lovers and Apps
Effective Network Layer: API lovers and AppsEffective Network Layer: API lovers and Apps
Effective Network Layer: API lovers and Apps
 
MongoDB Atlas: La mejor forma de utilizar MongoDB en la nube 1
MongoDB Atlas: La mejor forma de utilizar  MongoDB en la nube 1MongoDB Atlas: La mejor forma de utilizar  MongoDB en la nube 1
MongoDB Atlas: La mejor forma de utilizar MongoDB en la nube 1
 
Gestionando tu infraestructura con Ansible
Gestionando tu infraestructura con Ansible Gestionando tu infraestructura con Ansible
Gestionando tu infraestructura con Ansible
 
NFC-Conexiones remotas a bases de datos
NFC-Conexiones remotas a bases de datosNFC-Conexiones remotas a bases de datos
NFC-Conexiones remotas a bases de datos
 

Por qué PostgreSQL es mejor que otras bases de datos

  • 1.
  • 2. Cristian Salamea @ovnicraft cristian.salamea@gnuthink.com
  • 3. Gnuthink Software Labs www.gnuthink.com Open Source Editor OpenERP Django - GeoDjango Flask
  • 4. Por qué editor de OSS Explícito es mejor que implícito (explicit is better than implicit) Zen of Python
  • 5. Recomendación Si no usas PostgreSQL estas tomando un camino difícil
  • 7. Por qué Postgres ? ● Object Oriented-like ● Estabilidad ● Alta disponibilidad ● Schemas ● Seguridad
  • 8. Objetos y Herencia ● Todos programamos objetos ● Necesitamos extender atributos ● Necesitamos prototipar* ● Necesitamos hacerlo rápido ● Necesitamos hacerlo *muy* bien
  • 9. ORM en OpenERP ● Wrapper sobre psycopg2 – Psycopg2 es un wrapper sobre libpq ● Implementación de requerimientos específicos ● Es el cursor extendido
  • 10. Cursor de OpenERP ● Implementación de propia concurrencia ● SQL define 4 niveles de insolación de transacción – Desde *most stricted serializable* – Hasta *strict Read uncommited* ● No permitir corrupción de datos en transacciones
  • 11. Persistencia de Datos ● Especificación de Python PEP249 ● Database Adapter: Psycopg2 – Wrapper sobre libpq ● Implementa layer ORM ● Propia protección a nivel de registro
  • 12. Mapeo de Objetos ● PostgreSQL permitió facilidad ● Protección contra concurrencia ● Gestor de transacciones – Commit – Rollback
  • 13. Niveles de Arquitectura ● MVC – Modelo – Vista – Controlador ● ORM extendible – Nuevos tipos de datos
  • 16.
  • 17. Más ! ● PL/V8 – Rápido ● Hstore – Llave-valor – NoSQL style ● Mejor rendimiento en disco ● Gracias PG 9.2
  • 18. JSON ● PostgreSQL lo hace por mi ● Reducción de procesamiento ● Mejora en tiempo de respuesta en la Aplicación
  • 19. Backups ●Remote full hot ●Point in time recovery ●Con multiples servidores ●Catalogo de backups
  • 20. Ejemplos ● Nómina de 6000 empleados – 6000 roles – 10 registros foráneos por rol como mín. – 3 campos calculados por registro
  • 21. Financiero ● Balance General – 200k registro contables ● Permite a OpenERP ser un ERP – Con información en línea – No batch process
  • 22. SaaS ● Software como servicio ● Demanda alta disponibilidad ● Alta concurrencia ● Volumen grande de datos
  • 25. Cambiar el modelo de hacer negocios
  • 26. Distribuir los datos y permitir el acceso al mejores aplicaciones Permitir usar un ERP de clase mundial en sudamérica Use it now !