Быстрый старт
Развертывание
Моделирование данных
Подключение
Запись данных
Миграция
Запросы
Операции и обслуживание
Расширение кластера
Настройка производительности
Устранение неполадок
Справочник
Руководство по инструментам
Типы данных
Хранилище данных
Выполняющая система
Конфигурация
Справочник по SQL
Часто задаваемые вопросы
В этом документе описываются характеристики записи данных в сценариях временных рядов, а также архитектура записи данных YMatrix в таких сценариях.
Хранение данных — одна из основных функций базы данных. После завершения моделирования данных и подключения к базе данных необходимо записать данные в таблицу.
Запись в сценариях временных рядов в основном имеет следующие особенности:
Типичной характеристикой записи данных в сценариях временных рядов является большой объем данных, который проявляется в трех аспектах на практике:
В целом, из-за постоянного роста числа сущностей и высокой частоты сбора данных объем генерируемой информации в сценариях временных рядов огромен, что создает серьезные требования к пропускной способности базы данных.
YMatrix разработал инструмент высокоскоростной записи MatrixGate, который обеспечивает максимальную скорость записи в сотни миллионов точек данных в секунду за счет параллельного приема данных через узлы данных (Segments).
Примечание!
Подробности о принципе работы см. в разделе Инструмент ввода данных.
На практике запись данных сталкивается не только с большими объемами данных и разнообразными источниками, но и со сложными аномальными ситуациями, такими как:
В некоторых сценариях метрики, собранные устройством в определенный момент времени, отправляются не сразу, а пакетами. Данные из нескольких передач должны быть объединены в одну запись, а не храниться как несколько отдельных записей.
Для таких случаев YMatrix поддерживает обработку с помощью функции UPSERT. Подробное описание этого сценария и использование функции UPSERT см. в разделе Сценарий объединения пакетных данных (UPSERT).
Задержанная передача возникает, когда данные не могут быть отправлены вовремя из-за отказа устройства или проблем в определенном узле цепочки сбора данных. Как только цепочка восстанавливается, данные передаются. Например, после того как автомобиль попадает в зону без сигнала и движется несколько дней, он возобновляет передачу при выходе в зону покрытия. Такие задержки могут измеряться днями, а иногда и неделями.
Передача с нарушением порядка происходит, когда устройство выходит из строя или возникает сбой в узле цепочки сбора данных, что приводит к задержке передачи. После устранения проблемы система может сначала передать самые свежие данные, а затем постепенно заполнить пропущенные. В таких случаях возникает передача с нарушением порядка, то есть передаваемые данные могут быть старше ранее переданных.
Поскольку эти два сценария, как правило, не требуют специальной обработки слияния данных со стороны базы данных, дополнительные подробности здесь опускаются.
Под разными частотами подразумевается сбор различных показателей устройства с разной периодичностью: например, одни собираются каждую секунду, а другие — каждые две секунды. Как показано на рисунке ниже:
Асинхронная передача данных может привести к большому количеству значений NULL в метриках, собранных с низкой частотой, при хранении данных. При этом значения NULL также занимают определённый объём памяти: для таблиц HEAP накладные расходы составляют количество столбцов, делённое на 8 байт; для таблиц MARS2 — количество строк в RowGroup, делённое на 8 байт. Следовательно, необходимо комплексно подходить к выбору решений в зависимости от ситуации с NULL-значениями.
YMatrix может подключать множество источников и данных в различных форматах к собственной системе. На следующем рисунке показаны типичные источники данных и форматы хранения.
Примечание!
Нажмите на соответствующую иконку, чтобы перейти к соответствующему документу.