Databases Optimized for Storing Financial Transactions Data
No Thumbnail Available
Files
Nyman_Markus_2025.pdf (1.34 MB) (opens in new window)
Aalto login required (access for Aalto Staff only).
URL
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu |
Bachelor's thesis
Electronic archive copy is available locally at the Harald Herlin Learning Centre. The staff of Aalto University has access to the electronic bachelor's theses by logging into Aaltodoc with their personal Aalto user ID. Read more about the availability of the bachelor's theses.
Unless otherwise stated, all rights belong to the author. You may download, display and print this publication for Your own personal use. Commercial use is prohibited.
Authors
Date
2025-01-05
Department
Major/Subject
Tietotekniikka
Mcode
SCI3027
Degree programme
Teknistieteellinen kandidaattiohjelma
Language
en
Pages
39
Series
Abstract
The increasing volume of financial transactions requires systems capable of efficiently storing this data. While traditional general-purpose databases may manage financial transactions adequately, their scalability may prove insufficient as transaction volume continues to grow. This limitation has driven the development of financial transactions databases, designed and optimized specifically for storing financial data. TigerBeetle is one such database management system, engineered with a focus on performance and safety. This bachelor’s thesis conducts a literature study to compare database systems suitable for storing financial transactions data. It examines methods for implementing replication and explores data structures and algorithms used in database systems. Additionally, it provides examples of both functional and non-functional requirements for financial transactions databases. Traditional database systems often implement replication by duplicating the system log, whereas TigerBeetle employs a consensus algorithm called Viewstamped Replication. Database systems utilize two types of tree data structures for storing values: B-trees and LSM-trees. B-trees are more optimized for reading data, while LSM-trees excel at writing data. The primary functional requirements for financial transactions databases include consistency, availability, and fault tolerance. Correspondingly, the key non-functional requirements are performance, safety, and memory safety. TigerBeetle incorporates design choices specifically tailored for storing financial transactions under extremely high loads.Mängden finansiella transaktioner växer kontinuerligt, vilket kräver system som effektivt kan lagra transaktionsdata. Även om traditionella databaser för allmänna ändamål kunde fortfarande hantera mängden finansiell transaktionsdata, kommer deras skalbarhet förmodligen inte klara av det i framtiden då mängden transaktioner fortsätter att öka. Detta har lett till utvecklingen av databaser specifikt optimerade för lagring av finansiella transaktioner. TigerBeetle är en sådan databas, byggd med fokus på prestanda och säkerhet. Detta kandidatarbete genomför en litteraturstudie för att jämföra databassystem som är lämpliga för att lagra finansiell transaktionsdata. Kandidatarbetet undersöker metoder för att implementera replikering och utforskar datastrukturer som används i databassystem. Traditionella databassystem implementerar ofta replikering genom att duplicera systemloggen, medan TigerBeetle använder konsensusalgoritmen Viewstamped Replication. Databassystem använder vanligtvis två typer av trädstrukturer för att lagra värden: B-träd och LSM-träd. B-träd är mer optimerade för att läsa data, medan LSM-träd är bättre för skrivande av data. Exempel på funktionella krav för databaser optimerade för finansiella transaktioner är konsistens, tillgänglighet och feltolerans. Motsvarande krav på icke-funktionella egenskaper är prestanda, säkerhet och minnessäkerhet. TigerBeetle innehåller designval som är specifikt anpassade för att lagra finansiella transaktioner under mycket hög belastning.Rahaliikenteen jatkuvan kasvun myötä järjestelmiltä vaaditaan enemmän tehokkuutta ja kykyä tallentaa kasvavia datamääriä. Vaikka olemassa olevat yleiskäyttöset tietokannat olisivat nykypäivänä tarpeeksi tehokkaita tallentamaan rahaliikenteen vaativan datamäärän, saattavat ne rahaliikenteen kasvun myötä osoittautua riittämättömiksi. Tämä rajoitus on johtanut uudenlaisen, erityisesti rahalikeenteen tallentamiseen suunnitellun ja optimoidun, tietokannan kehittämiseen. Esimerkki tämän tyyppisestä tietokantajärjestelmästä on TigerBeetle, jonka suunnittelussa on keskitytty suorituskykyyn ja turvallisuuteen. Tämä kandidaatintyö on toteutettu kirjallisuuskatsauksena, tavoitteena vertailla rahaliikenteen tallentamiseen soveltuvia tietokantajärjestelmiä. Työssä tutkitaan replikoinnin toteutusmenetelmiä ja tarkastellaan tietokantajärjestelmissä käytettyjä tietorakenteita. Perinteiset tietokantajärjestelmät toteuttavat usein replikoinnin kopioimalla järjestelmälokin. TigerBeetle käyttää replikointiin konsensusalgoritmia Viewstamped Replication. Tietokantajärjestelmissä käytetään yleensä arvojen tallentamiseen puutietorakenteita, joista yleisimmät ovat: B-puut ja LSM-puut. Bpuut on optimoitu datan lukemiseen, kun taas LSM-puut ovat tehokkaampia datan kirjoittamisessa. Ensisijaiset toiminnalliset vaatimukset rahaliikenteen tallentamiseen optimoiduille tietokantajärjestelmille ovat eheys, saatavuus ja vikakestävyys. Eitoiminnallisia vaatimuksia ovat suorituskyky, turvallisuus sekä muistiturvallisuus. TigerBeetlen suunnitteluratkaisuista nähdään, että se on erityisesti suunniteltu tallentamaan suuria määriä rahoitustapahtumia tehokkaasti.Description
Supervisor
Savioja, LauriThesis advisor
Pollari-Malmi, KerttuKeywords
database, sql, nosql, blockchain, tigerbeetle, viewstamped replication