Skip to content
StackPractices

databases

Recursos prácticos sobre databases para ingenieros de software.

98 resultados

Almacenando, Consultando y Escalando Datos

Las bases de datos son la capa de persistencia de la que toda aplicación depende. Elegir entre relacional y NoSQL, diseñar índices, manejar migraciones y optimizar queries lentas son habilidades que impactan directamente la experiencia del usuario y el costo de infraestructura.

Esta sección cubre recetas para conexiones PostgreSQL y MySQL, operaciones CRUD en MongoDB, estrategias de cacheo con Redis y patrones de diseño de schemas. También encontrarás guías sobre transacciones ACID, pools de conexiones e implementación de búsqueda full-text.

intermediate

Paginacion por Cursor con PostgreSQL

Implementa paginacion eficiente por cursor para datasets grandes en PostgreSQL, evitando la degradacion de performance de OFFSET con paginacion keyset indexada y orden estable

intermediate

Cachear Resultados de Consultas de Base de Datos con

Cachear resultados de consultas costosas en Redis con patron cache-aside, gestion de TTL e invalidacion en writes para aplicaciones Python.

intermediate

Configurar Caffeine Cache en Java con Politicas de Eviction

Configura Caffeine cache en una aplicacion Java con politicas de eviction por tamano, tiempo y peso para caching local de alto rendimiento.

intermediate

Cachear Consultas de Base de Datos con Django Cache

Usa el framework de cache integrado de Django con caching por vista, fragmentos de template y API de cache de bajo nivel para optimizar consultas.

beginner

Generacion de UUID: v4, v7 y Comparacion con ULID

Compara UUID v4, v7, ULID y nanoid para generar identificadores unicos con diferentes tradeoffs en aleatoriedad, ordenamiento, rendimiento y localidad de indices de base de datos

intermediate

Implementa Transacciones ACID en PostgreSQL

Como usar transacciones de PostgreSQL para asegurar Atomicidad, Consistencia, Aislamiento y Durabilidad en operaciones de base de datos de multiples pasos

intermediate

Caching con Redis

Cómo implementar caching de aplicaciones usando Redis para rendimiento y escalabilidad.

beginner

Conectar a MySQL

Cómo conectar a bases de datos MySQL en Python, JavaScript y Java.

beginner

Conectar a PostgreSQL

Cómo conectar a bases de datos PostgreSQL en Python, JavaScript y Java.

beginner

Conectar a Redis

Cómo conectarse a Redis y realizar operaciones básicas en Python, JavaScript y Java.

intermediate

Pool de Conexiones a Base de Datos

Configura y ajusta pools de conexiones para maximizar throughput y prevenir el agotamiento de conexiones.

intermediate

Manejar deadlocks y reintentos en bases de datos

Detecta, previene y recupera deadlocks de base de datos con lógica de reintento automático, niveles de aislamiento y estrategias de ordenamiento de queries.

intermediate

Migraciones de Base de Datos de Forma Segura

Cómo ejecutar migraciones de esquema de base de datos sin downtime ni pérdida de datos.

intermediate

Gestionar Migraciones de Base de Datos de Forma Segura

Cómo versionar, aplicar y hacer rollback de cambios de schema de base de datos usando herramientas como Flyway, Alembic y Liquibase en entornos de producción.

intermediate

Configurar read replicas de base de datos para escalado

Escala workloads intensivos en lectura con read replicas de base de datos, monitoreo de replication lag y split de lectura/escritura entre instancias primarias y réplicas.

intermediate

Replicación de Bases de Datos

Configura y gestiona replicación de bases de datos para alta disponibilidad, escalado de lecturas y disaster recovery con arquitecturas primaria-réplica.

intermediate

Transacciones de Base de Datos

Cómo usar transacciones ACID para garantizar integridad de datos en Python, JavaScript y Java con ejemplos SQL.

intermediate

Crear y usar vistas de base de datos y vistas materializadas

Cómo crear y usar vistas de base de datos y vistas materializadas para simplificar consultas y mejorar rendimiento de lectura

intermediate

Prevencion y Resolucion de Deadlocks en Transacciones SQL

Identifica patrones de deadlock en bases de datos SQL, aplica ordenamiento consistente de locks, usa niveles de aislamiento apropiados e implementa logica de reintento para transacciones concurrentes resilientes

intermediate

