Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Що таке event sourcing?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)**Event sourcing** - підхід до зберігання даних, за якого система зберігає не поточний стан об'єкта, а послідовність усіх подій, які до цього стану призвели; поточний стан отримують, відтворивши події по порядку. **Ключове:** це робить систему прозорою і відтворюваною, зручною для подієвої архітектури, але вимагає продуманого керування потоком подій і сховищем.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)Зображення**Event sourcing** - це підхід до зберігання даних, за якого система зберігає **не поточний стан об'єкта, а послідовність усіх подій**, які до цього стану призвели. ### Суть Замість звичної моделі «перезаписати дані», система записує кожну зміну як подію: > «Замовлення створено», «Додано товар», «Замовлення оплачено». Поточний стан можна отримати, відтворивши всі події по порядку. ### Приклад Звичайна база зберігає: ```javascript Order: {id: 1, status: "paid"} ``` В event sourcing зберігаються події: ```javascript 1. OrderCreated 2. ItemAdded 3. PaymentReceived ``` А стан «paid» обчислюється за потреби. ### Навіщо це потрібно 1. **Повна історія змін** - можна точно відновити, що і коли сталося. 2. **Аудит і трасування** - підходить для фінансових, логістичних і правових систем. 3. **Легко реагувати на події** - інші сервіси можуть підписуватися на них. 4. **Відкладені обчислення** - можна перерахувати стан за зміни логіки. ### Недоліки - Складніше реалізувати - потрібен реплей подій і проєкції стану. - Дані ростуть швидше. - Не завжди зручно для простих CRUD-застосунків. **Підсумок:** > **Event sourcing** зберігає історію змін, а не результат. > Це робить систему прозорою, відтворюваною і зручною для подієвої архітектури, > але вимагає продуманого керування потоком подій і сховищем.Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.