SlideShare una empresa de Scribd logo
1 de 62
Descargar para leer sin conexión
Requerimientos para el uso de
                 PostgreSQL




Carlos Gustavo Ruiz
@carlosgr_arahat
Contenido
●
    Previo                         ●
                                       Gran Volumen
●
    Necesidades y
                                   ●
                                       Alta concurrencia
    Requerimientos                 ●
                                       Todo Junto
●
    Conozca su Proceso         ●
                                   Manejo de la
●
    Parámetros que debe            incertidumbre
    conocer                    ●
                                   Notas
●
    Escenarios                 ●
                                   Algo más?
    ●
        Instalación Básica
    ●
        Transacciones Largas
Pero antes..
..un anuncio.
En Venezuela si hay gente
Comprometida con el País
Que sólo necesita una oportunidad
    para dar, para compartir y
  para multiplicar sus talentos
Que demuestra con hechos..
 ..lo que dicen sus palabras
Gracias por la oportunidad




     Muchas Gracias
... dicho esto,
regresamos a la ponencia.
Previo
   Un día Juan
   Castalio va al
   nuevo
   automercado de su
   ciudad.
Previo
   Un día Juan
   Castalio va al
   nuevo
   automercado de su
   ciudad.
   Entra al local,
Previo
   Busca a una cajera
   muy atenta y le
   dice:
Previo
   - Señorita, ¿el
   mercado que voy a
   hacer será
   suficiente para mi
   familia? ¿Y dígame,
   entrará en mi
   nevera o necesitaré
   otra?
Previo
Si la pego de acá
Previo   me voy a dar los
         horóscopos en
              la tele..
Previo



¿Le parece familiar?
Necesidades y Requerimientos
●
    Necesito                ●
                                Requiero
    ●
        Registrar               ●
                                    Procesador
    ●
        Actualizar              ●
                                    RAM
    ●
        Inventariar             ●
                                    Disco
    ●
        Reportar                ●
                                    Ancho de Banda
    ●
        Analizar                ●
                                    Redundancia de
    ●
        Desplegar                   Servicios
    ●
        Monitorear
                                ●
                                    Configuraciones
    ●
        Seguir un Proceso       ●
                                    Satisfacer
                                    Necesidades
Conozca su Proceso
●
    ¿Conoce usted el proceso que va a ser guardado
    en la base de datos?
●
    ¿Tiene métricas que describan su base de datos
    en términos de volumen, longitud de
    transacciones, concurrencia de usuarios, etc?


●
    Si su gestor de base de datos fuese un vehículo
    ¿Cual es el mejor vehículo para su proceso?
Conozca su Proceso
¿Cual es el mejor
 vehículo?
Conozca su Proceso
¿Cual es el mejor
vehículo?
Conozca su Proceso
¿Cual es el mejor
vehículo?
Conozca su Proceso
¿Cual es el mejor
vehículo?
Conozca su Proceso
¿Cual es el mejor vehículo?
Conozca su Proceso
¿Cual es el mejor vehículo?
Conozca su Proceso
¿Cual es el mejor vehículo?
Conozca su Proceso
El desconocimiento de su proceso lo puede llevar a
tomar decisiones erradas, la cultura del no se si me
aprueben más presupuesto o por si me piden que le
ponga algo más, es perniciosa.


  “Vele que su requerimiento de hoy no sea
            hambre para mañana”
Vele que su requerimiento no esté sobredimension, no sea
       que no sea tomado en serio la próxima vez
 Vele que su requerimiento no esté subdimensionado y su
          proceso no quepa en su configuración
Parámetros que debe conocer
Para   determinar    los   Requerimientos    de
PostgreSQL para su proceso deberá conocer
cómo hacer los calculos básicos de entonación.
Sólo comprendiendo el funcionamiento del
gestor de bases de datos es posible dar un
estimado cercano a la realidad.
PostgreSQL es muy transparente en cuanto a su
funcionamiento, ello facilita la tarea de calcular
acertadamente los requerimientos de equipos,
disco, etc.
Parámetros que debe conocer



   Debe saber que PostgreSQL tiene
alrededor de 200 opciones y switches.
Parámetros que debe conocer




 Luce complejo dicho de esta manera,
              cierto?
Parámetros que debe conocer