Agregaciones de Elasticsearch para Analitica y Busqueda

Como usar agregaciones de Elasticsearch para construir busqueda facetada, dashboards de analitica y metricas en tiempo real desde datos indexados

advanced

Implementar event sourcing en una base de datos relacional

Construye sistemas de event sourcing usando bases de datos relacionales con event stores, proyecciones y snapshotting para auditoría y consultas temporales.

beginner

Ejecutar SQL Crudo

Cómo ejecutar consultas SQL crudas de forma segura con sentencias parametrizadas.

intermediate

Búsqueda de Texto Completo

Cómo implementar búsqueda de texto completo con Elasticsearch, Meilisearch y PostgreSQL.

beginner

Operaciones CRUD con MongoDB y Mongoose

Como realizar operaciones Crear, Leer, Actualizar y Eliminar en MongoDB usando Mongoose ODM con Node.js y Express

intermediate

Implementar optimistic locking con versionado

Cómo implementar optimistic locking con versionado para prevenir actualizaciones perdidas en acceso concurrente a base de datos

intermediate

Optimizacion de Queries e Indexing en PostgreSQL

Analiza y optimiza queries lentas en PostgreSQL usando EXPLAIN, indexing apropiado, partial indexes y reescritura de queries para reducir tiempo de ejecucion

intermediate

Patrones de Cache de Redis para Aplicaciones de Alto

Como implementar patrones cache-aside, write-through y write-behind con Redis para reducir carga de base de datos y mejorar tiempos de respuesta

advanced

Evolución de Schema de Base de Datos

Evoluciona schemas de base de datos de forma segura con cambios backward-compatible, migraciones versionadas y operaciones DDL online en ambientes de producción.

beginner

Sembrar Base de Datos

Cómo sembrar bases de datos con datos realistas para desarrollo, testing y staging usando scripts de seed, migraciones y factories en PostgreSQL, MongoDB y Prisma.

beginner

Eliminación Suave (Soft Deletes)

Cómo implementar soft deletes para preservar datos mientras se ocultan registros de consultas normales.

beginner

Encontrar y eliminar filas duplicadas en SQL

Detecta y elimina registros duplicados en tablas SQL usando GROUP BY y HAVING, conservando la fila canónica de forma segura.

intermediate

Configurar índices de búsqueda de texto completo

Configura índices de búsqueda de texto completo en PostgreSQL para consultar grandes columnas de texto con ranking y resaltado.

intermediate

Analizar y optimizar índices SQL con EXPLAIN

Identifica índices faltantes, sin uso e ineficientes leyendo planes de ejecución y midiendo el costo de las consultas con EXPLAIN.

beginner

Joins en SQL

Ejemplos prácticos de INNER, LEFT, RIGHT y FULL OUTER JOIN con patrones de consultas del mundo real.

advanced

Migración de columnas sin downtime

Renombra columnas o cambia tipos de datos sin bloquear tablas usando vistas, triggers y estrategias de relleno incremental.

advanced

Particionar tablas grandes por fecha o rango

Divide tablas SQL enormes en particiones más pequeñas por fecha, rango o lista para mejorar el rendimiento y el mantenimiento.

intermediate

Recorrer datos jerárquicos con CTEs recursivas

Consulta estructuras en árbol o grafo en SQL usando expresiones comunes de tabla recursivas para recorrer relaciones padre-hijo.

intermediate

Clasificar filas y calcular totales acumulados con

Usa funciones de ventana SQL para clasificar filas, calcular totales acumulados y comparar valores dentro de particiones sin self-joins.

intermediate

[ES] Use ORM for CRUD

[ES] How to perform CRUD operations using ORMs in Python, JavaScript, and Java.

advanced

Implementar Event Sourcing con CQRS en Python

Construir un sistema event-sourced con separacion CQRS usando Python, persistencia de event store, reconstruccion de proyecciones, snapshots y event handlers idempotentes para arquitecturas auditables.

advanced

Patron Outbox Transaccional para Eventos Confiables

Usar el patron outbox transaccional para publicar eventos de dominio junto con cambios de base de datos, con un procesador relay, estrategias de polling y garantias de entrega exactly-once.

intermediate

Previene inyeccion SQL con consultas parametrizadas en

Protege aplicaciones Python de inyeccion SQL usando consultas parametrizadas de SQLAlchemy, modelos ORM, validacion de input e inspeccion de queries para acceso seguro a base de datos

intermediate

Credenciales en Vivo de Base de Datos con HashiCorp Vault

Como usar HashiCorp Vault para generar credenciales de base de datos de corta duracion, eliminando passwords hardcodeados y reduciendo secret sprawl

advanced

Disenar un Schema Single-Table de DynamoDB para Apps

Disenar un schema single-table de DynamoDB con composite keys, patrones de GSI y access patterns para aplicaciones serverless usando Python y boto3.

advanced

Patrón Multi-Tenant Data Isolation

Aisla datos de tenants en infraestructura compartida usando row-level security, schema-per-tenant o database-per-tenant. Un patrón para aplicaciones SaaS.

intermediate

Patrón Composite Entity

Mapea una entidad coarse-grained a múltiples tablas de base de datos componiendo objetos dependientes, reduciendo la cantidad de llamadas remotas fine-grained en EJB y sistemas distribuidos.

intermediate

Patrón Data Mapper

Separa objetos de dominio en memoria de la base de datos delegando la persistencia a una capa de mappers dedicada, manteniendo los modelos framework-agnostic.

intermediate

Patrón Database per Service

Asigna a cada microservicio su propia base de datos privada para asegurar loose coupling, deployment independiente y heterogeneidad tecnológica a través del portafolio de aplicaciones.

intermediate

Patrón Eager Loading

Carga datos relacionados en una única query en lugar de múltiples round-trips, previniendo el problema N+1 y mejorando el performance de lectura.

advanced

Patrón Geode

Distribuir datos entre nodos con particionamiento para que cada nodo posea un shard. Escalado horizontal sin estado compartido, con localidad y aislamiento de fallos por particion.

intermediate

Patrón Identity Map

Asegura que cada objeto sea cargado solo una vez por transacción cacheando instancias por su primary key, previniendo representaciones duplicadas en memoria del mismo row de base de datos.

intermediate

Patron de Vista Materializada

Precomputa y almacena resultados de consultas costosas en una cache optimizada para lectura para evitar agregaciones o joins repetidos sobre grandes datasets.

intermediate

Repository Pattern con Generics de TypeScript

Implementa el Repository pattern con generics de TypeScript que desacopla logica de acceso a datos de servicios de dominio usando generics e interfaces

intermediate

Patrón Serverless DB Connection Pooling

Gestionar conexiones de base de datos entre invocaciones serverless usando poolers externos, reutilizacion de conexiones y clientes ligeros para evitar el agotamiento de conexiones.

advanced

Patron de Sharding

Divide un dataset grande en particiones mas pequenas distribuidas entre multiples servidores para mejorar crecimiento, rendimiento y disponibilidad.

intermediate

Patrón Specification

Encapsula reglas de negocio para seleccionar objetos como objetos predicado reutilizables y componibles que pueden combinarse con operadores lógicos.

intermediate

Patrón Unit of Work

Trackea cambios a objetos en memoria durante una transacción de negocio y commitea todas las actualizaciones atómicamente a la base de datos, asegurando consistencia.

advanced

Plantilla de Runbook de Migracion de Datos

Una plantilla de runbook para migrar datos entre sistemas de forma segura incluyendo verificaciones pre-migracion, procedimientos de rollback y validacion post-migracion.

intermediate

Runbook de Failover de Base de Datos

Un runbook paso a paso para ejecutar procedimientos de failover de base de datos de forma segura con tiempo de inactividad y perdida de datos minimos.

intermediate

Checklist de Database Query Tuning

Checklist para optimizacion sistematica de SQL queries: EXPLAIN plan analysis, index strategy, N+1 query detection, join optimization, pagination patterns, connection pooling, query caching y slow query log triage con ejemplos para PostgreSQL y MySQL.

intermediate

Plantilla de Runbook de Migración de Base de Datos

Plantilla de runbook de migración de base de datos para ejecutar cambios de esquema de forma segura con procedimientos de rollback, pasos de verificación y planes de comunicación.

intermediate

Plantilla de Documentación de Esquema de Base de Datos

Una plantilla para documentar esquemas de base de datos con relaciones entre entidades, definiciones de campos e historial de migraciones.

advanced

Referencia Detallada de RAG en Producción

Construir sistemas RAG en produccion. Cubre estrategias de chunking, modelos de embedding, vector stores, optimizacion de retrieval, reranking, hybrid search, evaluacion y patrones de deployment para retrieval-augmented generation confiable.

advanced

Referencia Detallada de Vector Databases

Comparar y usar vector databases en produccion. Cubre Pinecone, Weaviate, Chroma, pgvector, Milvus y Qdrant. Incluye indexing, similarity search, filtering, scaling, benchmarking y elegir la vector database correcta.

advanced

CQRS + Event Sourcing — Guía Combinada

Guía práctica de combinar CQRS y Event Sourcing: separar modelos de lectura y escritura, reconstruir estado desde eventos y manejar consistencia eventual.

intermediate

Data Lake vs Data Warehouse — Guía de Arquitectura

Guía práctica de arquitectura Data Lake: almacenamiento estructurado vs no estructurado, conceptos de lakehouse, patrones ETL vs ELT y cuándo elegir un lake sobre un warehouse.

intermediate

Arquitectura Lakehouse — Lo Mejor de Ambos Mundos

Guía práctica de arquitectura Lakehouse: combinar flexibilidad de almacenamiento de data lake con confiabilidad de data warehouse usando formatos de tabla abiertos.

advanced

Referencia Detallada de Estrategias de Caching con Redis

caching con Redis: cache-aside, read-through, write-through, write-behind y refresh-ahead. Cubre politicas de eviction, tuning de TTL, serializacion y operaciones de produccion.

intermediate

Pooling de Conexiones

Guía práctica sobre pooling de conexiones de base de datos: dimensionar pools, manejar timeouts de inactividad, detectar fugas, y configurar HikariCP, PgBouncer y pools nativos en la nube para máximo throughput.

advanced

Migración de Datos: Estrategias Zero-Downtime que Funcionan

Guía práctica sobre migración de datos: planificación, patrones de doble escritura, estrategias de backfill, evolución de esquemas, validación y procedimientos de rollback para mover datos sin interrupción de servicio.

advanced

Sharding de Base de Datos

Guía práctica sobre sharding de base de datos: elegir claves de shard, enrutar consultas, rebalancear datos y evitar errores comunes al escalar más allá de un solo nodo de base de datos.

intermediate

Búsqueda de Texto Completo

Guía práctica sobre búsqueda de texto completo: tsvector de PostgreSQL, indexación en Elasticsearch, diseño de consultas, ajuste de relevancia, y construcción de búsqueda con autocompletado, faceting y tolerancia a errores tipográficos.

intermediate

Réplicas de Lectura: Escala Lecturas Sin Cambiar la

Guía práctica sobre réplicas de lectura: configurar replicación, enrutar consultas de lectura, manejar lag de replicación, y escalar cargas de trabajo intensivas en lectura con PostgreSQL, MySQL y réplicas gestionadas en la nube.

intermediate

ACID vs BASE — Modelos de Consistencia Explicados

Guía práctica comparando modelos de consistencia ACID y BASE: cuándo elegir consistencia fuerte, cuándo aceptar consistencia eventual y cómo cada uno afecta el diseño del sistema.

intermediate

Teorema CAP y Trade-offs de Bases de Datos

Guía práctica del teorema CAP: consistencia, disponibilidad y tolerancia a particiones. Aprende a elegir los trade-offs correctos para tu aplicación.

advanced

Referencia Detallada de Database Sharding

database sharding. Cubre range-based, hash-based y directory-based partitioning strategies, consistent hashing, shard key selection, cross-shard queries, resharding, Vitess, Citus y cuando shardar vs escalar verticalmente con ejemplos practicos.

advanced

Referencia Detallada de Elasticsearch Cluster Setup

Despliega y escala clusters de Elasticsearch. Cubre roles de nodos, sharding, réplicas, index templates, mapping, snapshots y tuning de producción para search a escala.

advanced

Referencia Detallada de MongoDB Indexing

MongoDB indexing. Cubre single field, compound, text, geospatial, TTL, wildcard, hashed indexes, ESR rule, covered queries, explain plan analysis, index intersection y partial indexes con ejemplos practicos.

advanced

Referencia Detallada de PostgreSQL Replication

PostgreSQL replication. Cubre streaming replication, logical replication, cascading replicas, synchronous commit, failover con Patroni, monitoring lag, slot management y disaster recovery con ejemplos practicos de configuracion.

advanced

Referencia Detallada de PostgreSQL Tuning

Optimiza PostgreSQL para alto throughput. Cubre tuning de configuración, estrategias de indexación, optimización de queries, connection pooling, particionado y vacuum.

advanced

Referencia Detallada de Redis en Producción

Correr Redis en produccion. Cubre persistence (RDB, AOF), clustering, sentinel para HA, failover handling, memory management, eviction policies, pipelining, Lua scripting, monitoring, security hardening y backup strategies con ejemplos practicos.

advanced

Referencia Detallada de SQL Query Optimization

Optimizar SQL queries. Cubre EXPLAIN plan analysis, index strategies, join optimization, N+1 query detection, query rewriting, materialized views, partitioning, connection pooling y query caching con ejemplos practicos de PostgreSQL y MySQL.

intermediate

Desnormalización de Bases de Datos

Guía práctica de desnormalización de bases de datos: cuándo intercambiar almacenamiento por rendimiento de lectura, patrones comunes y cómo mantener datos derivados consistentes.

intermediate

Guía de Diseño de Bases de Datos

Guía práctica para diseñar bases de datos relacionales con normalización, indexación y modelado de relaciones.

intermediate

Normalización de Bases de Datos — 1NF a 5NF Explicado

Guía visual de normalización de bases de datos: aprende 1NF a 5NF con ejemplos prácticos, cuándo aplicar cada forma y cómo balancear normalización con rendimiento.

intermediate

Replicación de Bases de Datos

Guía práctica de estrategias de replicación de bases de datos: master-slave, multi-master, síncrona vs asíncrona, y cómo manejar failover y resolución de conflictos.

advanced

Sharding y Particionamiento de Bases de Datos

Guía práctica de particionamiento horizontal (sharding), vertical y estrategias range vs hash. Escala bases de datos sin downtime.

intermediate

Bases de Datos de Grafos

Guia practica de bases de datos de grafos: modelo de grafo de propiedades, lenguaje Cypher, patrones de modelado y cuando elegir Neo4j sobre bases relacionales.

intermediate

Estrategias de Indexación — Desde B-Trees hasta BRIN

Guía práctica de índices de bases de datos: B-Trees, Hash, GIN, GiST, BRIN e índices parciales. Aprende cuándo usar cada uno y cómo evitar errores comunes de indexación.

intermediate

Selección de Base de Datos NoSQL

Guía práctica para elegir la base de datos NoSQL correcta. Compara documentos, clave-valor, columnas anchas y grafos con criterios de selección y tips de migración.

intermediate

Patrones de Modelado NoSQL

Guia practica de modelado NoSQL: embebido vs referenciado, diseno basado en patrones de acceso, y patrones para MongoDB, DynamoDB, Cassandra y Redis.

intermediate

CTEs en SQL — Expresiones de Tablas Comunes Explicadas

Guia practica de CTEs en SQL: expresiones no recursivas y recursivas, legibilidad, rendimiento y cuando usarlas sobre subconsultas.

beginner

SQL Joins — Guía Visual con Ejemplos

Guía visual de SQL joins: INNER, LEFT, RIGHT, FULL OUTER, CROSS y SELF joins con ejemplos prácticos, tips de rendimiento y errores comunes.

intermediate

Optimización de Rendimiento SQL

Una guía práctica para optimizar consultas SQL: estrategias de indexación, reescritura de queries, análisis de EXPLAIN plans y anti-patrones comunes a evitar.

intermediate

Funciones de Ventana SQL — Referencia Detallada

Guia practica de funciones de ventana SQL: ROW_NUMBER, RANK, DENSE_RANK, LEAD, LAG, SUM, AVG sobre particiones y casos de uso de analitica real.

intermediate

Bases de Datos de Series Temporales

Guia practica de bases de datos de series temporales: cuando usar un TSDB especializado, modelo de datos, politicas de retencion, y elegir entre InfluxDB, TimescaleDB y ClickHouse.

intermediate

Bases de Datos Vectoriales

Guia practica de bases de datos vectoriales: embeddings, busqueda por similitud, vecinos aproximados mas cercanos, y elegir entre Pinecone, Weaviate, pgvector y Chroma.

advanced

Referencia Detallada de Bases de Datos Serverless

Elegir y operar bases de datos serverless para aplicaciones event-driven. Cubre DynamoDB, Aurora Serverless, FaunaDB y PlanetScale con pricing, escalado, patrones de query y estrategias de migracion.