Перейти до вмісту
Наукові вісті КПІ
ISSN 2617-5509 · e‑ISSN 2663-7472 Відкритий доступ · CC BY 4.0
Т. 142 · № 1 · 2026 бер 30, 2026 статті

ІНЖЕНЕРІЯ ПРОГРАМНИХ СИСТЕМ НА ОСНОВІ АРХІТЕКТУРИ CQRS З ЕС ЩО БАЗУЄТЬСЯ НА ЗНІМКУ СТАНУ СИСТЕМИ

ДГ
Дмитро Грузін Відповідальний Дніпровський національний університет імені Олеся Гончара, Факультет фізики, електроніки та комп'ютерних систем, Дніпро, Україна Україна
ОЛ
Олександр Литвинов Дніпровський національний університет імені Олеся Гончара, Факультет фізики, електроніки та комп'ютерних систем,Дніпро, Україна Україна
Опублікованобер 30, 2026
PDF
НВКПІ 1 ТОМ 142 · 1
ТОМ 142 · № 1 · 2026 Переглянути випуск

Анотація

Проблематика. Розмежування відповідальностей команд і запитів (CQRS) у поєднанні з підходом фіксації та збереження подій (англ. Event Sourcing, ES) є поширеним рішенням для проєктування масштабованих і високопродуктивних інформаційних систем. Однак класичні реалізації CQRS з ES часто пов’язані з підвищеною складністю розроблення та супроводу. Мета дослідження. Метою роботи є спрощення розроблення та супроводу програмних систем, побудованих на CQRS з ES, шляхом запровадження альтернативної варіації цієї архітектури. Методика реалізації. Проаналізовано класичну варіацію архітектури та виокремлено компоненти, що підвищують складність розроблення й супроводу системи. На основі проведеного аналізу запропоновано альтернативну варіацію архітектури (mCQRS), яка передбачає використання набору компонентів із нижчою складністю. Рішення ґрунтується на використанні реляційної бази даних, у якій знімки стану агрегатів розглядаються як джерело істини, що знижує складність реалізації та супроводу програмного забезпечення, а також спрощує потенційний перехід до інших архітектурних підходів. Результати дослідження. Побудовано репрезентативні тестові проєкти для класичної та mCQRS варіацій. Значення цикломатичної складності реалізації типового процесу виконання команди (120 для Classical CQRS та 82 для mCQRS) свідчать про спрощення на 31.67%. Водночас час відповіді сервера на запити є однаковим для обох варіацій (44 мс), тоді як повний час досягнення узгодженості системи для команд становить 268 мс для Classical CQRS та 347 мс для mCQRS. Попри зниження продуктивності на 22,76 %, швидкодія операцій запису залишається високою в контексті усталених галузевих практик. Висновки. Запропонований підхід підвищує ефективність розроблення й супроводу та зменшує вимоги до рівня компетентностей розробників; він є доцільним для класу систем, у яких швидкодія операцій запису не є критичною

Ключові слова

