Більшість інструментів блокчейн-даних є індексаторами. Вони витягують події, трансформують їх через кастомні відображення і передають результат у Postgres або інший універсальний магазин. Індексатор — це вузьке місце, база даних під ним взагалі не має уявлення, що таке блокчейн-дані, і в результаті ви підтримуєте дві системи, які не були створені одна для одної. Amp — це база даних. Блокчейн-нативний пристрій, побудований на Apache DataFusion, Apache Arrow та Parquet. Це ті ж основи, що підтримують сучасні аналітичні двигуни в індустрії даних. DataFusion відповідає за виконання та оптимізацію запитів, Arrow надає колонковий формат у пам'яті, а Parquet — зберігання. Amp додає спеціалізовані для блокчейну можливості: UDF з урахуванням EVM для декодування ABI, перевіреної екстракції, потокового SQL та вбудованої обробки реорганізації. Різниця має значення, бо вона змінює місце складності. З налаштуванням індексера + бази даних ваш код застосунку обробляє трансформації даних, відкат реорганізації та управління схемами. З Amp це примітиви на рівні бази даних. Ви пишете SQL, а база даних бере на себе решту. Наприклад, декодування подій ERC-20 Transfer по всій основній мережі Ethereum — це SQL-запит із вбудованою функцією evm_decode Amp: SELECT evm_decode(topic1, topic2, topic3, data, 'Transfer(адреса індексована, адреса індексована, значення uint256)') AS transfer FROM 'edgeandnode/ethereum_mainnet'.logs Ось що означає «спеціально створена база даних» на практиці: модель даних, движок запитів і шар зберігання розуміють, що таке блокчейн-дані і як вони поводяться. Це Amp.