# About new Real-Time mode

Привет!

В версии [3.3.0](https://manticoresearch.com/downloads/) мы представили новый режим демона. Мы называем его **режимом реального времени (RT mode)**. Он позволяет управлять вашими индексами (таблицами) с помощью *CREATE TABLE* и *DROP TABLE*. **Обычный режим**, предполагающий определение схем индексов в конфигурационном файле, также остаётся поддерживаться.

Ранее вы могли вставлять и удалять данные из индекса реального времени, но не было возможности добавлять и удалять индексы через SQL/HTTP.

Новый режим включается указанием *[data\_dir](https://docs.manticoresearch.com/latest/html/conf_options_reference/searchd_program_configuration_options.html#data-dir)* в конфигурационном файле. Обратите внимание, что конфигурационный файл используется только для настроек демона, в этом режиме не допускаются секции *source* или *index*.
*ALTER TABLE* теперь можно использовать для изменения настроек индекса, например


```bash
ALTER TABLE products ignore_chars='.'

```

Однако эти новые настройки влияют только на только что вставленные документы; они не затрагивают существующие документы в индексе.
  
  
data\_dir
------

---

***data\_dir*** указывает каталог, в котором будут храниться все новые индексы. Каждый индекс сохраняется в отдельной папке внутри *data\_dir*. Вы не должны вручную добавлять индексы в эту папку, потому что индексы, созданные демоном в новом RT‑режиме, внутренне отличаются от индексов, созданных в обычном режиме. Используйте [IMPORT TABLE](https://docs.manticoresearch.com/latest/html/sphinxql_reference/import_table_syntax.html) для импорта старых индексов. Он копирует файлы индекса в новую папку внутри *data\_dir* и выполняет необходимые изменения формата индекса.
Смотрите ниже для более подробной информации о различиях индексов.
**RT mode** работает только с RT или PQ индексами. Вы не можете создавать или импортировать обычные индексы в демон, работающий в этом режиме. Одно из возможных решений — использовать *[ATTACH](https://docs.manticoresearch.com/latest/html/sphinxql_reference/attach_index_syntax.html)* для добавления обычного индекса к RT‑индексу (в демоне, работающем в старом режиме), а затем использовать *[IMPORT TABLE](https://docs.manticoresearch.com/latest/html/sphinxql_reference/import_table_syntax.html)* для импорта этого RT‑индекса в демон, работающий в RT‑режиме.
  
  
How to backup
----------

---



Поскольку вам не следует вручную изменять содержимое *data\_dir*, единственный безопасный способ (на данный момент) создать резервную копию или переместить *data\_dir* в другое место — остановить демон, скопировать/переместить data\_dir и перезапустить демон.
  
  
Replication
--------

---



Поскольку [replication](https://docs.manticoresearch.com/latest/html/replication.html) создаёт/удаляет индексы на узлах, он работает только с демоном, работающим в новом RT‑режиме.
  
  
External files
-----------

---



Только абсолютные пути к внешним файлам (словоформы, стоп‑слова, исключения) разрешены в *CREATE TABLE* и *ALTER TABLE*. Это делается для избежания путаницы, поскольку относительные пути относятся к папке, из которой был запущен демон, и пользователь может этого не знать.
  
  
Implementation details
-------------------

---

*data\_dir* содержит индексы и файл .json, в котором перечислены эти индексы и некоторые их свойства. Этот файл изменяется демоном, вам не следует изменять его вручную.

Все пути внутри конфигурации .json являются относительными. Идея в том, что вы можете скопировать/переместить *data\_dir* на новый узел/место, изменить *data\_dir* в конфигурационном файле и запустить демон из нового места без каких-либо дополнительных изменений.

Также существуют различия в формате индексов (между индексами, созданными в RT‑режиме и обычном режиме), которые служат той же цели. Индексы, созданные в старом режиме, хранят полные пути к внешним файлам. Индексы, созданные в RT‑режиме, хранят только имена файлов, путь генерируется динамически на основе имени индекса и значения *data\_dir* в конфигурации.

Существует заметная разница в том, как демон работает с внешними файлами (словоформы, файлы исключений или стоп‑слов) при работе в RT‑режиме. До введения RT‑режима индексы либо встраивали внешние файлы в заголовок индекса, либо использовали их из места их хранения (в зависимости от настроек). Сейчас, когда Manticore работает в RT‑режиме, встраивание отключено. Например, при выполнении

```bash
CREATE TABLE (title text) wordforms ='/path/to/wordforms.txt'

```

словоформы, стоп‑слова и исключения копируются в папку индекса внутри *data\_dir*.
*IMPORT TABLE* по сути делает то же самое. Он копирует внешние файлы в папку индекса внутри *data\_dir*. Это может привести к дублированию файлов, если одни и те же внешние файлы используются при создании нескольких индексов. Однако это не обязательно означает дополнительное использование ОЗУ демоном. Например, searchd загружает только один экземпляр файла словоформ, если существует несколько индексов, использующих копии одного и того же оригинального файла словоформ.

Если у вас есть вопросы о новом режиме, не стесняйтесь задавать их в:

 - Нашем [публичном канале Slack](https://slack.manticoresearch.com/)

 - Нашем [публичном форуме](https://forum.manticoresearch.com/)



Или изучите его самостоятельно в нашем интерактивном курсе «[Manticoresearch - RT mode - index administration](https://play.manticoresearch.com/rtmode/)».
