TimescaleDB для несортированных рядов данных - PullRequest
1 голос
/ 09 апреля 2020

TimescaleDB очень хорошо подходит для рядов данных.

В моем случае я работаю с сериями данных, но мои данные поступают не отсортированными.

Будет ли TimescaleDB работать таким же образом по сравнению с сортировка поступающих данных?

1 Ответ

1 голос
/ 10 апреля 2020

TimescaleDB - хорошее решение для вашей проблемы. Это не накладывает ограничений на данные, поступающие в отсортированном виде. Временная шкала разбивает ваши данные на измерение по вашему выбору, время является наиболее частым примером монотонного измерения (но для разделения данных можно использовать любой целочисленный тип). Вы указываете размер раздела (размер чанка), и TimescaleDB создает новые разделы автоматически для каждого интервала. Пока ваши данные попадают в интервал между несколькими блоками, база данных может работать с этими блоками в памяти, что увеличивает скорость приема. Неважно, если данные поступают абсолютно отсортированы. Поскольку TimescaleDB построен на PostgreSQL, он не имеет модели хранения только для добавления, что позволяет даже модифицировать старые данные или даже выполнять обратное заполнение без ущерба для производительности.

Еще одно преимущество использования TimescaleDB:

  • Собственное сжатие, может снизить требования к хранилищу до 20 или 30 раз (и более в зависимости от вашего макета данных)
  • Многоуровневое хранение данных присоединение табличных пространств к более медленному хранилищу и автоматическое перемещение старых чанков в более медленное хранилище нужно сканировать на основе предикатов вашего запроса, основываясь на выбранном вами разделе
...