Che cos’è lo Shard?
Lo shard è una porzione di una rete blockchain che è stata suddivisa in più parti, ognuna con i propri dati.
Lo sharding, dunque, è una tecnica di partizionamento del database di una rete blockchain. Questo è necessario poiché più utenti utilizzano una blockchain, maggiore sarà il numero di dati in essa registrati e più lenta la sua rete.
Questa tecnica, pertanto, serve a diminuire la latenza di una rete blockchain.
Lo sharding può essere verticale od orizzontale. Il primo punta a incrementare le prestazioni e le capacità di storage di un sistema, potenziandone una determinata porzione. Quello orizzontale, invece, serve ad aumentare il numero complessivo di porzioni utilizzabili (nodi).
Esempio di Shard
Prendiamo ad esempio un database di una blockchain generica e assumiamo che questo conti dati relativi a 100 mila transazioni effettuate sulla sua rete.
Nel momento in cui si presenta la necessità di andare a ricercare il record di una specifica transazione, bisognerà effettuare circa 100 mila operazioni per trovarlo. Dividendo, invece, il database in tante piccole porzioni (shard), ognuna con un proprio parametro di ricerca (ad esempio “transazioni effettuate nell’anno 2020”), sarà molto più facile cercare il record interessato.
Questo non solo migliorerà la gestione e la velocità del database, ma ridurrà anche il costo di elaborazione di ogni singola ricerca.