Claro, que son menos que la cantidad de
     memes que usas en tus redes
             sociales, no?
Parámetros que debes conocer
●
    Los parámetros podemos separarlos en
    ●
        8 tipos de parámetos
    ●
        6 contextos
    ●
        5 lugares
Parámetros que debes conocer
●
    Tipos de Parámetros
    ●
        Booleanos
    ●
        Enteros
    ●
        Flotantes
    ●
        Memoria / Disco
    ●
        Tiempo
    ●
        Cadena de Caracteres
    ●
        Enumeraciones
    ●
        Listas
Parámetros que debes conocer
Contextos de Configur aciones
      ●
          Usuario   ●
                        Postmaster
 ●
     SuperUsuario       ●
                            Backend
      ●
          Sighup        ●
                            Internal
Parámetros que debes conocer
●
    Lugares para configurar
    ●
        Archivo postgresql.conf
    ●
        Instrucción SET
    ●
        pg_settings
    ●
        ALTER a objetos
    ●
        Línea de comandos
        y pgoptions
Escenario (Instalación Básica)
●
    Sistema Operativo: GNU/Linux (*)
●
    Fuente: Paquetería
●
    Memoria: Anda a partir de 512 MB RAM
    pero de 2GB en adelante será funcional
●
    Usuarios: Nominalmente 100
●
    Usos Frecuentes: bases de datos
    iniciales, proyectos medianos, páginas
    web, sitio para desarrollo, otros.
Escenario (Instalación Básica)

El problema de esta instalación es que
resultan como la ropa talla única. A
todo el mundo le sirve pero a nadie le
queda bien. Sin embargo es eficaz,
funciona y lo hace bien.
Escenarios
Recomendaciones Generales:
●
    Si usa paquetería no tendrá control
    sobre algunos contextos de
    PostgreSQL, prefiera compilar los
    fuentes
●
    Es conveniente ajustar
    simultaneamente los parámetros de
    PostgreSQL con el manejo de memoria
    del Kernel
Escenarios
●
    Recuerde que de la calidad de su
    hardware dependerá el desempeño
    de su servidor.
●
    Prefiera el uso de sistemas 64 bits,
    realmente lo vale.
●
    PostgreSQL es multiproceso, si tiene
    más CPUs este se encargará de
    aprovechar los recursos disponibles.
Escenarios
●
    Prefiera discos duros rápidos y con
    mecanismos de caché
●
    Tome en cuenta los tamaños del
    RAM y Disco Duro, haga uso de la
    calculadora.
●
    Si no cabe en la RAM recuerde que
    va al swap, ¿hace falta decir más?
Escenarios
●
    Es buena idea manejar varios discos,
    el movimiento del cabezal de disco
    es un tiempo adicional a vencer.
●
    ¿SCSI o IDE?
●
    Filesystem: Todo menos NFS
●
    TOAST: lo mejor después del pan
    rebanado.
Escenarios

     Y ahora las
     Pastillitas
Escenario (Transacciones Largas)

Palabras Claves:
●
    Las transacciones largas deben estar
    bien programadas, implementadas y
    probadas
●
    Los modos de aislamiento
    determinarán cómo será el acceso.
●
    Use locks explícitos si va a escribir.
●
    Ojo con el VACUUM
Escenario (Gran Volumen)
Palabras Claves:
●
    Cuidado con el AutoVacuum
●
    Verifique sus configuraciones de
    accesos a disco
●
    Verifique el tamaño de los Timeout
    para sus Checkpoints
Escenario (Gran Concurrencia)

Palabras Claves:
●
    Replicación
●
    Pool de conexiones
●
    Si es el caso de muchas UPDATE o
    INSERT de datos vea tambien el caso
    de Transacciones
Escenario (Todo Junto)
Palabras Clave:
●
    Mantener control sobre:
    ●
        CPU
    ●
        Memoria
    ●
        Disco
●
    Entonación Fina de Kernel y
    PostgreSQL
Manejo de Incertidumbre
Manejo de Incertidumbre
La incertidumbre o asumir la respuesta son el
quebradero que lleva a errar. Para evitarla use
herramientas para mejorar la comunicación,
como:
●
    No tema a preguntar en caso de dudas, recuerde
    que todos (usuario, programador y DBA)
    pertenecen al mismo equipo.
