Scopul acestei teze de master este de a proiecta, implementa și evalua diferite arhitecturi multi tenant la nivelul bazei de date într-un sistem de management al proiectelor bazat pe microservicii. Deoarece aplicațiile SaaS trebuie să deservească mai multe organizații în condiții de securitate, scalabilitate și eficiență a costurilor, alegerea modelului potrivit de multi-tenancy reprezintă o decizie arhitecturală esențială. Teza compară două abordări larg utilizate shared-database shared-schema și database-per-tenant evidențiind avantajele, limitările și compromisurile fiecăreia. Modelul shared-schema reduce consumul de resurse, dar crește riscurile legate de izolarea datelor și complexitate, în timp ce database-per-tenant oferă o separare superioară, însă cu un cost operațional mai ridicat. Capitolul Analiza Domeniului introduce motivația din spatele sistemelor de management al proiectelor, explică conceptul de multi-tenancy și relevanța aplicațiilor SaaS pentru software-ul modern de project management. Sunt analizate principalele arhitecturi multi-tenant și sunt prezentate soluții existente, împreună cu arhitectura lor. Capitolul Proiectarea Sistemului prezintă arhitectura sistemului implementat pe bază de microservicii. Diagrama arhitecturală ilustrează fluxul de date, componentele principale și dependențele dintre acestea. Capitolul Implementarea Sistemului descrie modul în care au fost realizate cele două abordări de multi-tenancy, în special prin implementarea entităților de date și a relațiilor dintre acestea. Capitolul Evaluare compară cele două modele din perspectiva izolării datelor, performanței sub sarcină, mentenabilității și costurilor operaționale, oferind recomandări practice pentru potențiali proprietari de afaceri și arhitecți software. Capitolul Concluzii sintetizează cercetarea realizată, oferă o prezentare succintă a modului în care sistemul a fost implementat și evidențiază diferențele dintre modelele cu schemă partajată și cele cu bază de date separată pentru fiecare tenant. Evaluările sunt prezentate pe scurt, iar comparația dintre cele două modele este clar conturată.
The goal of this master's thesis is to design, implement, and evaluate different multi tenant database architectures within a microservice-based project management system. As SaaS applications must serve multiple organizations while ensuring security, scalability, and cost efficiency, selecting the right multi-tenant model becomes a critical architectural decision. The thesis compares two widely used approaches shared-database shared-schema and database-per tenant highlighting their advantages, limitations, and trade-offs. Shared-schema minimizes resource usage but increases risks related to data isolation and complexity, while database-per-tenant improves security and separation at the cost of higher operational overhead. The Domain Analysis chapter introduces the motivation behind project management software systems. Dives into concept of multi-tenancy and explains why SaaS applications are important for modern project management software. The main multi-tenant database architectures are examined. Also this chapter describes existing project management solutions and the architecture behind them. The System Design chapter chapter presents the architecture of the implemented microservice-based system. Architectural diagram illustrates data flow main components of the system and dependencies between these components. The System Implementation chapter provides information on how two different multi-tenancy approaches have been implemented mainly through data entities implementations and relationships. The Evaluation chapter compares the two approaches in terms of data isolation, performance under load, maintainability, and operational costs, offering practical insights for possible business owners and software architects. The Conclusions chapter sums up the research that has been done, describes briefly how the system was implemented and how implementation between shared-scheme and database-per-tenant models differ. Evaluations are structured briefly and a clear comparison is made between two models.