Redis prepara bitmap che non sprecano mezzo gigabyte per un solo bit
Roaring arriva nel codice di sviluppo di Redis: rappresenta in modo compatto insiemi sparsi e può accelerarne conteggi e intersezioni. È atteso nella 8.12.
Che succede
Impostare un solo bit molto lontano può costare a Redis circa mezzo gigabyte. Le bitmap tradizionali occupano infatti spazio fino all’offset più alto, anche se nel mezzo non c’è quasi nulla. È semplice e veloce quando i dati sono densi, parecchio meno simpatico quando gli identificativi sono sparsi.
Antonio Viggiano ha portato nel codice di sviluppo di Redis le bitmap compresse Roaring, già usate in sistemi come Elasticsearch e ClickHouse. Invece di conservare tutto come un’unica distesa di bit, Roaring sceglie rappresentazioni diverse per zone sparse, dense o formate da lunghe sequenze consecutive. Conteggi, unioni e intersezioni possono lavorare sui dati compressi.
Daniel Lemire ha provato l’implementazione confrontandola con le bitmap ordinarie: i casi con ID sparsi mostrano bene quanto spazio e lavoro si possano evitare. Non è un miglioramento uniforme su qualsiasi insieme. La funzione è opzionale ed è attesa in Redis 8.12; per ora è codice integrato nel ramo di sviluppo, non una novità già presente nella versione stabile.
Perché conta
Per ID molto sparsi il risparmio riguarda sia la memoria occupata sia il lavoro necessario a scorrere lunghissime regioni vuote.
Vuoi sapere di più su pillole come questa?
Nella stessa edizione
Redis prepara bitmap che non sprecano mezzo gigabyte per un solo bit
Per riaccendere una microVM in fretta, DigitalOcean carica meno memoria
Il secchio che perde acqua sa ancora limitare le richieste
Next.js ed Expo possono condividere i dati e tenersi le proprie app
Handwired scrive una rete neurale partendo dal programma
Quattro anni di Ludicon: codec scritti a mano e strumenti da costruire con l’AI
Stesso Chromium, un altro lavoro: da Google alla cooperativa Igalia
Cloudflare può controllare se una chiave è attiva prima di bloccarla
Il toolkit RevenueCat prepara acquisti e paywall. Il diff resta davanti a te
Stripe copia i dati dei pagamenti in Postgres, senza un altro mosaico di webhook
Un Supabase locale per ogni agente, senza contendersi il database
Per costruire Forum, Meta ha lasciato i prototipi fuori dalla build pubblica
Copilot tiene frontend e backend nella stessa discussione, anche su Slack e Teams
Prossima Pillola