SlideShare ist ein Scribd-Unternehmen logo
1 von 62
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Gestion entrada y salida
Gestion entrada y salidaGestion entrada y salida
Gestion entrada y salidaDavid Martinez
 
Unidadi. lenguajes de interfaz
Unidadi.   lenguajes de interfazUnidadi.   lenguajes de interfaz
Unidadi. lenguajes de interfazLuiS YmAY
 
administracion de entrada, salida y procesos
administracion de entrada, salida y procesosadministracion de entrada, salida y procesos
administracion de entrada, salida y procesosSamir Barrios
 
Procesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasProcesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasJ M
 
Comparativa sgbd comercial vs libre
Comparativa sgbd comercial vs libreComparativa sgbd comercial vs libre
Comparativa sgbd comercial vs libreFportavella
 
Manejador de Base de Datos
Manejador de Base de Datos Manejador de Base de Datos
Manejador de Base de Datos Brenda Medina
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidosVictor Milano
 
Cuadro comparativo de manejadores de la base de datos
Cuadro comparativo de manejadores de la base de datos Cuadro comparativo de manejadores de la base de datos
Cuadro comparativo de manejadores de la base de datos Maria Garcia
 
Gestión de Entrada y Salida
Gestión de Entrada y SalidaGestión de Entrada y Salida
Gestión de Entrada y SalidaAlf Chee
 
Administración de procesos en el S.O.
Administración de procesos en el S.O.Administración de procesos en el S.O.
Administración de procesos en el S.O.Carlos Solano
 
Unidad 2 concepto de Programa,Proceso y Procesador
Unidad 2  concepto de Programa,Proceso y ProcesadorUnidad 2  concepto de Programa,Proceso y Procesador
Unidad 2 concepto de Programa,Proceso y ProcesadorMario Alberto Antonio Lopez
 
Administración de la memoria virtual.
Administración de la memoria virtual.Administración de la memoria virtual.
Administración de la memoria virtual.Lely
 
Sistemas Distribuidos
Sistemas DistribuidosSistemas Distribuidos
Sistemas Distribuidosdrianda
 

Was ist angesagt? (20)

Tecnicas de Administracion de Memoria
Tecnicas de Administracion de MemoriaTecnicas de Administracion de Memoria
Tecnicas de Administracion de Memoria
 
Gestion entrada y salida
Gestion entrada y salidaGestion entrada y salida
Gestion entrada y salida
 
Taller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL proceduralTaller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL procedural
 
Unidadi. lenguajes de interfaz
Unidadi.   lenguajes de interfazUnidadi.   lenguajes de interfaz
Unidadi. lenguajes de interfaz
 
administracion de entrada, salida y procesos
administracion de entrada, salida y procesosadministracion de entrada, salida y procesos
administracion de entrada, salida y procesos
 
Procesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasProcesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o Hebras
 
Proyecto sistema operativo suspes
Proyecto sistema operativo suspesProyecto sistema operativo suspes
Proyecto sistema operativo suspes
 
Comparativa sgbd comercial vs libre
Comparativa sgbd comercial vs libreComparativa sgbd comercial vs libre
Comparativa sgbd comercial vs libre
 
Taller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 ConectividadTaller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 Conectividad
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Manejador de Base de Datos
Manejador de Base de Datos Manejador de Base de Datos
Manejador de Base de Datos
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Cuadro comparativo de manejadores de la base de datos
Cuadro comparativo de manejadores de la base de datos Cuadro comparativo de manejadores de la base de datos
Cuadro comparativo de manejadores de la base de datos
 
Gestión de Entrada y Salida
Gestión de Entrada y SalidaGestión de Entrada y Salida
Gestión de Entrada y Salida
 
Administración de procesos en el S.O.
Administración de procesos en el S.O.Administración de procesos en el S.O.
Administración de procesos en el S.O.
 
Unidad 2 concepto de Programa,Proceso y Procesador
Unidad 2  concepto de Programa,Proceso y ProcesadorUnidad 2  concepto de Programa,Proceso y Procesador
Unidad 2 concepto de Programa,Proceso y Procesador
 
Administración de la memoria virtual.
Administración de la memoria virtual.Administración de la memoria virtual.
Administración de la memoria virtual.
 
Sistemas Distribuidos
Sistemas DistribuidosSistemas Distribuidos
Sistemas Distribuidos
 
Sistemas embebidos
Sistemas embebidosSistemas embebidos
Sistemas embebidos
 
Kernel o núcleo
Kernel o núcleoKernel o núcleo
Kernel o núcleo
 

Ähnlich wie 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
 

Ähnlich wie 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
 
High Performance Computing con Software libre
High Performance Computing con Software libreHigh Performance Computing con Software libre
High Performance Computing con Software libre
 
Hpc
HpcHpc
Hpc
 
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
 

Mehr von 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
 

Mehr von 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