Developing a performance evaluation benchmark for event sourcing databases - Malyi, Roman; Serdyuk, Pavlo (Національний університет «Львівська політехніка», 2024)
In the domain of software architecture, Event Sourcing (ES) has emerged as a significant paradigm, especially for systems requiring high levels of auditability, traceability, and intricate state management. Systems such as financial transaction platforms, inventory management systems, customer relationship management (CRM) software, and any application requiring a detailed audit trail can significantly benefit from this approach. Numerous aspects of ES remain unexplored, as they have yet to be thoroughly investigated by scientific research. The unique demands of such systems, particularly in terms of database performance and functionality, are not adequately addressed by existing database benchmarks. By establishing benchmarks, organizations can compare different databases to determine which best meets their needs for applications. This aids in selecting the most appropriate technology based on empirical data rather than assumptions or marketing claims.This paper introduces a novel benchmarking framework specifically designed for evaluating databases in the context of event sourcing. The framework addresses critical aspects unique to ES, including event append performance, efficient handling of Projections (separate databases for read operations), strong consistency, ordered data insertion, and robust versioning controls. Through rigorous testing and analysis, this framework aims to fill the gap in existing database benchmarking tools, providing a more accurate and relevant assessment for ES systems. We also conducted experiments that not only demonstrated the effectiveness of our approach but also yielded meaningful results, substantiating its practicality and applicability. У сфері архітектури програмного забезпечення Event Sourcing (ES) стало важливою парадигмою, особливо для систем, які потребують високого рівня перевірки, відстеження та складного управління станом. Такі системи, як платформи фінансових транзакцій, управління запасами, програмне забезпечення для управління взаємовідносинами з клієнтами (CRM) і будь- які програми, які потребують детального аудиту, можуть отримати значну користь від цього підходу. Численні аспекти ES залишаються невивченими, оскільки їх ще повинні ретельно дослідити науковці. Унікальні вимоги до систем ES, зокрема щодо продуктивності та функціональності баз даних, не відповідають належно наявним тестам баз даних. Встановлюючи контрольні показники, організації можуть порівнювати різні бази даних, щоб визначити, яка найкраще відповідає їхнім потребам у додатках. Це допомагає вибрати найвідповіднішу технологію на підставі емпіричних даних, а не припущень чи маркетингових тверджень. Стаття містить нову структуру порівняльного аналізу, спеціально розроблену для оцінювання баз даних у контексті Event Sourcing. Фреймворк розглядає критичні аспекти, унікальні для ES, зокрема продуктивність додавання подій, ефективне опрацювання проєкцій (окремі моделі для операцій читання), надійну узгодженість, упорядковане вставлення даних і надійні засоби керування версіями. Завдяки ретельному тестуванню та аналізу ця структура має на меті заповнити прогалину в наявних інструментах порівняльного аналізу баз даних, надаючи точну та релевантну оцінку для систем ES. Автори також виконали експерименти, які не тільки продемонстрували ефективність запропонованого підходу, але й дали вагомі результати, обґрунтовуючи його практичність і застосовність.
Розробка тесту ефективності баз даних для Event Sourcing
Keywords: event sourcing; MongoDB; EventStoreDB; PostgreSQL; events; NoSQL; performance comparison, Event Sourcing; MongoDB; EventStoreDB; PostgreSQL; події; NoSQL; порівняння продуктивності; 004