diff --git a/README.md b/README.md index 92ac9a8..b0f2490 100644 --- a/README.md +++ b/README.md @@ -89,6 +89,18 @@ futriix - это легковесная, распределённая NOSQL, и * **Слайс (Slice-в пер.с англ.слой)**- в терминах субд Futriix имеет два значения: * **1.** Cиноним "база данных" * **2.** Термин пришедший из терминологии суд MongoDB, а именно: Логический и физически изолированный фрагмент коллекции документов, полученный в результате горизонтального партиционирования (шардирования) и размещенный на определенном узле кластера с целью масштабирования производительности и объема данных. + + +* **Eventual consistency** — модель согласованности в распределённых системах, при которой после прекращения новых обновлений все реплики данных со временем приходят к одинаковому состоянию. + +Ключевые особенности применительно к архитектуре СУБД: + +- **Допускает временные расхождения.** В промежутке между записью и завершением репликации разные узлы могут отдавать разные версии одних и тех же данных. Это нормально для модели и закладывается в дизайн. +- **Асинхронная репликация.** Обновления распространяются по узлам без ожидания подтверждения от всех участников — это повышает доступность и снижает задержки, но добавляет окно несогласованности. +- **Гарантия сходимости.** Если новые изменения не поступают, система гарантированно достигает согласованного состояния на всех репликах. Момент, когда это произойдёт, заранее не фиксируется. +- **Зависимость от механизмов разрешения конфликтов.** Поскольку одновременные изменения могут возникать на разных узлах, корректная работа eventual consistency опирается на стратегии разрешения конфликтов (например, по timestamp, векторные часы, last-write-wins с учётом метаданных и т. п.) + + * **Коллекция (Collection)** - аналог таблицы * **Поле (Field)** - аттрибут документов * **Кортеж (Tuple)** - вложенный документ в субд Futriix