findface-tarantool-server

Сервис findface-tarantool-server обеспечивает взаимодействие между сервисом findface-sf-api и базой данных векторов признаков на основе Tarantool следующим образом:

Совет

Подробнее см. официальную документацию Tarantool.

  • findface-tarantool-server получает от findface-sf-api данные для записи в базу данных (например, об обнаруженных объектах).

  • По запросу от findface-sf-api findface-tarantool-server выполняет поиск по базе данных и возвращает его результат.

Для увеличения скорости поиска на каждом сервере с базой данных Tarantool могут быть созданы многочисленные сегменты («шарды») findface-tarantool-server. Их параллельное функционирование приводит к значительному увеличению производительности (в 70-100 раз).

Полный список функций:

  • сохранение объектов в базу векторов признаков,

  • выполнение поиска по базе биометрических данных,

  • реализация прямых запросов в базу данных Tarantool (см. Прямые API-запросы к базе данных Tarantool).

Настройка компонента findface-tarantool-server выполняется через файл конфигурации /etc/tarantool/instances.available/<shard-*>.lua. Вы можете просмотреть его исходное содержимое здесь.

Важно

В среде с несколькими шардами файл конфигурации настраивается отдельно для каждого шарда.

Пользовательская настройка findface-tarantool-server выполняется с использованием следующих параметров:

Параметр

Описание

force_recovery

Включает/отключает автоматическое восстановление базы данных Tarantool. Если автоматическое восстановление данных включено (true), каждый раз при возникновении ошибки во время чтения файла .snap или .xlog, Tarantool попытается прочитать как можно больше информации и восстановить файл, игнорируя битые записи.

license_ntls_server

IP-адрес и порт сервера лицензирования findface-ntls.

memtx_memory

Максимальный размер оперативной памяти в байтах, в зависимости от количества объектов на шарде. Перед изменением данного параметра обратитесь к нашим экспертам за консультацией по адресу support@ntechlab.com.

meta_scheme

Структура базы данных для хранения результатов распознавания объектов. Представляет собой набор полей, для каждого из которых указываются следующие параметры: id: id поля, name: название поля, должно совпадать с названием соответствующего параметра объекта, field_type: тип данных, default: значение по умолчанию. Если значение по умолчанию для поля больше ‘1e14 – 1’, то его следует записывать в виде строки, т. е. “123123” вместо 123123.

Исходная структура базы данных передается из файла /etc/findface-security/tnt_schema.lua в параметр meta_scheme. Подробнее см. Изменение структуры базы данных векторов признаков.