Metode pengarsipan @solana kami hingga 20x lebih cepat daripada apa pun di pasaran. Kami membuka seluruh tumpukan. Tandai ini 🔖 Kueri arsip di Solana terkenal lambat dan tidak dapat diandalkan: blok hilang, respons yang tertinggal, data yang terjatuh. Inilah cara kami memperbaikinya 🧵
Tumpukan arsip Solana standar (node RPC Bigtable + validator) mudah diterapkan tetapi sulit diskalakan. Ini intensif CPU, haus memori, dan kesulitan dengan permintaan batch besar. Data historis adalah tempat latensi paling keras.
Kami mencoba mengoptimalkan Bigtable. Menambahkan tabel khusus, menyetel kueri, mendorongnya sejauh mungkin. Tetapi setiap perubahan membutuhkan restart node penuh. 30 menit hingga beberapa jam setiap kali. Jadi kami membuangnya dan membangun kembali semuanya: penyerapan, penyimpanan, dan server RPC.
Tumpukan baru: → ArchivalRPC: berputar dalam hitungan detik, bukan jam. Skala hingga 200K RPS. → Penyerapan khusus: penyerapan selektif untuk memangkas biaya dan titik kegagalan. → HBase melalui Bigtable: dihosting sendiri, berlokasi bersama, latensi mendekati nol.
Kecepatan tidak berarti apa-apa jika datanya salah. Kami membuat penyerapan tiga kali terverifikasi: setiap catatan ditulis dua kali, divalidasi secara terprogram, dan terus dipindai. Jika celah terdeteksi, alur penyembuhan sendiri secara otomatis menyerap kembali dan memperbaikinya.
Hasilnya, per wilayah: • 100.000 RPS untuk getTransaction • 50.000 RPS untuk getSignaturesForAddress • 2.000 RPS untuk getBlock Hingga 20x lebih cepat daripada solusi lain di pasaran.
546