La maggior parte degli strumenti di dati blockchain sono indexer. Estraggono eventi, li trasformano attraverso mappature personalizzate e scaricano il risultato in Postgres o in un altro archivio di uso generale. L'indexer è il collo di bottiglia, il database sottostante non ha idea di cosa sia nemmeno il dato blockchain, e finisci per mantenere due sistemi che non sono stati progettati l'uno per l'altro. Amp è un database. Un database nativo della blockchain, costruito su Apache DataFusion, Apache Arrow e Parquet. Queste sono le stesse fondamenta che alimentano i moderni motori di analisi in tutto il settore dei dati. DataFusion gestisce l'esecuzione delle query e l'ottimizzazione, Arrow fornisce il formato colonnare in memoria e Parquet gestisce lo storage. Amp aggiunge capacità specifiche per la blockchain: UDF consapevoli dell'EVM per la decodifica ABI, estrazione verificabile, SQL in streaming e gestione integrata dei reorg. La differenza è importante perché cambia dove risiede la complessità. Con una configurazione indexer + database, il tuo codice applicativo gestisce le trasformazioni dei dati, i rollback dei reorg e la gestione degli schemi. Con Amp, queste sono primitive a livello di database. Scrivi SQL e il database gestisce il resto. Ad esempio, decodificare gli eventi di trasferimento ERC-20 su tutta la mainnet di Ethereum è una query SQL con la funzione evm_decode integrata di Amp: SELECT evm_decode(topic1, topic2, topic3, data, 'Transfer(address indexed from, address indexed to, uint256 value)') AS transfer FROM 'edgeandnode/ethereum_mainnet'.logs Questo è ciò che significa "database progettato per uno scopo" in pratica: il modello di dati, il motore di query e il livello di storage comprendono tutti cosa sia il dato blockchain e come si comporta. Questo è Amp.