Update README.md
This commit is contained in:
19
README.md
19
README.md
@@ -63,22 +63,19 @@
|
||||
> **ALPHA VERSION**<br><br>**Проект достаточно стабилен в тестовых сценариях, но категорически не рекомендуется для промышленного использования до выхода версии 3.0.**<br>
|
||||
> **Мы открыты для предложений, и рады обратной связи!**
|
||||
|
||||
futriix — это легковесная, распределённая NoSQL, использующая алгоритмы неблокирующей синхронизации — wait‑free и lock‑free in‑memory СУБД, реализованная на языке Go с поддержкой плагинов на языке Lua, использующая алгоритм консенсуса Raft и модель консистентности «eventual consistency». <br>
|
||||
futriix — это лёгкая распределённая NoSQL‑СУБД на Go с MongoDB‑совместимым интерфейсом. Работает в памяти (in‑memory), использует неблокирующие структуры (wait‑free и lock‑free) и алгоритм консенсуса Raft — что даёт предсказуемую производительность под высокой нагрузкой.<br>
|
||||
|
||||
По своей сути futriix является лёгкой HTAP‑СУБД с уклоном в OLTP благодаря lock‑free и wait‑free структурам и ACID‑транзакциям, а также мощными OLAP‑возможностями через индексы, триггеры, Lua‑плагины и аналитические функции. Это позволяет обрабатывать и анализировать данные в режиме, близком к реальному времени, в первую очередь для эксплуатации в замкнутых программных средах под управлением ОС на базе ядра Illumos и Solaris (OpenIndiana Hipster, Oracle Solaris), а кроме того, она совместима с популярными Linux‑дистрибутивами (Debian, Ubuntu, Fedora).
|
||||
Это HTAP‑система: сочетает OLTP (с ACID‑транзакциями) и OLAP (через индексы, триггеры, Lua‑плагины и аналитические функции) — можно обрабатывать и анализировать данные почти в реальном времени. <br>
|
||||
|
||||
Архитектурное решение использовать отдельные индексы от данных, атомарные операции и версионирование позволяет эффективно обрабатывать смешанную нагрузку без необходимости применять отдельные системы для OLTP и OLAP. В futriix реализован WUI‑интерфейс для удобства её администрирования и эксплуатации. <br>
|
||||
В основе управления данными лежат — временные метки: они обеспечивают версионирование записей, корректную работу MVCC и упорядочивание событий в распределённой среде. Это позволяет точно отслеживать изменения, гарантировать согласованность данных между узлами и корректно разрешать конфликты при параллельных обновлениях. <br>
|
||||
|
||||
Проект futriix — это MongoDB‑совместимая СУБД без блокировок, разрабатываемая в экосистеме OpenIndiana и распространяемая под лицензией CDDL. Проект реализует полный набор требований к надёжной распределённой системе: WAL (write‑ahead logging) для устойчивости к сбоям, MVCC (multi‑version concurrency control) для изоляции транзакций, шардинг для горизонтального масштабирования и ACID‑гарантии на уровне транзакций. Ключевая особенность — построение ядра на неблокирующих структурах данных и консенсусе Raft, что обеспечивает предсказуемую производительность в высоконагруженных сценариях. <br>
|
||||
Ключевые механизмы надёжности и масштабируемости:
|
||||
|
||||
Временные метки (timestamps) — это значения, фиксирующие момент времени, к которому относится событие или версия данных. В контексте futriix они используются для: <br>
|
||||
|
||||
* Версионирования записей: каждая модификация данных получает уникальную временную метку, что позволяет отличать старые и новые версии и корректно разрешать конфликты при репликации;
|
||||
* Обеспечения MVCC: временные метки служат основой для определения видимости данных в рамках изоляции транзакций — транзакция видит только те версии записей, которые актуальны на момент её начала;
|
||||
* Упорядочивания событий в распределённой среде: метки позволяют выстроить хронологию операций между узлами кластера, даже если локальные часы узлов не синхронизированы идеально;
|
||||
* Реализации политик хранения и TTL: временные метки дают возможность автоматически удалять или архивировать устаревшие данные по истечении заданного срока жизни;
|
||||
* Аудита и отладки: метки фиксируют точное время возникновения событий (запись, чтение, ошибка), что упрощает диагностику и восстановление состояния системы после сбоев. <br>
|
||||
* WAL — устойчивость к сбоям
|
||||
* MVCC — изоляция транзакций
|
||||
* Шардинг — горизонтальное масштабирование
|
||||
|
||||
Есть WUI‑интерфейс для администрирования. Проект развивается в экосистеме OpenIndiana, распространяется под лицензией CDDL и совместим с ОС на базе Illumos/Solaris (OpenIndiana Hipster, Oracle Solaris), а также с популярными Linux‑дистрибутивами (Debian, Ubuntu, Fedora).
|
||||
|
||||
|
||||
> [!IMPORTANT]
|
||||
|
||||
Reference in New Issue
Block a user