Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Modernización de Bases de Datos Open Source

OnGres
November 16, 2021

Modernización de Bases de Datos Open Source

Explorando el viaje DBaaS con Postgres

No cabe duda que los datos son la nueva moneda y que las empresas funcionan con bases de datos. Pero aunque las bases de datos son la clave para desbloquear el valor del negocio, muchas están construidas sobre complejas plataformas tradicionales que no pueden satisfacer las demandas modernas de hoy en día.

Durante este virtual bootcamp, podrá aprender mediante demos y hands-on lab y de la mano de Álvaro Hernández, fundador y CEO de Ongres, a describir la metodología y los beneficios a través de la aceleración del viaje de transformación de las bases de datos.

Y de la mano de los expertos de Nutanix, profundizará en nuestras soluciones para bases de datos que ofrecen facilidad de gestión y entrega, eficiencia operativa, agilidad y escalabilidad para manejar incluso las cargas de trabajo más exigentes en una única plataforma de software preparada para la nube.

https://event.nutanix.com/vbootcampbasesdedatosoct

OnGres

November 16, 2021
Tweet

More Decks by OnGres

Other Decks in Technology

Transcript

  1. Modernización de Bases de Datos Open Source
    Modernización de
    Bases de Datos
    Open Source
    Nutanix - Virtual Bootcamp

    View Slide

  2. Modernización de Bases de Datos Open Source
    ` whoami `
    ● Fundador y CEO, OnGres
    ● DBA y usuario de Postgres por más de 20 años
    ● Centrado en la I+D en bases de datos Postgres
    ● Muy frecuente ponente en conferencias de
    Postgres y bases de datos
    ● Arquitecto principal de StackGres, ToroDB
    ● Fundador y Presidente de la Fundación
    PostgreSQL
    ● AWS Data Hero
    Álvaro Hernández
    aht.es
    @ahachete

    View Slide

  3. Modernización de Bases de Datos Open Source
    Modernización de Bases de Datos:
    Postgres
    ¿Por qué Postgres?

    View Slide

  4. Modernización de Bases de Datos Open Source
    Lo primero de todo: ¿cómo se pronuncia?
    ● Post como un “post en un blog”
    ● gre
    ● SQL (pronunciado en español)
    post-gre-ese-ku-ele

    View Slide

  5. Modernización de Bases de Datos Open Source
    Lo primero de todo: ¿cómo se pronuncia?
    ¿Muy complicado?
    Simplificamos. Usa:
    post-GRES

    View Slide

  6. Modernización de Bases de Datos Open Source
    Lo primero de todo: ¿cómo NO se pronuncia?
    Pero nunca...
    post-GRE
    postRE

    View Slide

  7. Modernización de Bases de Datos Open Source
    Popularidad
    ● Elegida base de datos del año 2017, 2018 y 2020:

    View Slide

  8. Modernización de Bases de Datos Open Source
    Popularidad
    ● La segunda base de datos más deseada después de Redis
    (fuente: StackOverflow 2021 Survey).
    ● Fuente: DataDog Container Report:
    ○ La tercera imagen de contenedor más popular (sólo por detrás
    de NGINX y Redis).
    ○ La segunda imagen más usada en Kubernetes Stateful Sets.
    ¿Es la popularidad una razón de peso?

    View Slide

  9. Modernización de Bases de Datos Open Source
    Reputación
    ● Postgres tiene una muy alta consideración en la comunidad técnica.
    Casi nadie critica negativamente a Postgres. Casi todo el mundo
    alaba:
    ○ Su robustez
    ○ Cumplimiento del estándar SQL
    ○ Gran cantidad de funcionalidades
    ○ Calendario anual y conservador de adición de nuevas
    funcionalidades.

    View Slide

  10. Modernización de Bases de Datos Open Source
    Licencia
    ● Licencia software libre muy liberal.
    ● No hay en esencia ninguna restricción a su uso.
    ● Se pueden incluso hacer forks propietarios.
    ● No depende de ninguna empresa principal. Es una comunidad
    puramente distribuida, de forma similar a Linux.

    View Slide

  11. Modernización de Bases de Datos Open Source
    Completísima documentación
    ● Casi 3.000 páginas de manual:

    View Slide

  12. Modernización de Bases de Datos Open Source
    Extensiones: ¡mejora y transforma Postgres!
    PostGIS: añade las capacidades GIS más avanzadas
    CitusData: sharding, y consultas distribuidas
    pg_auto_failover: alta disponibilidad, como extensión
    Timescale: añade funcionalidad de time-series (IoT)
    ZomboDB: un índice que es un ElasticSearch remoto

    View Slide

  13. Modernización de Bases de Datos Open Source
    Funcionalidad muy avanzada
    ● DDL transaccional.
    ● Variedad de índices (funcionales, parciales, hash, GIN, GIST, BRIN).
    ¡Incluso puedes crear tu propio tipo de índice!
    ● Soporte muy avanzado de JSON.
    ● SQL muy avanzado y completo (ver modern-sql.com).
    ● No uno, sino muchos lenguajes para procedimientos almacenados:
    plpgsql, Python, Perl, Java, JavaScript, R...

    View Slide

  14. Modernización de Bases de Datos Open Source
    FDWs: Foreign Data Wrappers
    ● Implementación del estándar SQL/MED.
    ● Permite acceder a fuentes de datos externas como si fueran tablas
    “virtuales” en Postgres.
    ● API que permite fuentes externas muy ricas, incluyendo:
    ○ Otras bases de datos relacionales (Oracle, SQL Server...)
    ○ Bases de datos no relacionales (MongoDB, HBase, Neo4j…)
    ○ Ficheros (CSV, JSON, XML, ZIP, Parquet)
    ○ ¡Muchos otros, web, APIs…!

    View Slide

  15. Modernización de Bases de Datos Open Source
    ¡Babelfish!
    ● Una capa de compatibilidad con SQL Server sobre Postgres.
    ● Implementa tanto T-SQL como el protocolo TDS.
    ● Permite migrar aplicaciones de SQL Server con mucho menor
    esfuerzo (teóricamente y en algún momento: 0).
    ● Más información:
    ○ https://babelfishpg.org
    ○ https://stackgres.io/blog/easily-running-babelfish-for-postgresql-o
    n-kubernetes/

    View Slide

  16. Modernización de Bases de Datos Open Source
    Anatomía de una Migración

    View Slide

  17. Modernización de Bases de Datos Open Source
    Por qué migrar a Postgres
    ● Coste, coste, coste.
    ● Términos de licencia (“los hombres de negro”).
    ● Evitar guardar datos en bases de datos propietarias.
    ● Oracle, DB2, …, no disponibles en muchos entornos gestionados.
    ● Postgres es la base de datos open source destino natural de estas
    migraciones.

    View Slide

  18. Modernización de Bases de Datos Open Source
    Análisis de viabilidad
    Proyecto previo a la migración que permite obtener:
    ● Documentación del entorno.
    ● Objetivos de servicio de la compañía (SLOs).
    ● Planificación de la capacidad.
    ● Plan de proyecto.
    ● Estimación de presupuesto.
    ● Barreras infranqueables para la migración.

    View Slide

  19. Modernización de Bases de Datos Open Source
    Barreras infranqueables para la migración
    ● TDE (cifrado transparente de datos).
    ● Aplicaciones que deben ser modificadas, para las que no hay código
    fuente o éste no puede ser modificado.
    Lo que NO son barreras (aunque pueda parecerlo):
    ● RAC
    ● Exadata

    View Slide

  20. Modernización de Bases de Datos Open Source
    Migración de datos: con caída o instantánea
    ● La migración con caída (ventana de mantenimiento) implica
    detención en la provisión del servicio.
    ● La migración instantánea (“online”) tiene una complejidad mucho
    mayor, y puede suponer coste adicional (software de CDC).
    ● Realmente depende en los requisitos del negocio.

    View Slide

  21. Modernización de Bases de Datos Open Source
    Migración de procedimientos almacenados
    ● Es mayoritariamente un proceso manual.
    ● Require desarrollar primeramente un entorno de pruebas, para
    validar todo el código existente.
    ● Normalmente domina el coste de un proyecto de migración.

    View Slide

  22. Modernización de Bases de Datos Open Source
    Fases de la migración
    1. Análisis de viabilidad
    2. Migración del DDL
    3. Despliegue del entorno de pruebas de Postgres
    4. Migración inicial de datos
    5. Validación de la aplicación (proceso iterativo)
    6. Despliegue del entorno de producción
    7. Pruebas de migración, del mecanismo de “marcha atrás” y de la
    migración en producción.
    8. Migración en producción.

    View Slide

  23. Modernización de Bases de Datos Open Source
    Ejemplo de migración: BlackBerry BBM
    ● Fue el sucesor de la plataforma de mensajería de BlackBerry
    ● Más de 150 millones de usuarios
    ● Base de datos Oracle multi-TB con la autenticación y autorización
    de todos los usuarios.

    View Slide

  24. Modernización de Bases de Datos Open Source
    Requisitos de la migración de BlackBerry
    ● Tiempo mínimo de parada.
    ● Sin pérdida de datos. Todos los datos debían ser verificados tras la
    migración.
    ● Cruzando todo el pacífico (200-250ms de latencia).
    ● Migración 100% automatizada (IaC).
    La migración se ejecutó exitosamente, con un tiempo de parada que
    resultó inferior a los 5 minutos.

    View Slide

  25. Modernización de Bases de Datos Open Source
    ¿Preguntas?

    View Slide