CursosEmpresasBlogLiveConfPrecios

Motores de bases de datos y caché

Clase 11 de 17 • Audiocurso de Fundamentos de Arquitectura de Alta Concurrencia

Clase anteriorSiguiente clase

Contenido del curso

Introducción a alta concurrencia
  • 1
    Sistemas de Arquitectura de Alta Concurrencia y DevOps

    Sistemas de Arquitectura de Alta Concurrencia y DevOps

    05:25
  • 2
    Fundamentos de Arquitectura de Alta Concurrencia

    Fundamentos de Arquitectura de Alta Concurrencia

    06:22
Escalabilidad
  • 3
    Escalamiento Vertical vs Horizontal: Cuándo y Cómo Usarlos

    Escalamiento Vertical vs Horizontal: Cuándo y Cómo Usarlos

    03:36
  • 4
    Diferencias entre servidores Stateless y Stateful en alta concurrencia

    Diferencias entre servidores Stateless y Stateful en alta concurrencia

    03:14
  • 5
    Resiliencia y pruebas en sistemas de alta concurrencia

    Resiliencia y pruebas en sistemas de alta concurrencia

    05:34
  • 6
    Qué métricas usar para escalar

    Qué métricas usar para escalar

    04:58
  • 7
    Manejando el tráfico por países

    Manejando el tráfico por países

    01:58
Herramientas
  • 8
    Linux en servidores y lenguajes para alta concurrencia

    Linux en servidores y lenguajes para alta concurrencia

    04:09
  • 9
    Manejar usuarios en entornos de staging y production

    Manejar usuarios en entornos de staging y production

    02:03
  • 10
    Orquestadores y serverless en de alta concurrencia

    Orquestadores y serverless en de alta concurrencia

    03:33
  • 11
    Motores de bases de datos y caché

    Motores de bases de datos y caché

    03:50
  • 12
    Uso de las CDN en alta concurrencia

    Uso de las CDN en alta concurrencia

    01:46
Seguridad
  • 13
    Cómo manejar ataques DDOS en alta concurrencia

    Cómo manejar ataques DDOS en alta concurrencia

    02:37
Protocolos
  • 14
    gRPC o REST en alta concurrencia

    gRPC o REST en alta concurrencia

    02:43
Negocios y casos de uso
  • 15
    Consideraciones de negocio para alta concurrencia y caso de uso

    Consideraciones de negocio para alta concurrencia y caso de uso

    03:39
  • 16
    Caso de uso: blog con enfoque en serverless

    Caso de uso: blog con enfoque en serverless

    01:45
