Futriix

Проект Futriix основан на базе проекта KeyDB
Futriix's (команды futriix по большей части совпадают с командами KeyDB)
Изучить полную документацию

## Краткая документация проекта Futriix
Содержание
  1. О проекте
  2. Лицензия
  3. Основные термины
  4. Подготовка
  5. Компиляция
  6. Вклад
  7. Контакты
## О проекте Rfut - Это модуль, написанный на языке Rust, обеспечивающий создание кластера для субд Futriix. Futriix является резидентной субд, т.е. хранящей свои данные в оперативной памяти, с их периодическим сохранением на внутренний носитель: HDD (жёсткий диск) или SSD-накопитель. ## Лицензия Проект распространяется под 3-пунктной лицензией BSD. Подробнсти смотрите в файле `COPYING.txt`. ## Основные термины * **База Данных(БД)** -массив информация, хранящийся, например, на флешке, в файле, на кластере * **Система Управления Базами Данных(СУБД)** - Это программа для внесения изменений в базу данных и поиска по ней * **Резидентная СУБД** - субд, хранящая все свои данные в оперативной памяти, с периодическим сохранением на HDD или SSD * **Инстанс** - запущенный экземляр базы данных * **Узел (хост,нода)** - физический сервер * **Кластер** - группа компьютеров, объединённых высокоскоростными каналами связи и представляющая с точки зрения пользователя единый аппаратный ресурс * Команды, выполняемые с привилегиями суперпользователя (root), отмечены символом приглашения **«#»** * Команды, выполняемые с правами обычного пользователя(user), отмечены символом приглашения **«$»** * **FutBot** - интеллектуальный помощник в мессенджере Телеграмм, помогающий осущесвлять быстрый поиск по документации проекта ## Подготовка **Для операционных систем семейства Debian** выполните следующие шаги: * Устанавливаем язык программирования C/C++, соопутствующие утилиты (autoconf и другие) ```sh # apt update # apt upgrade # apt install build-essential nasm autotools-dev autoconf libjemalloc-dev tcl tcl-dev uuid-dev libcurl4-openssl-dev cmake git hugepages ``` **Для операционных систем семейства Red Hat (Fedora, Aurora)** выполните следующие шаги: * Устанавливаем язык программирования C/C++, соопутствующие утилиты (autoconf и другие) ```sh # dnf update # dnf install -y jemalloc-devel g++ libuuid-devel libatomic openssl-devel curl-devel cmake git hugepages ``` * Устанавливаем язык программирования Golang по инструкции с [официального сайта](https://go.dev/doc/install) **Для операционной системы Alpine** выполните следующие шаги: * Устанавливаем язык программирования C/C++, соопутствующие утилиты (autoconf и другие) ```sh # apk update # apk add --no-cache coreutils gcc linux-headers make musl-dev util-linux-dev openssl-dev curl-dev g++ bash git perl libunwind-dev ``` * Устанавливаем язык программирования Golang по инструкции с [официального сайта](https://go.dev/doc/install) ## Компиляция 1. Копируем репозиторий ```sh $ git clone https://source.futriix.ru/gvsafronov/rfut ``` 2. Переходим в каталог с исходном кодом src ```sh $ cd rfut/ ``` 3. Компилируем Futriix с помощью утилиты Make ```sh $ cargo build ``` > [!WARNING] > **Rfut также может быть скомпилирован для следующих операционных систем: `Linux`, `OSX`, `Open Indiana`, `FreeBSD`, но сборка для этих операционных систем не проводилась!!!** ## Вклад Вклады — это то, что делает сообщество открытого исходного кода таким замечательным местом для обучения, вдохновения и творчества. Любой ваш вклад **очень ценится**. Если у вас есть предложение, которое могло бы улучшить ситуацию, создайте форк репозитория и создайте запрос на включение. Также можно просто открыть задачу с тегом «улучшение». 1. Форкните проект 2. Создайте свою ветку функций (`git checkout -b Feature/AmazingFeature`) 3. Зафиксируйте свои изменения (git commit -m 'Add some AmazingFeature'`) 4. Отправьте в ветку (`git push main Feature/AmazingFeature`) 5. Откройте запрос на включение ## Контакты Григорий Сафронов - [E-mail](gvsafronov@yandex.ru) Ссылка на Интеллектуальный помощник - [FutBot](https://t.me/Futriix_bot)

(К началу)