I nostri metodi di archiviazione @solana sono fino a 20 volte più veloci di qualsiasi altra cosa sul mercato. Abbiamo open source l'intero stack. Aggiungi ai segnalibri questo 🔖 Le query di archiviazione su Solana sono notoriamente lente e inaffidabili: blocchi mancanti, risposte in ritardo, dati persi. Ecco come lo abbiamo risolto 🧵
Lo stack archivistico standard di Solana (Bigtable + nodi RPC dei validatori) è facile da implementare ma difficile da scalare. È intensivo in termini di CPU, richiede molta memoria e ha difficoltà con richieste di grandi dimensioni. I dati storici sono dove la latenza colpisce di più.
Abbiamo provato a ottimizzare Bigtable. Abbiamo aggiunto tabelle personalizzate, ottimizzato le query, spinto il sistema al massimo delle sue capacità. Ma ogni modifica richiedeva riavvii completi dei nodi. 30 minuti a diverse ore ogni volta. Quindi l'abbiamo abbandonato e ricostruito tutto: ingestione, archiviazione e server RPC.
Il nuovo stack: → ArchivalRPC: si avvia in pochi secondi, non in ore. Scala fino a 200K RPS. → Ingestore personalizzato: ingestione selettiva per ridurre costi e punti di fallimento. → HBase su Bigtable: auto-ospitato, co-locato, latenza quasi zero.
La velocità non significa nulla se i dati sono errati. Abbiamo costruito un'ingestione tripla-verificata: ogni record viene scritto due volte, convalidato programmaticamente e continuamente scansionato. Se viene rilevata una lacuna, i pipeline di auto-guarigione la reinseriscono automaticamente e la riparano.
Il risultato, per regione: • 100.000 RPS per getTransaction • 50.000 RPS per getSignaturesForAddress • 2.000 RPS per getBlock Fino a 20 volte più veloce di qualsiasi altra soluzione sul mercato.
563