Conclusiones
  • 17
    Conclusiones

    Conclusiones

    02:07
    Juan David Cajamarca Acuña

    Juan David Cajamarca Acuña

    student•
    hace 4 años

    ¿Qué motores de bases de datos son recomendables utilizar para este tipo de aplicaciones?

    Podríamos dividir los motores de bases de datos en dos grandes grupos: bases de datos relacionales y bases de datos no relacionales.

    El motor principal para las bases de datos relacionales es MySQL, y el motor principal para las bases de datos no relacionales es MongoDB.

    La principal diferencia entre una base de datos en cada uno de los motores mencionados anteriormente, es que MongoDB es un gestor de bases de datos orientado a documentos, que por lo tanto tiene un enfoque totalmente diferente en cuanto al almacenamiento de datos. La diferencia fundamental es que mientras todas las filas de una tabla de una tabla MySQL tiene la misma estructura, en MongoDB los documentos no están sujetos a un orden fijo. Las filas de las tablas de MySQL tienen un mismo número de valores (cada uno con los mismos tipos de datos), por su parte, los documentos individuales de MongoDB tienen su propia estructura; de esta manera es posible crear nuevos campos con cualquier valor, mientras que para una base de datos relacional, se necesitaría una re-estructuración completa.

    Otra diferencia fundamental que resulta de la comparativa de estos dos tipos de motores de bases de datos, es el enfoque dado a la recuperación de datos: como base de datos NoSQL, MongoDB no utiliza SQL como lenguaje de consulta, disponiendo de su propio lenguaje para el procesamiento de datos; esto permite la comunicación entre MongoDB y el respectivo cliente. Para este fin, la base de datos utiliza los métodos específicos del correspondiente lenguaje de programación del cliente, valiéndose de la ayuda de las librerías que pueden ser descargadas desde su página web oficial.

    Al ser un motor de bases de datos no relacional, escalar MongoDB es mucho más fácil, ya que cada parte de datos está hospedada en un shard. Al tener estos shards, podríamos comenzar a crear y agregar más datos y más shards a medida que nuestra aplicación crece. Este no es el caso con un motor de bases de datos relacional.

    Escalar un servidor de bases de datos relacional puede ser muy complejo. Posiblemente la única forma de escalar este tipo de servidores de bases de datos es agregando réplicas o escalando verticalmente. Hay algunas soluciones para escalar este tipo de servidores de bases de datos de manera horizontal, pero son complicada y dependen totalmente del equipo de infraestructura.

    Una de las herramientas que se pueden utilizar para escalar horizontalmente un servidor de bases de datos relacional, es Vitess, que es una herramienta Open Source que viene de la mano de la CNCF (Cloud Native Computing Foundation), que es una de las aceleradoras que se encargan de fundar proyectos Open Source. Vitess es usado por YouTube para escalar sus servidores MySQL de manera horizontal.

    ¿Qué tipo de caché es recomendable utilizar?

    Aquí, hay dos grandes grupos de caché. Generalmente se utilizan para almacenar sesiones, valores pequeños y sobre todo para la autenticación. Este tipo de caché generalmente es usado porque es muy rápido de acceder y las principales herramientas son Redis y Mencach. Estas herramientas están disponibles en la mayoría de los proveedores y es muy fácil de integrar con cualquier aplicación.

    Otro tipo de caché es el caché de internet, como por ejemplo, para permitir que nuestra página web funcione más rápido o se descarguen los archivos estáticos de una manera más rápida para nuestros clientes, y la tecnología más usada son los CDNs (Content Delivery Network).

      Alexis Dorado Muñoz

      Alexis Dorado Muñoz

      student•
      hace 10 meses

      ¡Gracias por tu aporte! 👏 Has explicado de forma clara y concisa las diferencias entre bases de datos relacionales y no relacionales. Además, has incluido información valiosa sobre la escalabilidad y las opciones de caché.

      ¡Un resumen muy completo! 🌟

    Leandro de la Paz Cabrera

    Leandro de la Paz Cabrera

    student•
    hace 4 años

    La herramienta que menciona para escalar el MySQL horizontalmente es Vitess https://vitess.io/.

      Sergio Rivera

      Sergio Rivera

      student•
      hace 4 años

      Alguna para MongoDB o SGBS No Sql

      Jesus David Posada Escobar

      Jesus David Posada Escobar

      student•
      hace 4 años

      Genial!!

    Victor Hugo Vázquez Gómez

    Victor Hugo Vázquez Gómez

    student•
    hace 4 años

    Los shards son bloques que dividen los documentos, bases de datos en un cluster de MongoDB. https://www.mongodb.com/docs/manual/core/sharded-cluster-shards/

    Shard en mongoDB

    Alexis Dorado Muñoz

    Alexis Dorado Muñoz

    student•
    hace 10 meses

    Motores de bases de datos para aplicaciones de alta concurrencia:

    La elección del motor de base de datos es fundamental para el rendimiento y la escalabilidad. Veamos las opciones más populares:

    1. Bases de datos relacionales (SQL):

    • MySQL: El campeón de las bases de datos relacionales. 🥇 Robusto, confiable y ampliamente utilizado. Ideal para datos estructurados con relaciones bien definidas.

    2. Bases de datos no relacionales (NoSQL):

    • MongoDB: El rey de las bases de datos orientadas a documentos. 👑 Flexible y escalable, perfecto para datos no estructurados o que cambian con frecuencia.

    Diferencias clave:

    • Estructura: MySQL impone un esquema rígido, mientras que MongoDB permite documentos con estructuras variables.
    • Escalabilidad: MongoDB escala horizontalmente con facilidad, mientras que MySQL requiere soluciones más complejas como Vitess (utilizado por YouTube).
    • Consultas: MySQL usa SQL, MongoDB tiene su propio lenguaje de consulta.

    ¿Cuál elegir?

    • Depende de las necesidades de tu aplicación. Si necesitas un esquema rígido y relaciones complejas, MySQL es una buena opción. Si necesitas flexibilidad y escalabilidad horizontal, MongoDB es la mejor alternativa.

    Tipos de caché:

    • Caché en memoria: Redis y Memcached son ideales para almacenar datos pequeños y de acceso frecuente, como sesiones de usuario. 🚀
    • Caché de internet (CDN): Acelera la entrega de contenido estático, como imágenes y archivos JavaScript, mejorando la experiencia del usuario. 🌐
    Victor Hugo Vázquez Gómez

    Victor Hugo Vázquez Gómez

    student•
    hace 4 años

    😮 No sabia que el CDN es un tipo de cache. Muy buen dato

      Jair Israel Avilés Eusebio

      Jair Israel Avilés Eusebio

      student•
      hace 3 años

      El concepto como tal de CDN es el de ser un grupo de servidores distribuidos geograficamente para reduir la latencia de peticion a contenido. Yo veria mas bien cache al software mencionado como Redis o Memchached.

    Daniel Eduardo Rojas Pulido

    Daniel Eduardo Rojas Pulido

    student•
    hace un mes

    Si conoces a profundidad la lógica de negocio del proyecto, hacer las relaciones en SQL será más fácil, en caso contrario es recomendable NoSQL

    Carlos Pinedo

    Carlos Pinedo

    student•
    hace un año

    Memcached vs Redis

    https://kinsta.com/es/blog/memcached-vs-redis/

    JHENER LIRIO OVIEDO CHAHUA

    JHENER LIRIO OVIEDO CHAHUA

    student•
    hace 2 años

    Motores de bases de datos • SQL  MySQL (todas las tablas tienen la misma estructura, sujetos a un orden)  Escalar es muy difícil, puede ser replicando o creciendo verticalmente  Escalar horizontalmente (Vitess) • NO SQL  Mongo DB (gestor de base de datos orientado a documentos, no están sujetos a un orden)  Mongo DB no utiliza SQL como lenguaje de consulta  Escalar es mucho más fácil

    MARIA TERESA PANIAGUA RIVERA

    MARIA TERESA PANIAGUA RIVERA

    student•
    hace 3 años

    Gracias

    Nicolás Peralta Páez

    Nicolás Peralta Páez

    student•
    hace 3 años

    Este profesor en 30 segundos me aclaro la diferencia entre db basadas en documentos y sql como en muchisimo tiempo no me habia quedado claro

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads