Por qué más paralelismo puede ralentizar las bases de datos

PlanetScale documenta una caída de producción de dieciséis minutos sufrida por una base de datos MySQL para explicar por qué aumentar la concurrencia puede reducir el rendimiento en lugar de mejorarlo. El incidente lo provocó un trabajo por lotes que abrió una transacción sobre una tabla activa y re

Por qué COUNT(DISTINCT) desactiva el paralelismo en Postgres

En Postgres, una consulta tan habitual como SELECT count(DISTINCT user_id) FROM events no puede aprovechar los workers paralelos, ni aunque la máquina disponga de varios núcleos y la configuración lo permita. El motivo está en el modelo de ejecución del agregador, no en una estimación de coste ni en

El modo WAL de SQLite puede bloquear a lectores de corta duración

El modo WAL (Write-Ahead Logging) de SQLite se presenta a menudo como la solución al clásico error "database is locked", junto con un tiempo de espera de ocupado y transacciones BEGIN IMMEDIATE para escrituras. Sin embargo, este artículo técnico explica por qué esa combinación puede fallar en una ca

Demasiadas tablas pueden agotar la memoria en PostgreSQL

Una acumulación excesiva de tablas en una base de datos PostgreSQL puede provocar problemas graves de rendimiento y consumo de memoria, según documenta el consultor Laurenz Albe tras intervenir en un caso real. El síntoma más visible fue la activación del asesino OOM (Out-Of-Memory killer) de Linux,

ScyllaDB alcanza hasta tres veces más rendimiento con su índice basado en trie

ScyllaDB sustituye los archivos Summary.db e Index.db por un árbol de prefijos (trie) en su nuevo formato de índice ms/mt, que se convirtió en el predeterminado en ScyllaDB 2026.2 tras debutar en la versión 2025.4. El nuevo formato, compatible con el índice BTI de Apache Cassandra, unifica la búsque

Lecturas asíncronas a nivel de kernel en PostgreSQL 19 con io_uring

PostgreSQL 19 introduce un nuevo método de E/S asíncrona basado en io_uring, la interfaz del kernel de Linux que permite enviar y completar operaciones de lectura sin bloquear el proceso. Frente al modelo previo basado en procesos 'io worker' internos, esta variante delega la gestión de la cola de E

En Postgres, la única eliminación escalable es DROP TABLE

PlanetScale sostiene que, en PostgreSQL, la única estrategia de borrado de datos verdaderamente escalable consiste en eliminar tablas completas mediante DROP TABLE o TRUNCATE, no en borrar filas individuales con DELETE. La afirmación, firmada por el ingeniero Tom Pang, se apoya en el funcionamiento

Los problemas de usar UUID aleatorios como clave primaria en SQLite

Las bases de datos recurren con frecuencia a UUID aleatorios como clave primaria por su unicidad distribuida, pero esta elección tiene un coste de rendimiento que muchos desarrolladores desconocen. En SQLite, cada tabla ordinaria dispone de un rowid implícito de 64 bits que actúa como índice agrupad

B-trees: la clave para búsquedas rápidas en bases de datos

Este artículo de PlanetScale explica los B-trees y B+trees, estructuras de datos fundamentales en muchos sistemas de gestión de bases de datos (DBMS) como MySQL, PostgreSQL, MongoDB y DynamoDB. Son la base de los índices que permiten búsquedas de datos eficientes. ¿Qué son los B-trees? Un B-tree e

PostgreSQL: pg_jitter acelera compilación y mejora rendimiento

Un nuevo proyecto llamado `pg_jitter` está mejorando significativamente la velocidad de compilación JIT (Just-In-Time) para PostgreSQL, lo que resulta en un rendimiento de consulta más rápido en las versiones 14 a 18 de la base de datos. La compilación JIT, introducida en PostgreSQL 11, optimiza el

Linux y PostgreSQL: ¿Mejoras en el rendimiento?

Este artículo del blog de Erthalion explora recientes cambios en el kernel de Linux que podrían ser relevantes para la base de datos PostgreSQL. El objetivo principal es identificar mejoras potenciales en el rendimiento y nuevas funcionalidades que el kernel ofrece y que podrían beneficiar a Postgre