Посилання

  1. M. Fowler, “Patterns of Enterprise Application Architecture”, Addison-Wesley Professional, 2002. - 560 p. ISBN: 978-0321127426. Retrieved from: https://raw.githubusercontent.com/ZoranLi/Books1/master/Patterns%20of%20Enterprise%20Application%20Architecture.pdf .
  2. B. Woolf and G. Hohpe, “Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions”, Addison-Wesley Professional, 2004. - 736 p. ISBN: 978-0321200686. Retrieved from: https://github.com/ivanarandac/Books/blob/master/Enterprise%20Integration%20Patterns%20-%20Designing%2C%20Building%20And%20Deploying%20Messaging.pdf .
  3. E. Evans. “Domain-Driven Design: Tackling Complexity in the Heart of Software”, Addison-Wesley Professional, 2004. - 534 p. ISBN: 978-0321125217. Retrieved from: https://github.com/gmoral/Books/blob/master/Domain%20Driven%20Design%20Tackling%20Complexity%20in%20the%20Heart%20of%20Software%20-%20Eric%20Evans.pdf .
  4. Neal Ford, Rebecca Parsons, Patrick Kua and Pramod Sadalage, “Building evolutionary architectures (2nd ed.)”, 2022, O'Reilly Media, Sebastopol, CA, 262. Retrieved from: https://www.thoughtworks.com/content/dam/thoughtworks/documents/books/bk_building_evolutionary_architectures_second_edition_free_chapter.pdf .
  5. Y. Zhong, “Using Event Sourcing and CQRS to Build a High Performance Point Trading System”, E-Business and Applications: 5th International Conference, Bangkok, 25 February 2019: proceedings. - New York: Association for Computing Machinery, 2019. - P. 16-19. DOI: 10.1145/3317614.3317632. Retrieved from: https://doi.org/10.1145/3317614.3317632 .
  6. D. Betts, J. Dominguez, G. Melnik, F. Simonazzi and M. Subramanian, “Exploring CQRS and Event Sourcing: A Journey into High Scalability, Availability, and Maintainability with Windows Azure (1st ed.)”, 2012, Microsoft patterns & practices. Retrieved from: https://download.microsoft.com/download/e/a/8/ea8c6e1f-01d8-43ba-992b-35cfcaa4fae3/cqrs_journey_guide.pdf .
  7. M. Fowler, “CQRS”, [Electronic resource] Retrieved from: https://martinfowler.com/bliki/CQRS.html .
  8. G. Young, “CQRS Documents by Greg Young”, [Electronic resource] / G. Young. - Retrieved from: https://cqrs.files.wordpress.com/2010/11/cqrs_documents.pdf .
  9. G. Young, “Event Centric: Finding Simplicity in Complex Systems”, Addison-Wesley Professional, 2017. - 560 p. ISBN: 978-0321768223. Retrieved from: https://books.google.com.ua/books/about/Event_Centric.html?id=pA2xuAAACAAJ&redir_esc=y .
  10. H. Taylor, A. Yochem, L. Phillips et al., “Event-Driven Architecture: How SOA Enables the RealTime Enterprise”, Addison-Wesley Professional, 2009. - 272 p. ISBN: 978-0321591388. Retrieved from: https://www.oreilly.com/library/view/event-driven-architecture-how/9780321591388/ .
  11. M. Overeem, M. Spoor, S. Jansen et al., “An empirical characterization of event sourced systems and their schema evolution - Lessons from industry”, Journal of Systems and Software. - 2021. - Vol. 178, Issue 4.
  12. DOI: 10.1016/j.jss.2021.110970.
  13. Retrieved from: https://doi.org/10.1016/j.jss.2021.110970 .
  14. K. Truyers. “Introduction to Domain Driven Design, CQRS and Event Sourcing”, 2013 [Electronic resource] Retrieved from: https://www.kenneth-truyers.net/2013/12/05/introduction-to-domain-driven-design-cqrs-and-event-sourcing/ .
  15. V. Vernon. “Implementing Domain-Driven Design”, Addison Wesley, 2013. - 656 p. ISBN: 978-0321834577. Retrieved from: https://ptgmedia.pearsoncmg.com/images/9780321834577/samplepages/0321834577.pdf .
  16. General Data Protection Regulation [Electronic resource]. - Retrieved from: https://gdpr-info.eu/ .
  17. N. Korkmaz, M. Nilsson, “Practitioners' view on command query responsibility segregation: thesis‚ MSc Information Systems”, Lund University: School of Economics and Management, - 2014. - 53 p. Retrieved from: https://lup.lub.lu.se/luur/download?func=downloadFile&recordOId=4864802&fileOId=4864803 .
  18. O. Lytvynov, D. Hruzin, “On the migration of Domain-driven Design to CQRS with Event Sourcing software architecture”, Information Technology Computer Science Software Engineering and Cyber Security. - 2024. - Vol. 1, Issue 1. - P. 50-60.
  19. DOI: 10.32782/IT/2024-1-7.
  20. Retrieved from: https://doi.org/10.32782/IT/2024-1-7 .
  21. P. Revesz, “Relational Databases”, Introduction to Databases. - London: Springer, 2010. - Chapter 4. - 743 p.
  22. DOI: 10.1007/978-1-84996-095-3_3.
  23. Retrieved from: https://doi.org/10.1007/978-1-84996-095-3_3 .
  24. M. L. Brodie, M. Stonebraker, “Ai S. DARWIN: On the Incremental Migration of Legacy Information Systems”, 1995.
  25. Retrieved from: https://dsf.berkeley.edu/papers/S2K-93-25.pdf .
  26. M. Breitmayer, L. Arnold, S. La Rocca et al., “Deriving Event Logs from Legacy Software Systems”, Lecture Notes in Business Information Processing - 2023. - Vol. 468. - P. 409-421.
  27. DOI: 10.1007/978-3-031-27815-0_30.
  28. Retrieved from: https://doi.org/10.1007/978-3-031-27815-0_30 .
  29. D. Comartin, “Snapshots in Event Sourcing for Rehydrating Aggregates” [Electronic resource] Retrieved from: https://codeopinion.com/snapshots-in-event-sourcing-for-rehydrating-aggregates/ .
  30. O. Evsyukov, “The Bermuda Aggregate. And the Rescue of the Drowning”, [Electronic resource] Retrieved from: https://youtu.be/Br4TL-486ZM?t=1500 .
  31. O. Dudycz, “Snapshots in Event Sourcing” [Electronic resource] Retrieved from: https://www.eventstore.com/blog/snapshots-in-event-sourcing .
  32. DBB Software's official company site [Electronic resource]. - Retrieved from: https://dbbsoftware.com/ .
  33. G. Young G. “Versioning in an Event Sourced System”, [Electronic resource] Retrieved from: https://leanpub.com/esversioning .
  34. S. Kleanthous, “Event immutability and dealing with change” [Electronic resource] Retrieved from: https://www.eventstore.com/blog/event-immutability-and-dealing-with-change .
  35. Z. Zheng, Shaoan Xie, Hong-Ning Dai et al., “An Overview of Blockchain Technology: Architecture, Consensus, and Future Trends”, Conference: 6th IEEE International Congress on Big Data.
  36. DOI: 10.1109/BigDataCongress.2017.85.
  37. Retrieved from: https://doi.org/10.1109/BigDataCongress.2017.85 .
  38. R. Laigner, A. Almeida, W. K. Assunção et al., “An Empirical Study on Challenges of Event Management in Microservice Architectures”, in An Empirical Study on Challenges of Event Management in Microservice Architectures,
  39. DOI: 10.48550/arXiv.2408.00440.
  40. Retrieved from: https://doi.org/10.48550/arXiv.2408.00440 .
  41. P. R. G. Vasconcellos, V. M. Bezerra, C. P. Bianchini, “Applying Event Sourcing in a ERP System: A Case Study”, XLIV Latin American Computer Conference, S√£o Paulo, 1-5 October 2018: proceedings. - IEEE, 2018. - P. 80-89.
  42. DOI: 10.1109/CLEI.2018.00019.
  43. Retrieved from: https://doi.org/10.1109/CLEI.2018.00019 .
  44. D. K. Pandiya, N. G. Charankar, “Optimizing Performance and Scalability in Micro Services with CQRS Design”, International Journal of Engineering Research & Technology. - 2024. - Vol. 13, Issue 4.
  45. DOI: 10.17577/IJERTV13IS040284.
  46. Retrieved from: https://doi.org/10.17577/IJERTV13IS040284 .
  47. B. Wu, D. Lawless, J. Bisbal et al., “The Butterfly Methodology: a gateway-free approach for migrating legacy information systems”, 1997.
  48. DOI: 10.1109/ICECCS.1997.622311.
  49. Retrieved from: https://doi.org/10.1109/ICECCS.1997.622311 .
  50. M. Breitmayer, L. Arnold, S. La Rocca, “Deriving Event Logs from Legacy Software Systems”, 2023. DOI: 10.1007/978-3-031-27815-0_30. Retrieved from: https://doi.org/10.1007/978-3-031-27815-0_30 .
  51. G. Salvatierra, C. Mateos, M. Crasso, “Legacy System Migration Approaches”, 2013. DOI: 10.1109/TLA.2013.6533975.
  52. Retrieved from: https://doi.org/10.1109/TLA.2013.6533975 .
  53. G. Young, Link to GitHub repository [Electronic resource] - Retrieved from: https://github.com/gregoryyoung .
  54. M. Driscoll, “The Publish-Subscribe Pattern”, wxPython Recipes: A Problem - Solution Approach. - Apress, 2017. - Chapter 4. - 369 p.
  55. DOI: 10.1007/978-1-4842-3237-8_4.
  56. Retrieved from: https://link.springer.com/chapter/10.1007/978-1-4842-3237-8_4?utm_source=researchgate.net&utm_medium=article .
  57. P. Shaddel, “Understand and Implement Long-Polling and Short Polling in Node.js”, [Electronic resource] Retrieved from: https://levelup.gitconnected.com/understand-and-implement-long-polling-and-short-polling-in-node-js-94334d2233f3 .
  58. L. G. Cretu, “Event-driven replication in distributed systems”, India Software Engineering: the 4th Annual Conference, Thiruvananthapuram Kerala, 24-27 February 2011: proceedings. - New York: Association for Computing Machinery, 2011. - P. 95-98. DOI: 10.1145/1953355.1953367.
  59. Retrieved from: https://doi.org/10.1145/1953355.1953367 .
  60. “Practical and focused guide for survival in post-CQRS world. Projections.”, [Electronic resource] Retrieved from: http://cqrs.wikidot.com/doc:projection .
  61. D. Hruzin, Link to Zenodo repository, [Electronic resource] Access mode: https://zenodo.org/records/18263117 . DOI: 10.5281/zenodo.18263116. Retrieved from: https://doi.org/10.5281/zenodo.18263116 .
  62. T. J. McCabe, “A Complexity Measure”, IEEETransactions on Software Engineering. - 1976. -Vol. SE-2, Issue 4. - P. 308-320.
  63. DOI: 10.1109/TSE.1976.233837.
  64. Retrieved from: https://doi.org/10.1109/TSE.1976.233837 .
  65. SonarQube Cloud official site [Electronic resource] Retrieved from: https://www.sonarsource.com/products/sonarcloud/ .
  66. D. Hruzin, Link to SonarQube scan report, [Electronic resource] Retrieved from: https://sonarcloud.io/component_measures?metric=complexity&selected=dmitryhruzin_CQRS-variations-test%3Atypescript%2Fapps&id=dmitryhruzin_CQRS-variations-test .
  67. D. Hruzin, Link to GitHub repository, [Electronic resource] Retrieved from: https://github.com/dmitryhruzin/CQRS-variations-test/blob/main/scripts/run-measurement.js .
  68. S. Gayathri Devi, Dr K. Selvam, “An abstract to calculate big O factors of time and space complexity of machine code”, Conference: International Conference on Sustainable Energy and Intelligent Systems (SEISCON 2011), Jan. 2021,
  69. DOI: 10.1049/cp.2011.0483. Retrieved from: https://doi.org/10.1049/cp.2011.0483 .
  70. S. Burckhardt, “Principles of Eventual Consistency (Foundations and Trends(r) in Programming Languages)”, Now Publishers, 2014. - 170 p. ISBN: 978-1601988584.
  71. Retrieved from: https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/final-printversion-10-5-14.pdf .
