Анонсирован выпуск новой версии TimescaleDB 1.7., версия, в которой выделена добавленная поддержка PostgreSQL 12, а также в модификации некоторых функций. Для тех, кто не знает Шкала времениDB, они должны знать, что это база данных, предназначенная для хранения и обработки данных в виде временных рядов (сегменты значений параметров в заданные промежутки времени, регистр формирует время и набор значений, соответствующих этому времени).
Эта форма хранения оптимально подходит для таких приложений, как системы мониторинга, торговые платформы, системы сбора метрик и статусов датчиков.
О TimescaleDB
Проект TimescaleDB реализован как расширение PostgreSQL и распространяется под лицензией Apache 2.0. Часть кода с расширенными функциями предоставляется по отдельной частной лицензии Timescale (TSL), которая не позволяет вносить изменения, запрещает использование кода в сторонних продуктах и не допускает бесплатного использования в облачных базах данных (база данных, такая как служба ).
Интересная часть TimescaleDB заключается в том, что позволяет использовать полные SQL-запросы для анализа накопленных данных, сочетание простоты использования, присущей реляционным СУБД, с масштабируемостью и возможностями, присущими специализированным NoSQL-системам.
Структура хранения оптимизирован для обеспечения высокой скорости агрегации данных. Поддерживает наборы данных пакетной агрегации, используя индексы, хранящиеся в ОЗУ, задним числом загружая исторические сегменты, применяя транзакции.
Ключевой особенностью TimescaleDB является поддержка автоматического разделенияa (раздел) массива данных. Входящий поток данных автоматически распределяется между секционированными таблицами.
Разделы создаются на основе времени (в каждом разделе хранятся данные за определенный период времени) или относительно произвольного ключа (например, идентификатора устройства, местоположения и т. Д.). Секционированные таблицы можно распределить по разным дискам для оптимизации производительности.
Для запросов многораздельная база данных выглядит как большая таблица, называемая гипертаблицей. Гипертаблица - это виртуальное представление множества отдельных таблиц, в которых накапливаются входящие данные.
Что нового в TimescaleDB 1.7?
В этой новой версии поддержка интеграция с СУБД PostgreSQL 12, в то время как поддержка PostgreSQL 9.6.x и 10.x устарела, хотя для Timescale 2.0 останется поддержка только PostgreSQL 11+.
Также стоит отметить, что изменено поведение запросов с непрерывно выполняемыми агрегатными функциями (агрегирование непрерывно поступающих данных в реальном времени).
Такие запросы теперь объединяют материализованные представления с вновь поступившими данными, которые еще не материализовались (ранее агрегация охватывала только уже материализованные данные). Новое поведение используется для вновь созданных непрерывных агрегатов.
Кроме того, некоторые расширенные инструменты управления жизненным циклом данных были перенесены в версию сообщества коммерческой версии, включая возможность перегруппировки данных и обработки политик для удаления устаревших данных (позволяет хранить только текущие данные и автоматически удалять, добавлять или архивировать устаревшие записи).
Как установить TimescaleDB в Linux?
Для тех, кому интересно чтобы иметь возможность установить TimescaleDB в вашей системеОни могут сделать это, следуя инструкциям, которые мы приводим ниже.
В случае тех, кто Пользователи Ubuntu:
sudo echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -c -s)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add – sudo add-apt-repository ppa:timescale/timescaledb-ppa sudo apt-get update sudo apt install timescaledb-postgresql-11
В случае Debian:
sudo sh -c "echo 'deb https://packagecloud.io/timescale/timescaledb/debian/ `lsb_release -c -s` main' > /etc/apt/sources.list.d/timescaledb.list" wget --quiet -O - https://packagecloud.io/timescale/timescaledb/gpgkey | sudo apt-key add - sudo apt-get update sudo apt-get install timescaledb-postgresql-11
RHEL / CentOS:
sudo yum install -y https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo tee /etc/yum.repos.d/timescale_timescaledb.repo <<EOL [timescale_timescaledb] name=timescale_timescaledb baseurl=https://packagecloud.io/timescale/timescaledb/el/7/\$basearch repo_gpgcheck=1 gpgcheck=0 enabled=1 gpgkey=https://packagecloud.io/timescale/timescaledb/gpgkey sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300 EOL
sudo yum update -y sudo yum install -y timescaledb-postgresql-11
Сейчас мы собираемся настроить базу данных с помощью:
sudo timescaledb-tune
Здесь возможны различные конфигурации, из которых вы можете проконсультироваться По следующей ссылке.
В конце просто перезапустите сервис:
sudo service postgresql restart