Update README.md
This commit is contained in:
parent
2ea425858a
commit
d812a34e77
49
README.md
49
README.md
@ -73,6 +73,8 @@ Futriix является резидентной субд, т.е. храняще
|
|||||||
* **База Данных(БД)**-массив информация, хранящийся, например, на флешке, в файле, на кластере
|
* **База Данных(БД)**-массив информация, хранящийся, например, на флешке, в файле, на кластере
|
||||||
* **Резидентная СУБД**- субд, хранящая все свои данные в оперативной памяти, с периодическим сохранением на HDD или SSD.
|
* **Резидентная СУБД**- субд, хранящая все свои данные в оперативной памяти, с периодическим сохранением на HDD или SSD.
|
||||||
* **Система Управления Базами Данных(СУБД)**- Это программа для внесения изменений в базу данных и поиска по ней
|
* **Система Управления Базами Данных(СУБД)**- Это программа для внесения изменений в базу данных и поиска по ней
|
||||||
|
* **Команды, выполняемые с привилегиями суперпользователя (root)**- отмечены символом приглашения **«#»**
|
||||||
|
* **Команды, выполняемые с правами обычного пользователя(user)** - отмечены символом приглашения **«$»**.
|
||||||
|
|
||||||
|
|
||||||
## Подготовка
|
## Подготовка
|
||||||
@ -81,9 +83,9 @@ Futriix является резидентной субд, т.е. храняще
|
|||||||
* Устанавливаем язык программирования C/C++, соопутствующие утилиты (autoconf и другие)
|
* Устанавливаем язык программирования C/C++, соопутствующие утилиты (autoconf и другие)
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
unix:$ sudo apt update
|
# sudo apt update
|
||||||
unix:$ sudo apt upgrade
|
# sudo apt upgrade
|
||||||
unix:$ sudo apt install build-essential nasm autotools-dev autoconf libjemalloc-dev tcl tcl-dev uuid-dev libcurl4-openssl-dev git hugepages
|
# sudo apt install build-essential nasm autotools-dev autoconf libjemalloc-dev tcl tcl-dev uuid-dev libcurl4-openssl-dev git hugepages
|
||||||
```
|
```
|
||||||
|
|
||||||
* Устанавливаем язык программирования Golang по инструкции с [официального сайта](https://go.dev/doc/install)
|
* Устанавливаем язык программирования Golang по инструкции с [официального сайта](https://go.dev/doc/install)
|
||||||
@ -93,15 +95,15 @@ Futriix является резидентной субд, т.е. храняще
|
|||||||
|
|
||||||
1. Копируем репозиторий
|
1. Копируем репозиторий
|
||||||
```sh
|
```sh
|
||||||
unix:$ git clone https://source.futriix.ru/gvsafronov/Futriix
|
$ git clone https://source.futriix.ru/gvsafronov/Futriix
|
||||||
```
|
```
|
||||||
2. Переходим в каталог с исходном кодом src
|
2. Переходим в каталог с исходном кодом src
|
||||||
```sh
|
```sh
|
||||||
unix:$ cd src/
|
$ cd src/
|
||||||
```
|
```
|
||||||
3. Компилируем Futriix с помощью утилиты Make
|
3. Компилируем Futriix с помощью утилиты Make
|
||||||
```sh
|
```sh
|
||||||
unix:$ make
|
$ make
|
||||||
```
|
```
|
||||||
Futriix может быть скомпилирован для следующих операционных систем: Linux, OSX, OpenBSD, NetBSD, FreeBSD.
|
Futriix может быть скомпилирован для следующих операционных систем: Linux, OSX, OpenBSD, NetBSD, FreeBSD.
|
||||||
Мы поддерживаем архитектуры endian и little endian, и 32-битные и 64-битные системы.
|
Мы поддерживаем архитектуры endian и little endian, и 32-битные и 64-битные системы.
|
||||||
@ -110,11 +112,11 @@ Futriix может быть скомпилирован для следующих
|
|||||||
|
|
||||||
Для сборки проекта с поддержкой TLS выпоните команду:
|
Для сборки проекта с поддержкой TLS выпоните команду:
|
||||||
```sh
|
```sh
|
||||||
unix:$ make BUILD_TLS=yes
|
$ make BUILD_TLS=yes
|
||||||
```
|
```
|
||||||
Для сбоки проекта с поддержкой TLS, в качестве модуля, выполните команду:
|
Для сбоки проекта с поддержкой TLS, в качестве модуля, выполните команду:
|
||||||
```sh
|
```sh
|
||||||
unix:$ make BUILD_TLS=module
|
$ make BUILD_TLS=module
|
||||||
```
|
```
|
||||||
Для выполнения данной операции вам необходимо библиотека OpenSSL (например,
|
Для выполнения данной операции вам необходимо библиотека OpenSSL (например,
|
||||||
libssl-dev для Debian/Ubuntu).
|
libssl-dev для Debian/Ubuntu).
|
||||||
@ -125,7 +127,7 @@ libssl-dev для Debian/Ubuntu).
|
|||||||
|
|
||||||
После компиляции Futriix, рекомендуем запустить утилиту для проверки корректности сборки:
|
После компиляции Futriix, рекомендуем запустить утилиту для проверки корректности сборки:
|
||||||
```sh
|
```sh
|
||||||
unix:$ make test
|
$ make test
|
||||||
```
|
```
|
||||||
## Исправление проблем сборки с зависимостями или кэшированными параметрами сборки.
|
## Исправление проблем сборки с зависимостями или кэшированными параметрами сборки.
|
||||||
|
|
||||||
@ -136,7 +138,7 @@ Futriix содержит некоторые зависимости, которы
|
|||||||
дерева зависимостей изменен каким-либо другим способом, обязательно используйте следующее
|
дерева зависимостей изменен каким-либо другим способом, обязательно используйте следующее
|
||||||
команду для того, чтобы действительно все почистить и пересобрать с нуля:
|
команду для того, чтобы действительно все почистить и пересобрать с нуля:
|
||||||
```sh
|
```sh
|
||||||
unix:$ make distclean
|
$ make distclean
|
||||||
```
|
```
|
||||||
В результате работы команды выше будут очищены: аллокатор памяти jemalloc, язык lua, библиотеку hiredis, библиотеку linenoise а также другие зависимости.
|
В результате работы команды выше будут очищены: аллокатор памяти jemalloc, язык lua, библиотеку hiredis, библиотеку linenoise а также другие зависимости.
|
||||||
|
|
||||||
@ -155,12 +157,12 @@ malloc по умолчанию, за исключением jemalloc, котор
|
|||||||
|
|
||||||
Чтобы принудительно скомпилировать libc malloc, выполните следующую команду:
|
Чтобы принудительно скомпилировать libc malloc, выполните следующую команду:
|
||||||
```sh
|
```sh
|
||||||
unix:$ make MALLOC=libc
|
$ make MALLOC=libc
|
||||||
```
|
```
|
||||||
Для компиляции аллокатора jemalloc на операционной системе Mac OS X, выполните команду:
|
Для компиляции аллокатора jemalloc на операционной системе Mac OS X, выполните команду:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
unix:$ make MALLOC=jemalloc
|
$ make MALLOC=jemalloc
|
||||||
```
|
```
|
||||||
|
|
||||||
<!-- USAGE EXAMPLES -->
|
<!-- USAGE EXAMPLES -->
|
||||||
@ -169,7 +171,7 @@ malloc по умолчанию, за исключением jemalloc, котор
|
|||||||
|
|
||||||
Запускаем клиент Futriix, перейдя в каталог с исходным кодом:
|
Запускаем клиент Futriix, перейдя в каталог с исходным кодом:
|
||||||
```sh
|
```sh
|
||||||
unix:$ cd src && ./futriix-cli
|
$ cd src && ./futriix-cli
|
||||||
```
|
```
|
||||||
|
|
||||||
Проверяем доступность сервера, выполняяя команду `ping`, если будет получен ответ `pong`-значит сервер доступен и работает корректно
|
Проверяем доступность сервера, выполняяя команду `ping`, если будет получен ответ `pong`-значит сервер доступен и работает корректно
|
||||||
@ -185,7 +187,7 @@ malloc по умолчанию, за исключением jemalloc, котор
|
|||||||
|
|
||||||
Получаем значение переменной `foo`, командой ниже:
|
Получаем значение переменной `foo`, командой ниже:
|
||||||
```sh
|
```sh
|
||||||
unix:$ get foo
|
$ get foo
|
||||||
"bar"
|
"bar"
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -195,11 +197,11 @@ malloc по умолчанию, за исключением jemalloc, котор
|
|||||||
|
|
||||||
1. Откройте директорию с Futriix:
|
1. Откройте директорию с Futriix:
|
||||||
```sh
|
```sh
|
||||||
unix:$ cd futriix
|
$ cd futriix
|
||||||
```
|
```
|
||||||
2. Откройте файл конфигурации futriix.conf в любом текстовом редакторе, например nano, как в примере приведённом ниже:
|
2. Откройте файл конфигурации futriix.conf в любом текстовом редакторе, например nano, как в примере приведённом ниже:
|
||||||
```sh
|
```sh
|
||||||
unix:$ nano futriix/futriix.conf
|
$ nano futriix/futriix.conf
|
||||||
```
|
```
|
||||||
3. Найдите и установите значения "yes" для параметров "active-replica" и "multi-master". После чего добавьте в файл конфигурации ip-адреса, узлов вашего кластера.
|
3. Найдите и установите значения "yes" для параметров "active-replica" и "multi-master". После чего добавьте в файл конфигурации ip-адреса, узлов вашего кластера.
|
||||||
Если вы всё сделали правильно у вас должны отобразится строки в файле конфигурации `futriix.conf` как показано ниже:
|
Если вы всё сделали правильно у вас должны отобразится строки в файле конфигурации `futriix.conf` как показано ниже:
|
||||||
@ -212,17 +214,17 @@ malloc по умолчанию, за исключением jemalloc, котор
|
|||||||
```
|
```
|
||||||
4. Сохраните внесённые вами изменения, выйдите из редактора, воспользовавшись командами ниже:
|
4. Сохраните внесённые вами изменения, выйдите из редактора, воспользовавшись командами ниже:
|
||||||
```sh
|
```sh
|
||||||
unix:$ ctrl+O
|
$ ctrl+O
|
||||||
unix:$ ctrl+x
|
$ ctrl+x
|
||||||
```
|
```
|
||||||
5. Перейдите в директорию Futriix и запустите скрипт `cluster.sh` с параметрами `pick` (скрипт запущенный с данным параметром "соберёт кластер"), и `run`,(скрипт запущенный с данным параметром "запустит кластер") как указано ниже:
|
5. Перейдите в директорию Futriix и запустите скрипт `cluster.sh` с параметрами `pick` (скрипт запущенный с данным параметром "соберёт кластер"), и `run`,(скрипт запущенный с данным параметром "запустит кластер") как указано ниже:
|
||||||
```sh
|
```sh
|
||||||
unix:$ ./cluster pick
|
$ ./cluster pick
|
||||||
unix:$ ./cluster run
|
$ ./cluster run
|
||||||
```
|
```
|
||||||
6. Для остановки кластера запустите скрипт `cluster.sh` с параметром `stop`
|
6. Для остановки кластера запустите скрипт `cluster.sh` с параметром `stop`
|
||||||
```sh
|
```sh
|
||||||
unix:$ ./cluster stop
|
$ ./cluster stop
|
||||||
```
|
```
|
||||||
<p align="right">(<a href="#readme-top">К началу</a>)</p>
|
<p align="right">(<a href="#readme-top">К началу</a>)</p>
|
||||||
|
|
||||||
@ -239,7 +241,7 @@ malloc по умолчанию, за исключением jemalloc, котор
|
|||||||
|
|
||||||
При запуске инстанса сервера futriix, указать корректный путь до файла конфигурации, командой ниже:
|
При запуске инстанса сервера futriix, указать корректный путь до файла конфигурации, командой ниже:
|
||||||
```sh
|
```sh
|
||||||
unix:$ ./futriix-server /path/to/futriix.conf
|
$ ./futriix-server /path/to/futriix.conf
|
||||||
```
|
```
|
||||||
|
|
||||||
2. **Описание проблемы:** При запуске инстанса Futriix, появляется следующее сообщение:
|
2. **Описание проблемы:** При запуске инстанса Futriix, появляется следующее сообщение:
|
||||||
@ -264,11 +266,12 @@ Futriix использует спинлоки для быстрой синхро
|
|||||||
- [x] Добавить поддержку хранимых процедур
|
- [x] Добавить поддержку хранимых процедур
|
||||||
- [x] Добавить поддержку многопоточности
|
- [x] Добавить поддержку многопоточности
|
||||||
- [x] Изменить приглашение командной строки клиента futriix-cli
|
- [x] Изменить приглашение командной строки клиента futriix-cli
|
||||||
- [x] Переписать скрипт cluster.sh, формирующий кластер Futriix
|
- [x] Добавить в скрипт cluster.sh, формирующий кластер Futriix, цветовые текстовые индикаторы состояния процесса с левой стороны
|
||||||
- [x] Добавить поддержку модуля для работы с JSON
|
- [x] Добавить поддержку модуля для работы с JSON
|
||||||
- [x] Удалить поддержку Sentinel
|
- [x] Удалить поддержку Sentinel
|
||||||
- [x] Добавить поддержку хранимых процедур
|
- [x] Добавить поддержку хранимых процедур
|
||||||
- [x] Добавить поддержку языка запросов SQL
|
- [x] Добавить поддержку языка запросов SQL
|
||||||
|
- [x] Добавить поддержку запуска внешних команд ОС из субд
|
||||||
- [ ] Реализовать поддержку алгоритма Raft
|
- [ ] Реализовать поддержку алгоритма Raft
|
||||||
- [ ] Реализовать планировщик задач,основанный на вытесняющей многозадачности
|
- [ ] Реализовать планировщик задач,основанный на вытесняющей многозадачности
|
||||||
- [ ] Реализовать поддержку ACID-транзакций
|
- [ ] Реализовать поддержку ACID-транзакций
|
||||||
|
Loading…
x
Reference in New Issue
Block a user