ENGINEERING OF SOFTWARE SYSTEMS BASED ON SNAPSHOT-CENTRIC CQRS WITH EVENT SOURCING ARCHITECTURE
60
KPI Science News
ISSN 2617-5509 (print), ISSN 2663-7472 (online)
2026 / 1
КОМПЮ’ТЕРНА ІНЖЕНЕРІЯ
DOI: https://doi.org/10.20535/kpisn.2026.1.350992
UDC 614.2+574/578+004.38
D.L. Hruzin1*, https://orcid.org/0009-0004-8534-2559
O.A. Lytvynov1, https://orcid.org/0000-0001-7660-1353
Oles Honchar Dnipro National University,
Dnipro, Ukraine, https://ror.org/00qk1f078
*Corresponding author:
1
ENGINEERING OF SOFTWARE SYSTEMS BASED ON SNAPSHOT-CENTRIC CQRS
WITH EVENT SOURCING ARCHITECTURE
Background. Command Query Responsibility Segregation (CQRS) with Event Sourcing (ES) is a widely adopted solution for designing scalable and high-performance information systems. However, classical CQRS with ES implementations are often associated with increased complexity in development and maintenance.
Objective. The goal of this study is to optimise the development and maintenance of software systems built on CQRS
with ES by introducing an alternative variation of the architecture.
Methods. The classical architectural variation was analysed, and the components that increase the complexity of system
development and maintenance were identified. Based on this analysis, an alternative architectural variation (mCQRS) is
proposed, that uses a lower-complexity component set. The solution is based on a relational database in which aggregate
state snapshots are treated as the source of truth, thereby reducing implementation and maintenance complexity and
facilitating potential migration to other architectural variations.
Results. Representative test projects were developed for both the classical and the proposed CQRS with ES variations.
Cyclomatic complexity values for a typical command execution workflow (120 for Classical CQRS and 82 for mCQRS)
indicate a 31.67 % decrease in complexity. Performance measurements show that server response time for queries is
identical for both variations (44 ms), whereas the end-to-end time to reach system consistency for commands is 268 ms
for Classical CQRS and 347 ms for mCQRS, corresponding to a 22.76 % decrease in performance. Despite this degradation, write-operation throughput remains high in the context of established industry practices.
Conclusions. The proposed approach improves the efficiency of development and maintenance and reduces the required
level of developer expertise; it is suitable for systems in which write-operation performance is not critical.
Keywords: Software Architecture; optimisation models; CQRS; Event Sourcing comparative analysis.
driven architecture (EDA) [4], which states that
the system can be seen as a simulator of the real
The complexity of software systems (SS) is con- business domain in which the interaction between
tinuously increasing, while the demands for project the components is driven by events. Thus, the event
timelines and implementation quality are becoming raised by a certain component causes the reaction of
stricter. To handle the situation, software develo other components and even integrated third-party
pers are forced to seek new approaches, architectu systems. This approach is also used for service-oriral patterns, and technologies. Renowned books [1, ented systems, i.e. the systems built as a composition
2, 3] suggest a lot of patterns and solutions, focused of autonomous, heterogeneous components-services
on how to manage the complexity of modern busi- [5]. The event-driven action may include the inness-oriented software systems, making them more vocation of a service, the triggering of a business
process, and/or further information publication/
flexible, scalable and maintainable.
One of the effective approaches used to build SS syndication.
Command and Query Responsibility Segregawith high-performance requirements, like E-Com-
merce, Banking, or Financial Systems is an event- tion in combination with ES architecture (hereafter
Introduction
Пропозиція для цитування цієї статті: Д.Л. Грузін, О.А. Литвинов, «Інженерія програмних систем на основі архітектури CQRS з ЕС, що ґрунтується на знімку стану системи», Наукові вісті КПІ, № 1, с. 60–74, 2026. doi:
https://doi.org/10.20535/kpisn.2026.1.350992
Offer a citation for this article: D.L. Hruzin, O.A. Lytvynov, “Engineering of software systems based on snapshot-centric CQRS with event sourcing architecture”, KPI Science News, No. 1, pp. 60–74, 2026. doi: https://doi.
org/10.20535/kpisn.2026.1.350992
© The Autor(s).
The article is distributed under the terms of the license CC BY 4.0
КОМП’ЮТЕРНА ІНЖЕНЕРІЯ
referred to as the canonical CQRS approach) [6],
which was proposed in [7, 8] can be seen as a varia
tion of a more general EDA paradigm [9] with a
concentration on increasing the speed of processing
the requests divided into two categories: write and
read operations.
The discussion on the use cases where CQRS
with ES architecture is the most applicable is represented in [10]. The authors discuss that this sort
of architecture solution is a good choice for systems
that are based on events on a business level, e.g. trip
systems, financial systems, etc.
The advantages of the CQRS with ES architecture compared to DDD [11, 12] include improved
performance for read and write requests, as well as
better flexibility and scalability due to asynchronous
event processing and reduced risk of conflicts when
making changes. This is because commands that
modify data and queries that read data operate independently of each other. Another significant advantage is the instant storage of all events, enabling
the system's state to be restored to any point in time
from its creation to the present.
This study analyses the conventional CQRS
with ES architecture, highlighting its limitations and
reviewing existing mitigation strategies. An alternative architectural approach is introduced to address
these limitations. A comparative evaluation of the
classical and proposed approaches is conducted, focusing on performance and implementation complexity. While a thorough architectural comparison
would necessitate a broader set of evaluation metrics, such an extensive analysis is considered beyond
the scope of this work.
The object of study is the development and
maintenance process of software systems based on
CQRS with ES.
The subject of study is methods and architectural
mechanisms for reducing development and maintenance complexity in CQRS with ES-based systems.
The purpose of the work is to optimise the development and maintenance of CQRS with ES-ba
sed software systems by introducing an alternative
variation of CQRS with ES architecture.
Problem Statement
As highlighted in the earlier research [13], the
primary challenges associated with CQRS with ES
can be categorised into three distinct groups: technical development issues, development and maintenance complexity, changing the architectural solution modifications of SS during the later stages of
development.
61
Technical development issues include event
replay performance problems during aggregate assembly and projection (...truncated)