§ 06 — Пов'язані

Схожі статті в цьому журналі

Пов'язані рецензовані дослідження, опубліковані в цьому журналі.
Усі випуски

МЕТОДИКА ФОРМУВАННЯ ІНФОРМАТИВНОГО ПРОСТОРУ ОЗНАК ТЕХНІЧНИХ ІНДИКАТОРІВ ФІНАНСОВИХ ПРОЦЕСІВ НА ОСНОВІ НЕЙРОМЕРЕЖЕВИХ МОДЕЛЕЙ

Роман Тертичний, Денис Чупрін, Петро Бідюк

Проблематика. Фінансові часові ряди характеризуються нелінійністю, нестаціонарністю та високим рівнем шуму, що суттєво ускладнює їх моделювання та прогнозування.…

#методика формування інформативного простору ознак #технічні індикатори #волатильність Паркінсона #нейронні мережі
10.20535/kpisn.2026.3.359610

МЕТОДИ ЗАБЕЗПЕЧЕННЯ ЦІЛІСНОСТІ ОБРОБКИ ТА ПЕРЕДАЧІ ДАНИХ У ПРОМИСЛОВИХ СИСТЕМАХ АВТОМАТИЗАЦІЇ

Ярослав Корпань, Євген Федоров, Ольга Нечипоренко

Проблематика. Сучасні промислові системи контролю характеризуються високим рівнем інтеграції інформаційних і фізичних процесів та використанням розподілених…

#промислові системи автоматизації #SCADA-системи #цілісність даних #кібербезпека ICS
10.20535/kpisn.2026.3.361520

МЕТОДИКА ПАРАМЕТРИЧНОГО СИНТЕЗУ ЗУМ-АФОКАЛЬНИХ СИСТЕМ НА ОСНОВІ НЕРУХОМИХ ВАРІОЛІНЗ

Ігор Г. Чиж

Проблематика Зум-оптичні системи, в яких використовуються механічно нерухомі електрично керовані варіолінзи, не можуть вважатися такими, що мають нерухомі оптичні…

#зум-афокальні системи #головні точки варіолінз #синтез зум-афокальних систем #стабільна афокальність зум-системи
10.20535/kpisn.2026.3.351645

Схожі статті

1-10 з 14

Ви також можете розпочати розширений пошук схожих статей для цієї статті.