Tijdens de voorbereiding op de Sei Giga-upgrade heeft Sei Labs de prestaties van knooppunten gemeten met verschillende state store backends. Bij het vergelijken van RocksDB en PebbleDB met MVCC voor indexeringsintensievere historische queries, was RocksDB in staat om de latentie van knooppuntoperators met 10–40× te verminderen.
We hebben de traceBlock-latentie gemeten over verschillende miljoenen blokken - een RPC-query die uitgebreide iteratie uitvoert over sleutel/waarde-paren in de statusopslag. Naarmate de geschiedenis van de knooppunten toeneemt, groeit de iteratietijd van PebbleDB dramatisch, terwijl RocksDB een veel vlakker latentiecurve behoudt.
De belangrijkste reden voor dit verschil ligt in het backend-ontwerp. RocksDB ondersteunt native door de gebruiker gedefinieerde tijdstempels voor MVCC en efficiënte kolomfamilies. PebbleDB daarentegen mist native versiebeheer, wat vereist dat er sleutel-suffixen worden gebruikt en handmatig over meerdere versies moet worden geïtereerd.
Dit leidt tot aanzienlijk betere iteratie-efficiëntie in RocksDB — vooral voor knooppunten met een grote historische staat. Naarmate de opgeslagen geschiedenis toeneemt, wordt de prestatiekloof tussen PebbleDB en RocksDB duidelijker.
Hoewel RocksDB een kleine bouwtrade-off introduceert, maken de prestatieverbeteringen het een sterke optie voor archief- en RPC-knooppunten die grote staten of lange geschiedenis verwerken. We hebben consistente verbeteringen in trace-latentie en iteratiesnelheid waargenomen in verschillende opstellingen.
110,03K