Increasing database performance with memory-optimized tables: Case M-Files
Kulabi, Ameer (2024)
Kulabi, Ameer
2024
Tietotekniikan DI-ohjelma - Master's Programme in Information Technology
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2024-11-26
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-2024112010355
https://urn.fi/URN:NBN:fi:tuni-2024112010355
Tiivistelmä
Databases are a critical part of many software applications, and database performance affects the overall performance of those applications. In the 1980s, when the first relational database system was developed, the concept of cheap disk and expensive main memory led to the decision to store data on disk. Nowadays, that concept is no longer valid. However, retrieving data from the disk remains a slow operation. In 2014, Microsoft published its in-memory OLTP engine, which was fully integrated into SQL Server. The in-memory OLTP engine supports memory-optimized tables, which store data in main memory.
M-Files, the thesis case company, is a software company specializing in enterprise information management. It uses its application to bring value to its customers by digitizing their processes. During this thesis, the tables of the M-Files vault database are migrated to be memory-optimized, and the performance of the old and new systems are compared. The implementation is not meant for customers, as the goal of the study is to examine the potential performance benefits and identify blockers to migration.
During the migration process of the tables, many blockers that could hinder the use of memory-optimized tables are found. In the M-Files vault database, triggers and change-tracking features were used, neither of which are supported with memory optimized tables. Additionally, some tables used data types that were incompatible with this new table type. That is why we need to redesign some tables to get the most out of this feature. In contrast, the performance comparison shows improvements in most measured operations. Tietokanta on olennainen osa useimpia ohjelmistosovelluksia, ja tietokantojen suorituskyky vaikuttaa merkittävästi sovellusten kokonaissuorituskykyyn. 1980-luvulla, kun ensimmäiset relaatiotietokannat kehitettiin, halpa levymuisti ja kallis keskusmuisti johtivat siihen, että tietokantojen data tallennettiin levylle. Nykyään, keskusmuisti on halventunut, mutta tietojen hakeminen levyltä on edelleen hidas operaatio. Vuonna 2014 Microsoft julkaisi In-memory OLTP-tietokantajärjestelmän ydimen, joka on täysin integroitu osa SQL Serveriä. Tämä teknologia tukee muistioptimoitujen taulujen käyttöä, jotka pitävät niiden data koko ajan keskusmuistissa.
M-Files on ohjelmistoyritys, joka on erikoistunut tiedonhallintaan. Tässä tutkielmassa migroidaan M-Files-varastotietokannan tauluja muisti-optimoiduiksi tauluiksi ja vertaillaan lopuksi vanhaa ja uutta järjestelmää. Migroinnin aikana tutkitaan myös esteitä, jotka voivat vaikeuttaa tämän ominaisuuden käyttöä.
Migroinnin aikana, huomataan, että on olemassa monta ominaisuutta, joita M-Files varastotietokanta käyttää, mutta toisaalta muisti-optimoidut taulut eivät tue niitä. Käytetyt, mutta tuettomat ominaisuudet ovat muun muassa herättimet ja muutosten seuranta. Lisäksi muutamissa tauluissa on käytetty tietotyyppejä, joita muisti-optimoidut taulut eivät tue. Näiden perusteella voimme päätellä, että ominaisuuden käyttöönotto vaatii muutamien taulujen uudelleensuunnittelun. Huolimatta haasteista, tulokset osoittavat, että suurin osa tutkituista toiminnallisuuksista toimii nopeammin muisti-optimoiduilla tauluilla.
M-Files, the thesis case company, is a software company specializing in enterprise information management. It uses its application to bring value to its customers by digitizing their processes. During this thesis, the tables of the M-Files vault database are migrated to be memory-optimized, and the performance of the old and new systems are compared. The implementation is not meant for customers, as the goal of the study is to examine the potential performance benefits and identify blockers to migration.
During the migration process of the tables, many blockers that could hinder the use of memory-optimized tables are found. In the M-Files vault database, triggers and change-tracking features were used, neither of which are supported with memory optimized tables. Additionally, some tables used data types that were incompatible with this new table type. That is why we need to redesign some tables to get the most out of this feature. In contrast, the performance comparison shows improvements in most measured operations.
M-Files on ohjelmistoyritys, joka on erikoistunut tiedonhallintaan. Tässä tutkielmassa migroidaan M-Files-varastotietokannan tauluja muisti-optimoiduiksi tauluiksi ja vertaillaan lopuksi vanhaa ja uutta järjestelmää. Migroinnin aikana tutkitaan myös esteitä, jotka voivat vaikeuttaa tämän ominaisuuden käyttöä.
Migroinnin aikana, huomataan, että on olemassa monta ominaisuutta, joita M-Files varastotietokanta käyttää, mutta toisaalta muisti-optimoidut taulut eivät tue niitä. Käytetyt, mutta tuettomat ominaisuudet ovat muun muassa herättimet ja muutosten seuranta. Lisäksi muutamissa tauluissa on käytetty tietotyyppejä, joita muisti-optimoidut taulut eivät tue. Näiden perusteella voimme päätellä, että ominaisuuden käyttöönotto vaatii muutamien taulujen uudelleensuunnittelun. Huolimatta haasteista, tulokset osoittavat, että suurin osa tutkituista toiminnallisuuksista toimii nopeammin muisti-optimoiduilla tauluilla.