Hola, continúo mi rutina diaria de aprendizaje enfocada en conceptos de System Design siguiendo el roadmap de roadmap.sh y en retos de DSA en LeetCode. Este es el DÍA 3.
System Design: Latencia vs Throughput
Hoy repasé dos métricas esenciales para entender el rendimiento de un sistema: latencia y throughput.
Latencia: es el tiempo que tarda un sistema en responder a una solicitud individual. En otras palabras, cuánto tiempo pasa hasta obtener una respuesta.
Detalles clave sobre latencia: suele medirse en milisegundos o microsegundos; latencia alta implica respuestas más lentas; las causas frecuentes incluyen retrasos de red, consultas a base de datos lentas y código ineficiente.
Throughput: es la cantidad de solicitudes que un sistema es capaz de procesar en un periodo dado. Piensa en cuántas respuestas completas entregas por segundo o por minuto.
Detalles clave sobre throughput: se mide en RPS o TPS; un throughput bajo indica que el sistema procesa pocas peticiones; está limitado por ancho de banda, CPU y memoria, así como por algoritmos ineficientes.
Relación entre ambos: aumentar el throughput no siempre reduce la latencia y al revés; optimizar uno puede perjudicar el otro; el equilibrio adecuado depende de los requisitos del sistema y de los acuerdos de nivel de servicio.
Ejemplo de cafetería: la latencia es el tiempo que tarda el barista en preparar una taza; el throughput es cuántas tazas salen por hora; reducir latencia podría lograrse con una máquina más rápida; aumentar throughput podría lograrse con más baristas trabajando en paralelo.
Mis conclusiones: empiezo a ver cómo estos conceptos guían sistemas eficientes y escalables. No se trata solo de ser rápido, sino de sostener grandes volúmenes de solicitudes sin caerse. Detectar cuellos de botella y gestionar trade offs es clave en el diseño de sistemas.
DSA Challenge: Regular Expression Matching
Después de repasar latencia y throughput, me puse con un clásico de LeetCode: 10. Regular Expression Matching. Enlace al reto: Regular Expression Matching. Tiempo invertido aproximado: 3 horas. Fue exigente, mezclar recursión con reglas de coincidencia tipo regex requiere cuidado.
Reglas del patrón: el punto coincide con cualquier carácter individual; el asterisco coincide con cero o más repeticiones del elemento anterior; la coincidencia debe cubrir toda la cadena.
Mi enfoque recursivo: definí una función auxiliar que verifica si el sufijo de s a partir de i coincide con el sufijo de p a partir de j. Caso base: si el patrón se agota, la cadena también debe haberse agotado. Caso recursivo con asterisco: opción 1, saltar el elemento con asterisco para representar cero repeticiones; opción 2, si el primer carácter coincide, consumir un carácter de s y volver a evaluar con el mismo punto del patrón. Caso sin asterisco: si el primer carácter coincide, avanzar ambos índices.
Lecciones clave: la recursión es potente para problemas de pattern matching; es imprescindible cubrir todos los casos y bordes del patrón; depurar ayuda a interiorizar la lógica; siguiente paso, aplicar programación dinámica para memorizar subproblemas y optimizar la solución.
Pensamientos finales
El día 3 fue intenso y valioso. En System Design, reforcé cómo latencia y throughput se complementan aunque tiren en direcciones distintas. En DSA, consolidé habilidades de recursión aplicadas a coincidencia de patrones. Avanzo a base de constancia diaria.
Sobre Q2BSTUDIO
En Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida, especialistas en inteligencia artificial, ciberseguridad, servicios cloud AWS y Azure, servicios inteligencia de negocio y power bi, automatización y agentes IA. Si necesitas modernizar tu arquitectura, escalar tu backend o diseñar microservicios con buen equilibrio entre latencia y throughput, podemos ayudarte con software a medida y aplicaciones a medida. Si tu prioridad es resiliencia, observabilidad y escalado elástico, consulta nuestros servicios cloud AWS y Azure para maximizar throughput y optimizar costes sin descuidar la latencia.
Además, trabajamos soluciones de ia para empresas con inteligencia artificial aplicada, agentes IA, ciberseguridad y pentesting, y analítica avanzada con servicios inteligencia de negocio y power bi para convertir datos en decisiones. Nos encantará acompañarte en tu estrategia tecnológica de extremo a extremo.
Conectemos
Si te resultó útil o tienes sugerencias, me encantará leerte. Seguiré compartiendo aprendizajes diarios sobre diseño de sistemas, algoritmos y cómo aplicarlos en proyectos reales con foco en rendimiento, seguridad y escalabilidad.