●
    Convertir las necesidades en métricas tangibles
    para establecer acuerdos medibles.
●
    Lea sobre PNL   (es en serio, le permitirá comunicarse mejor)
Notas
●
    Identifique sus posibles
    cuellos de botella con
    antelación.
●
    Diseñe esquemas
    inteligentes.
●
    Examine las
    capacidades reales de
    su plataforma.
●
    Evite la tentación de
    adivinar, calcule sus
    requerimientos.
Notas
   ●
       Si su proceso
       cambia, revise y
       actualice sus
       requerimientos.
   ●
       Cuando un usuario o
       proveedor le pida 10
       TB, 16 procesadores y
       60 GB en RAM busque
       el logo de la NASA.
¿Algo más?
Twitter: @tu_bd_libre
Portal para el intercambio de
 información, experiencias,
 vivencias y conocimientos
  en Bases de Datos Libres
Twitter: @tu_bd_libre
Artículos,
    Listas de Correos,
           Wiki,
Documentos para el Novato,
 Documentos para el DBA,
 Tips para el Programador.
Twitter: @tu_bd_libre
Lanzamiento el próximo
  01 de Junio de 2012
Síguenos por Twitter,
comenta cual es tu base de datos
 libre favorita y concursa por una
 de las 5 franelas promocionales
Twitter: @tu_bd_libre

Más contenido relacionado

La actualidad más candente

Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...José Antonio Sandoval Acosta
 
INYECCION SQL(SEGURIDAD DE LA INFORMACION)
INYECCION SQL(SEGURIDAD DE LA INFORMACION)INYECCION SQL(SEGURIDAD DE LA INFORMACION)
INYECCION SQL(SEGURIDAD DE LA INFORMACION)toshko86
 
Cuadro comparativo s.o
Cuadro  comparativo s.oCuadro  comparativo s.o
Cuadro comparativo s.oriosofelia
 
Diagrama de Flujo de Datos
Diagrama de Flujo de DatosDiagrama de Flujo de Datos
Diagrama de Flujo de DatosInés Andara
 
Iso 12207 diapositivas
Iso 12207 diapositivasIso 12207 diapositivas
Iso 12207 diapositivasskrass19
 
Metricas del proyecto de Software - introduccion
Metricas del proyecto de Software - introduccionMetricas del proyecto de Software - introduccion
Metricas del proyecto de Software - introduccionJose Diaz Silva
 
Unidad 3 graficacion
Unidad 3 graficacionUnidad 3 graficacion
Unidad 3 graficacionAndhy H Palma
 
Enfoque estructurado y Enfoque OO - Ingenieria de software
Enfoque estructurado y Enfoque OO  - Ingenieria de softwareEnfoque estructurado y Enfoque OO  - Ingenieria de software
Enfoque estructurado y Enfoque OO - Ingenieria de softwareKola Real
 
Programación del lado del cliente
Programación del lado del clienteProgramación del lado del cliente
Programación del lado del clienteGabriel Mondragón
 
Características, componentes y arquitectura de los dbms.
Características, componentes y arquitectura de los dbms.Características, componentes y arquitectura de los dbms.
Características, componentes y arquitectura de los dbms.Julicamargo
 
Servicios web xml
Servicios web xmlServicios web xml
Servicios web xmlJuan Anaya
 
Metodologías para el desarrollo de sistemas
Metodologías para el desarrollo de sistemasMetodologías para el desarrollo de sistemas
Metodologías para el desarrollo de sistemasEliset Gonzales Uceda
 

La actualidad más candente (20)

Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
 
INYECCION SQL(SEGURIDAD DE LA INFORMACION)
INYECCION SQL(SEGURIDAD DE LA INFORMACION)INYECCION SQL(SEGURIDAD DE LA INFORMACION)
INYECCION SQL(SEGURIDAD DE LA INFORMACION)
 
Cuadro comparativo s.o
Cuadro  comparativo s.oCuadro  comparativo s.o
Cuadro comparativo s.o
 
ADO
ADOADO
ADO
 
Diagrama de Flujo de Datos
Diagrama de Flujo de DatosDiagrama de Flujo de Datos
Diagrama de Flujo de Datos
 
Iso 12207 diapositivas
Iso 12207 diapositivasIso 12207 diapositivas
Iso 12207 diapositivas
 
Metricas del proyecto de Software - introduccion
Metricas del proyecto de Software - introduccionMetricas del proyecto de Software - introduccion
Metricas del proyecto de Software - introduccion
 
Agentes moviles
Agentes movilesAgentes moviles
Agentes moviles
 
Unidad 3 graficacion
Unidad 3 graficacionUnidad 3 graficacion
Unidad 3 graficacion
 
Roles desarrollo del software
Roles desarrollo del softwareRoles desarrollo del software
Roles desarrollo del software
 
Iso 25000
Iso 25000Iso 25000
Iso 25000
 
Enfoque estructurado y Enfoque OO - Ingenieria de software
Enfoque estructurado y Enfoque OO  - Ingenieria de softwareEnfoque estructurado y Enfoque OO  - Ingenieria de software
Enfoque estructurado y Enfoque OO - Ingenieria de software
 
Programación del lado del cliente
Programación del lado del clienteProgramación del lado del cliente
Programación del lado del cliente
 
Ingenieria De Software
Ingenieria De SoftwareIngenieria De Software
Ingenieria De Software
 
Características, componentes y arquitectura de los dbms.
Características, componentes y arquitectura de los dbms.Características, componentes y arquitectura de los dbms.
Características, componentes y arquitectura de los dbms.
 
Servicios web xml
Servicios web xmlServicios web xml
Servicios web xml
 
Estimación Software por Puntos de Función
Estimación Software por Puntos de FunciónEstimación Software por Puntos de Función
Estimación Software por Puntos de Función
 
Herramientas case
Herramientas caseHerramientas case
Herramientas case
 
Metodologías para el desarrollo de sistemas
Metodologías para el desarrollo de sistemasMetodologías para el desarrollo de sistemas
Metodologías para el desarrollo de sistemas
 

Similar a Requerimientos de PostgreSQL

PostgreSQL el core de OpenERP
PostgreSQL el core de OpenERPPostgreSQL el core de OpenERP
PostgreSQL el core de OpenERPCristian Salamea
 
Los casos de uso para In-Memory OLTP
Los casos de uso para In-Memory OLTPLos casos de uso para In-Memory OLTP
Los casos de uso para In-Memory OLTPSpanishPASSVC
 
Experiencia en el uso de software libre en administración de sistemas
Experiencia en el uso de software libre en administración de sistemasExperiencia en el uso de software libre en administración de sistemas
Experiencia en el uso de software libre en administración de sistemasDario
 
Programadores (hardware)
Programadores (hardware)Programadores (hardware)
Programadores (hardware)Yair Hernandez
 
Construcción de Aplicaciones de Avanzada con Geo-Distribución
Construcción de Aplicaciones de Avanzada con Geo-DistribuciónConstrucción de Aplicaciones de Avanzada con Geo-Distribución
Construcción de Aplicaciones de Avanzada con Geo-DistribuciónLoja Valle de Tecnología
 
Clase 2 - Arquitectura de Postgres
Clase 2 - Arquitectura de PostgresClase 2 - Arquitectura de Postgres
Clase 2 - Arquitectura de PostgresEddie Malca
 
dispositivos de almacenamiento interno y externo
dispositivos de almacenamiento interno y externodispositivos de almacenamiento interno y externo
dispositivos de almacenamiento interno y externoluiscolmena
 
Tabla y Manual de instalación de PostgreSQL 9.5
Tabla y Manual de instalación de PostgreSQL 9.5Tabla y Manual de instalación de PostgreSQL 9.5
Tabla y Manual de instalación de PostgreSQL 9.5AdrianAsisVegaSegura
 
Consejos de los expertos para actualizar el Stack ELK
Consejos de los expertos para actualizar el Stack ELKConsejos de los expertos para actualizar el Stack ELK
Consejos de los expertos para actualizar el Stack ELKImma Valls Bernaus
 
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
 
Memoria virtual formato a
Memoria virtual formato aMemoria virtual formato a
Memoria virtual formato aEdison_Pillajo
 
Screencast aprende python - parte 1
Screencast   aprende python - parte 1Screencast   aprende python - parte 1
Screencast aprende python - parte 1Noe Nieto
 
Recuperación de desastres y soluciones de alta disponibilidad con SQL Server
Recuperación de desastres y soluciones de alta disponibilidad con SQL ServerRecuperación de desastres y soluciones de alta disponibilidad con SQL Server
Recuperación de desastres y soluciones de alta disponibilidad con SQL ServerSpanishPASSVC
 

Similar a Requerimientos de PostgreSQL (20)

Ceph Meetup
Ceph MeetupCeph Meetup
Ceph Meetup
 
PostgreSQL el core de OpenERP
PostgreSQL el core de OpenERPPostgreSQL el core de OpenERP
PostgreSQL el core de OpenERP
 
Los casos de uso para In-Memory OLTP
Los casos de uso para In-Memory OLTPLos casos de uso para In-Memory OLTP
Los casos de uso para In-Memory OLTP
 
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
 
Experiencia en el uso de software libre en administración de sistemas
Experiencia en el uso de software libre en administración de sistemasExperiencia en el uso de software libre en administración de sistemas
Experiencia en el uso de software libre en administración de sistemas
 
Programadores (hardware)
Programadores (hardware)Programadores (hardware)
Programadores (hardware)
 
Construcción de Aplicaciones de Avanzada con Geo-Distribución
Construcción de Aplicaciones de Avanzada con Geo-DistribuciónConstrucción de Aplicaciones de Avanzada con Geo-Distribución
Construcción de Aplicaciones de Avanzada con Geo-Distribución
 
Clase 2 - Arquitectura de Postgres
Clase 2 - Arquitectura de PostgresClase 2 - Arquitectura de Postgres
Clase 2 - Arquitectura de Postgres
 
dispositivos de almacenamiento interno y externo
dispositivos de almacenamiento interno y externodispositivos de almacenamiento interno y externo
dispositivos de almacenamiento interno y externo
 
Tabla y Manual de instalación de PostgreSQL 9.5
Tabla y Manual de instalación de PostgreSQL 9.5Tabla y Manual de instalación de PostgreSQL 9.5
Tabla y Manual de instalación de PostgreSQL 9.5
 
Hpc
HpcHpc
Hpc
 
High Performance Computing con Software libre
High Performance Computing con Software libreHigh Performance Computing con Software libre
High Performance Computing con Software libre
 
Consejos de los expertos para actualizar el Stack ELK
Consejos de los expertos para actualizar el Stack ELKConsejos de los expertos para actualizar el Stack ELK
Consejos de los expertos para actualizar el Stack ELK
 
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
 
Memoria virtual formato a
Memoria virtual formato aMemoria virtual formato a
Memoria virtual formato a
 
Screencast aprende python - parte 1
Screencast   aprende python - parte 1Screencast   aprende python - parte 1
Screencast aprende python - parte 1
 
Laboratorio ccna
Laboratorio ccnaLaboratorio ccna
Laboratorio ccna
 
Lab 1
Lab 1Lab 1
Lab 1
 
Recuperación de desastres y soluciones de alta disponibilidad con SQL Server
Recuperación de desastres y soluciones de alta disponibilidad con SQL ServerRecuperación de desastres y soluciones de alta disponibilidad con SQL Server
Recuperación de desastres y soluciones de alta disponibilidad con SQL Server
 
Introducción a la Computacion paralela
Introducción a la Computacion paralelaIntroducción a la Computacion paralela
Introducción a la Computacion paralela
 

Más de Carlos Gustavo Ruiz

Bases de Datos Libres desde 40.000 pies de altura
Bases de Datos Libres desde 40.000 pies de alturaBases de Datos Libres desde 40.000 pies de altura
Bases de Datos Libres desde 40.000 pies de alturaCarlos Gustavo Ruiz
 
Por qué hacemos persistencia de datos
Por qué hacemos persistencia de datosPor qué hacemos persistencia de datos
Por qué hacemos persistencia de datosCarlos Gustavo Ruiz
 
Geomática Libre en Venezuela - Presentación a José Sosa (CNTI)
Geomática Libre en Venezuela - Presentación a José Sosa (CNTI)Geomática Libre en Venezuela - Presentación a José Sosa (CNTI)
Geomática Libre en Venezuela - Presentación a José Sosa (CNTI)Carlos Gustavo Ruiz
 
