diff --git a/README.md b/README.md index 0017484..583496d 100644 --- a/README.md +++ b/README.md @@ -367,13 +367,20 @@ done > СУБД futriiX полностью совместима по синтаксису запросов с NOSQL-субд MongoDB. > Вы можете использовать знакомые NoSQL-конструкции и драйверы, легко мигрируя с существующей инфраструктуры. -В субд futriix поддерживаются MongoDB-подобный синтаксис для команд, являющийся основными в любой субд из класса **CRUD (Create,Read, Update, Delete- Создание, Чтение, Обновление, Удаление**) работы с документами: db.collection.insert(), find(), update(), delete(). Операции выполняются wait-free с использованием атомарных sync.Map, поддерживают автоматическую генерацию _id и валидацию схемы. Кроме того, каждый объект субд будь то таппл или поле, содержат в себе автоматически создаваемую временную метку, обладающей следующими свойствами: +Futriix поддерживает привычный MongoDB‑синтаксис для работы с документами. +Вы можете использовать стандартные команды: insert(), find(), update(), delete() — точно так же, как в MongoDB. +Все CRUD‑операции (создание, чтение, обновление, удаление) выполняются без блокировок (wait‑free) и гарантируют корректную работу при параллельном доступе за счёт атомарных структур данных. +При этом система автоматически: + + * Создаёт уникальный идентификатор _id для каждого документа; + * Проверяет соответствие схеме (валидация); + * Добавляет временную метку к каждому объекту (таблице или полю). + + > [!NOTE] +>**Выполнение операций*
+> Операции выполняются в рамках гарантий изоляции, обеспечиваемых MVCC и протоколом консенсуса Raft. +> Для распределённых транзакций применяется протокол 2PC. - * Автоматические — не требуют ручного указания - * Атомарные — фиксируются на уровне каждой операции - * Высокоточные — до миллисекунды - * Неизменяемые — created_at никогда не меняется - * Аудируемые — все изменения протоколируются в audit log ```sh # Создание новой базы данных