Потоки данных
Поток данных позволяет хранить данные временных рядов с только добавлением в нескольких индексах, предоставляя единый именованный ресурс для запросов. Потоки данных хорошо подходят для журналов, событий, метрик и других данных, непрерывно генерируемых.
Вы можете отправлять запросы индексирования и поиска непосредственно в поток данных. Поток автоматически перенаправляет запрос на базовые индексы, хранящие данные потока. Вы можете использовать управление жизненным циклом индексов (ILM) для автоматизации управления этими базовыми индексами. Например, вы можете использовать ILM для автоматического перемещения более старых базовых индексов на более дешевое оборудование и удаления ненужных индексов. ILM может помочь вам снизить затраты и издержки по мере роста ваших данных.
Базовые индексы
Поток данных состоит из одного или нескольких скрытых, автоматически сгенерированных базовых индексов.
Поток данных требует соответствующей шаблона индекса. Шаблон содержит отображения и настройки, используемые для настройки базовых индексов потока.
Каждый документ, индексированный в поток данных, должен содержать поле @timestamp, отображенное как date или date_nanos тип поля. Если шаблон индекса не определяет отображение для поля @timestamp, Elasticsearch отображает @timestamp как поле date с параметрами по умолчанию.
Один и тот же шаблон индекса может быть использован для нескольких потоков данных. Вы не можете удалить шаблон индекса, используемый потоком данных.
Запросы на чтение
При отправке запроса на чтение в поток данных поток перенаправляет запрос на все его базовые индексы.
Индекс записи
Наиболее недавно созданный базовый индекс является индексом записи потока данных. Поток добавляет новые документы только в этот индекс.
Вы не можете добавлять новые документы в другие базовые индексы, даже отправляя запросы непосредственно в индекс.
Вы также не можете выполнять операции с индексом записи, которые могут помешать индексированию, такие как:
Перенос
Перенос создает новый базовый индекс, который становится новым индексом записи потока.
Рекомендуется использовать ILM для автоматического переноса потоков данных, когда индекс записи достигает указанного возраста или размера. При необходимости вы также можете произвести перенос вручную поток данных.
Генерация
Каждый поток данных отслеживает свою генерацию: шестизначный целое число с нулями, которое действует как накопительный счет переходов потока, начиная с 000001.
При создании базового индекса имя индекса используется по следующей схеме:
.ds-<data-stream>-<yyyy.MM.dd>-<generation>
<yyyy.MM.dd> - дата создания базового индекса. Базовые индексы с более высокой генерацией содержат более свежие данные. Например, поток данных web-server-logs имеет генерацию 34. Наиболее последний базовый индекс потока, созданный 7 марта 2099 года, имеет имя .ds-web-server-logs-2099.03.07-000034.
Некоторые операции, такие как сжатие или восстановление, могут изменить имя базового индекса. Эти изменения имен не удаляют базовый индекс из потока данных.
Только добавление
Потоки данных предназначены для использования в случаях, когда существующие данные редко, если вообще, обновляются. Вы не можете отправлять запросы обновления или удаления для существующих документов непосредственно в поток данных. Вместо этого используйте API обновления по запросу и удаления по запросу.
При необходимости вы можете обновить или удалить документы, отправив запросы непосредственно в базовый индекс документа.
Если вы часто обновляете или удаляете существующие данные временных рядов, используйте псевдоним индекса с индексом записи вместо потока данных. См. Управление данными временных рядов без потоков данных.
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/data-streams.html