Alkalmazási szintű áteresztőképesség adatmodell alapú optimalizálása utóvalidáló blokkláncokban
Az utóbbi időben az elosztott főkönyvi technológiák (DLT) használata széles körben el-
terjedt, még a vállalati világban is. A legismertebb a Hyperledger Fabric (HLF), egy jogo-
sultságkezelt DLT-megoldás a vállalati szektor számára. Ez az ágazat nagy teljesítményű
és robusztus rendszereket igényel, és a HLF általában mindkét igényt kielégíti. A nagy
áteresztőképességet igénylő alkalmazások esetében azonban a HLF-nek vannak potenciális
hiányosságai. A naiv adatmodellek esetében az egyik lehetséges hiányosság a többverziós
konkurrencia-kezelési konfliktusok (MVCC konfliktusok) miatt visszautasított tranzakci-
ók nagy száma. Ezek a konfliktusok a HLF optimista párhuzamossági modelljének és a
HLF által népszerűsített Elővérehajtás Sorrendezés Validáció (EOV) architektúrának a
következményei. Kedvező forgatókönyvek esetén ezek a tervezési döntések nagyobb teljes
áteresztőképességet eredményeznek, mint az egyszerű zárolást alkalmazó megoldások, és a
hagyományos adatbázisokban évtizedek óta használatosak. A HLF elosztott jellege azon-
ban további késleltetéssel jár az elővégrehajtási és a validálási fázis között, így nagyobb a
konfliktus valószínűsége.
A tranzakciós hibák számának csökkentésére számos megoldási javaslat született, ame-
lyek többsége a HLF protokollszintű működésének megváltoztatásával próbálja kezelni a
problémát. Ebben a dolgozatban két intelligens adattárolási modell megközelítést javaslok,
amelyek az adatmodell és a tranzakciókészlet alapján működnek, és amelyek a változatlan
protokoll felett használhatók. Mindkét technika megváltoztatja az adatok szerializálásának
és a főkönyvben való tárolásának módját, de mindegyik különböző leképezési stratégiákat
használ, hogy ugyanazon információhoz nagyobb számú egyidejű hozzáférést tegyen lehető-
vé. A két technika közül a fejlesztők választhatnak, figyelembe véve a konkrét felhasználási
eseteik tárolási követelményeit és tranzakciós profilját.
Olyan keretrendszert fejlesztettem ki, amely ezeket a technikákat használja, de a hoz-
záadott komplexitást egy absztrakciós réteg mögé rejti, amely megőrzi a hagyományos
fejlesztői élményt. Az én implementációm intuitívabb felhasználói élményt is nyújt az
okosszerződés fejlesztők számára az azonnali konzisztencia, ismertebb nevén a "Read Your
Writes" emulálásával. E megoldások hatékonyságának értékeléséhez az implementációmat
több benchmark alkalmazáson tesztelem, és bemutatom az eredményeimet.
Továbbá javaslok egy MVCC konfliktus mérséklő stratégiát, amely dinamikusan kés-
lelteti a tranzakciók elővégrehajtását. A stratégia a rendelkezésre álló historikus adatok
alapján képes késleltetni a nagy valószínűséggel meghiúsuló tranzakciókat, így a hozzá-
adott késleltetésért cserébe elkerülhető a konfliktus egy folyamatban lévő tranzakcióval.
Emellett kitérek a lehetséges jövőbeli munkákra is, amelyeket a megoldásaimmal együtt
lehetne használni a további teljesítménynövelés érdekében. A javasolt technikák nem
zárják ki egymást. Éppen ellenkezőleg, kiegészítik egymást, és egy többrétegű MVCC
konfliktus mérséklési megközelítés részeként használhatók.
szerző
-
Debreczeni Máté
Villamosmérnöki szak, alapképzés
alapképzés (BA/BSc)
konzulensek
-
Dr. Klenik Attila
Tudományos munkatárs, Mesterséges Intelligencia és Rendszertervezés Tanszék
attila.klenik@vik.bme.hu -
Dr. Kocsis Imre
adjunktus, Mesterséges Intelligencia és Rendszertervezés Tanszék