mini-taller de Base de Datos y PostgreSQL
mini-taller de Base de Datos y PostgreSQLmini-taller de Base de Datos y PostgreSQL
mini-taller de Base de Datos y PostgreSQLCarlos Gustavo Ruiz
 
Integrando mis librerías C++ con Python
Integrando mis librerías C++ con PythonIntegrando mis librerías C++ con Python
Integrando mis librerías C++ con PythonCarlos Gustavo Ruiz
 
Alta Disponibilidad con PostgreSQL
Alta Disponibilidad con PostgreSQLAlta Disponibilidad con PostgreSQL
Alta Disponibilidad con PostgreSQLCarlos Gustavo Ruiz
 
Mejores prácticas para migración de Bases de Datos
Mejores prácticas para migración de Bases de DatosMejores prácticas para migración de Bases de Datos
Mejores prácticas para migración de Bases de DatosCarlos Gustavo Ruiz
 
Mapa Colaborativo con OpenStreetMap
Mapa Colaborativo con OpenStreetMapMapa Colaborativo con OpenStreetMap
Mapa Colaborativo con OpenStreetMapCarlos Gustavo Ruiz
 
GeoEtiquetas (2das Jornadas Latinoamérica y Caribe gvSIG)
GeoEtiquetas (2das Jornadas Latinoamérica y Caribe gvSIG)GeoEtiquetas (2das Jornadas Latinoamérica y Caribe gvSIG)
GeoEtiquetas (2das Jornadas Latinoamérica y Caribe gvSIG)Carlos Gustavo Ruiz
 

Más de Carlos Gustavo Ruiz (13)

Vim python-mode
Vim python-modeVim python-mode
Vim python-mode
 
Bases de Datos Libres desde 40.000 pies de altura
Bases de Datos Libres desde 40.000 pies de alturaBases de Datos Libres desde 40.000 pies de altura
Bases de Datos Libres desde 40.000 pies de altura
 
Por qué hacemos persistencia de datos
Por qué hacemos persistencia de datosPor qué hacemos persistencia de datos
Por qué hacemos persistencia de datos
 
Geomática Libre en Venezuela - Presentación a José Sosa (CNTI)
Geomática Libre en Venezuela - Presentación a José Sosa (CNTI)Geomática Libre en Venezuela - Presentación a José Sosa (CNTI)
Geomática Libre en Venezuela - Presentación a José Sosa (CNTI)
 
mini-taller de Base de Datos y PostgreSQL
mini-taller de Base de Datos y PostgreSQLmini-taller de Base de Datos y PostgreSQL
mini-taller de Base de Datos y PostgreSQL
 
Web Mapping con Django
Web Mapping con DjangoWeb Mapping con Django
Web Mapping con Django
 
Integrando mis librerías C++ con Python
Integrando mis librerías C++ con PythonIntegrando mis librerías C++ con Python
Integrando mis librerías C++ con Python
 
Alta Disponibilidad con PostgreSQL
Alta Disponibilidad con PostgreSQLAlta Disponibilidad con PostgreSQL
Alta Disponibilidad con PostgreSQL
 
Guía de pgpool Paso a Paso
Guía de pgpool Paso a PasoGuía de pgpool Paso a Paso
Guía de pgpool Paso a Paso
 
Mejores prácticas para migración de Bases de Datos
Mejores prácticas para migración de Bases de DatosMejores prácticas para migración de Bases de Datos
Mejores prácticas para migración de Bases de Datos
 
Mapa Colaborativo con OpenStreetMap
Mapa Colaborativo con OpenStreetMapMapa Colaborativo con OpenStreetMap
Mapa Colaborativo con OpenStreetMap
 
Python vs El Mundo
Python vs El MundoPython vs El Mundo
Python vs El Mundo
 
GeoEtiquetas (2das Jornadas Latinoamérica y Caribe gvSIG)
GeoEtiquetas (2das Jornadas Latinoamérica y Caribe gvSIG)GeoEtiquetas (2das Jornadas Latinoamérica y Caribe gvSIG)
GeoEtiquetas (2das Jornadas Latinoamérica y Caribe gvSIG)
 

