Документация

Архитектура

Fluentbase — это геопространственная база данных, построенная по модели «клиент-сервер», позволяющая обрабатывать данные в режиме реального времени и сервер геозон в оперативной памяти. Для хранения данных используется модель-«ключ-значение», а надёжность их хранения обеспечивает алгоритм Raft. По умолчанию приложение использует номер порта 9470 модель многопоточного исполнения, а также формат JSON для хранения данных.

Основные компоненты приложения

  • fluentbase-server -Сервер базы данных
  • сlif (CLIentFluentbase) — интерфейс командной строки Fluentbase, простая программа, которая позволяет отправлять команды на сервер Fluentbase и считывать ответы, отправленные им непосредственно из терминала. Является клиентом базы данных.
  • fluentbase-benchmark— встроенная утилита для тестирования сервера
  • fluentbase-luamemtest-внешняя утилита для тестирования скриптов lua

Отличительные особенности Fluentbase

  • Пространственный индекс с такими методами поиска , как Nearby, Within и Intersects (подробнее о данных методах можно узнать здесь)
  • Многопоточный сервер
  • Встроенный итерпретатор Lua-скриптов
  • Возможность создавать и загружать модули на языке Lua
  • Поддержка геозон  в режиме реального времени
  • Поддержка большого количества клиентских библиотек, написанных на разных языках (C++, Python, Java, Ruby, Scala и др.)
  • Поддержка множества протоколов, включая http(утилита curl), websockets, telnet и Redis RESP
  • Получение ответов от сервера по протоколу RESP или в формате JSON
  • Репликация типа master/slave
  • Хранение данных в оперативной памяти, с возможностью сохранения на жёсткий диск

Дополнительная информация

Сетевые протоколы

Репликация

Геозоны

Динамические геозоны

EnglishРусский