Нормализация данных в распределенной БД, микросервисах и ERP
|
|
Среда, 29 Мая 2019 г. 15:05
+ в цитатник
Привет, Хабр!
Эта маленькая заметка родилась в процессе обсуждения статьи
«Распределенные монолиты...», а поскольку тема требует дальнейшего раздумья — я решил зафиксировать ее у себя в блоге. Автор статьи фактически описывает распределенную базу данных, доказывая, что единственнo правильной структурой хранения в ней является Журнал Событий. Аргументы приблизительно следующие:
- Поскольку событие всегда локализовано в пространстве / времени, оно может хранить все данные в себе самом (иногда в виде ссылок на более ранние события), что делает событие сериализуемым, увеличивает локальность, уменьшает связность и т.д.
- Событие, однажды случившись, больше не изменяется (любые уточнения оформляются другими событиями), что уменьшает репликационный трафик.
- Формат хранения события можно более-ли-менее унифицировать, и отвязать от конкретной предметной области.
- Журналы событий можно относительно безболезненно разделять / сливать, можно хранить разные типы событий на разных нодах, то есть по сути мы говорим о распределенной БД.
- События упрорядочены по времени, и эта последовательность отражает также причинно-следственную связь (текущее событие не может ссылаться на более позднее).
- При записи события не требуется транзакционно обновлять другие данные (на самом деле требуется, но в ограниченном числе случаев, например, баланс абонента в биллинговой системе должен быть мгновенно-актуальным, необходимо обновлять счетчики ссылок, и т.д.).
- Отчетность может быть построена непосредственно по журналу событий, без необходимости преобразовывать данные в нормализованный вид.
Читать дальше -> https://habr.com/ru/post/453646/?utm_source=habrahabr&utm_medium=rss&utm_campaign=453646
Метки:
Программирование
erp-системы
Big Data
микросервисы
распределённое хранение
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-