Requerimientos de PostgreSQL

  • 1. Requerimientos para el uso de PostgreSQL Carlos Gustavo Ruiz @carlosgr_arahat
  • 2. Contenido ● Previo ● Gran Volumen ● Necesidades y ● Alta concurrencia Requerimientos ● Todo Junto ● Conozca su Proceso ● Manejo de la ● Parámetros que debe incertidumbre conocer ● Notas ● Escenarios ● Algo más? ● Instalación Básica ● Transacciones Largas
  • 5.
  • 6. En Venezuela si hay gente Comprometida con el País
  • 7.
  • 8. Que sólo necesita una oportunidad para dar, para compartir y para multiplicar sus talentos
  • 9.
  • 10. Que demuestra con hechos.. ..lo que dicen sus palabras
  • 11. Gracias por la oportunidad Muchas Gracias
  • 12. ... dicho esto, regresamos a la ponencia.
  • 13. Previo Un día Juan Castalio va al nuevo automercado de su ciudad.
  • 14. Previo Un día Juan Castalio va al nuevo automercado de su ciudad. Entra al local,
  • 15. Previo Busca a una cajera muy atenta y le dice:
  • 16. Previo - Señorita, ¿el mercado que voy a hacer será suficiente para mi familia? ¿Y dígame, entrará en mi nevera o necesitaré otra?
  • 18. Si la pego de acá Previo me voy a dar los horóscopos en la tele..
  • 20. Necesidades y Requerimientos ● Necesito ● Requiero ● Registrar ● Procesador ● Actualizar ● RAM ● Inventariar ● Disco ● Reportar ● Ancho de Banda ● Analizar ● Redundancia de ● Desplegar Servicios ● Monitorear ● Configuraciones ● Seguir un Proceso ● Satisfacer Necesidades
  • 21. Conozca su Proceso ● ¿Conoce usted el proceso que va a ser guardado en la base de datos? ● ¿Tiene métricas que describan su base de datos en términos de volumen, longitud de transacciones, concurrencia de usuarios, etc? ● Si su gestor de base de datos fuese un vehículo ¿Cual es el mejor vehículo para su proceso?
  • 22. Conozca su Proceso ¿Cual es el mejor vehículo?
  • 23. Conozca su Proceso ¿Cual es el mejor vehículo?
  • 24. Conozca su Proceso ¿Cual es el mejor vehículo?
  • 25. Conozca su Proceso ¿Cual es el mejor vehículo?
  • 26. Conozca su Proceso ¿Cual es el mejor vehículo?
  • 27. Conozca su Proceso ¿Cual es el mejor vehículo?
  • 28. Conozca su Proceso ¿Cual es el mejor vehículo?
  • 29. Conozca su Proceso El desconocimiento de su proceso lo puede llevar a tomar decisiones erradas, la cultura del no se si me aprueben más presupuesto o por si me piden que le ponga algo más, es perniciosa. “Vele que su requerimiento de hoy no sea hambre para mañana” Vele que su requerimiento no esté sobredimension, no sea que no sea tomado en serio la próxima vez Vele que su requerimiento no esté subdimensionado y su proceso no quepa en su configuración
  • 30. Parámetros que debe conocer Para determinar los Requerimientos de PostgreSQL para su proceso deberá conocer cómo hacer los calculos básicos de entonación. Sólo comprendiendo el funcionamiento del gestor de bases de datos es posible dar un estimado cercano a la realidad. PostgreSQL es muy transparente en cuanto a su funcionamiento, ello facilita la tarea de calcular acertadamente los requerimientos de equipos, disco, etc.
  • 31. Parámetros que debe conocer Debe saber que PostgreSQL tiene alrededor de 200 opciones y switches.
  • 32. Parámetros que debe conocer Luce complejo dicho de esta manera, cierto?
  • 33. Parámetros que debe conocer Claro, que son menos que la cantidad de memes que usas en tus redes sociales, no?
  • 34. Parámetros que debes conocer ● Los parámetros podemos separarlos en ● 8 tipos de parámetos ● 6 contextos ● 5 lugares
  • 35. Parámetros que debes conocer ● Tipos de Parámetros ● Booleanos ● Enteros ● Flotantes ● Memoria / Disco ● Tiempo ● Cadena de Caracteres ● Enumeraciones ● Listas
  • 36. Parámetros que debes conocer Contextos de Configur aciones ● Usuario ● Postmaster ● SuperUsuario ● Backend ● Sighup ● Internal
  • 37. Parámetros que debes conocer ● Lugares para configurar ● Archivo postgresql.conf ● Instrucción SET ● pg_settings ● ALTER a objetos ● Línea de comandos y pgoptions
  • 38. Escenario (Instalación Básica) ● Sistema Operativo: GNU/Linux (*) ● Fuente: Paquetería ● Memoria: Anda a partir de 512 MB RAM pero de 2GB en adelante será funcional ● Usuarios: Nominalmente 100 ● Usos Frecuentes: bases de datos iniciales, proyectos medianos, páginas web, sitio para desarrollo, otros.
  • 39. Escenario (Instalación Básica) El problema de esta instalación es que resultan como la ropa talla única. A todo el mundo le sirve pero a nadie le queda bien. Sin embargo es eficaz, funciona y lo hace bien.
  • 40. Escenarios Recomendaciones Generales: ● Si usa paquetería no tendrá control sobre algunos contextos de PostgreSQL, prefiera compilar los fuentes ● Es conveniente ajustar simultaneamente los parámetros de PostgreSQL con el manejo de memoria del Kernel
  • 41. Escenarios ● Recuerde que de la calidad de su hardware dependerá el desempeño de su servidor. ● Prefiera el uso de sistemas 64 bits, realmente lo vale. ● PostgreSQL es multiproceso, si tiene más CPUs este se encargará de aprovechar los recursos disponibles.
  • 42. Escenarios ● Prefiera discos duros rápidos y con mecanismos de caché ● Tome en cuenta los tamaños del RAM y Disco Duro, haga uso de la calculadora. ● Si no cabe en la RAM recuerde que va al swap, ¿hace falta decir más?
  • 43. Escenarios ● Es buena idea manejar varios discos, el movimiento del cabezal de disco es un tiempo adicional a vencer. ● ¿SCSI o IDE? ● Filesystem: Todo menos NFS ● TOAST: lo mejor después del pan rebanado.
  • 44. Escenarios Y ahora las Pastillitas
  • 45. Escenario (Transacciones Largas) Palabras Claves: ● Las transacciones largas deben estar bien programadas, implementadas y probadas ● Los modos de aislamiento determinarán cómo será el acceso. ● Use locks explícitos si va a escribir. ● Ojo con el VACUUM
  • 46. Escenario (Gran Volumen) Palabras Claves: ● Cuidado con el AutoVacuum ● Verifique sus configuraciones de accesos a disco ● Verifique el tamaño de los Timeout para sus Checkpoints
  • 47. Escenario (Gran Concurrencia) Palabras Claves: ● Replicación ● Pool de conexiones ● Si es el caso de muchas UPDATE o INSERT de datos vea tambien el caso de Transacciones
  • 48. Escenario (Todo Junto) Palabras Clave: ● Mantener control sobre: ● CPU ● Memoria ● Disco ● Entonación Fina de Kernel y PostgreSQL
  • 50. Manejo de Incertidumbre La incertidumbre o asumir la respuesta son el quebradero que lleva a errar. Para evitarla use herramientas para mejorar la comunicación, como: ● No tema a preguntar en caso de dudas, recuerde que todos (usuario, programador y DBA) pertenecen al mismo equipo. ● Convertir las necesidades en métricas tangibles para establecer acuerdos medibles. ● Lea sobre PNL (es en serio, le permitirá comunicarse mejor)
  • 51. Notas ● Identifique sus posibles cuellos de botella con antelación. ● Diseñe esquemas inteligentes. ● Examine las capacidades reales de su plataforma. ● Evite la tentación de adivinar, calcule sus requerimientos.
  • 52. Notas ● Si su proceso cambia, revise y actualice sus requerimientos. ● Cuando un usuario o proveedor le pida 10 TB, 16 procesadores y 60 GB en RAM busque el logo de la NASA.
  • 54.
  • 56. Portal para el intercambio de información, experiencias, vivencias y conocimientos en Bases de Datos Libres
  • 58. Artículos, Listas de Correos, Wiki, Documentos para el Novato, Documentos para el DBA, Tips para el Programador.
  • 60. Lanzamiento el próximo 01 de Junio de 2012
  • 61. Síguenos por Twitter, comenta cual es tu base de datos libre favorita y concursa por una de las 5 franelas promocionales