Вышел релиз СУБД TimescaleDB 2.0., версия, в которой были внесены изменения в лицензию TSL, чтобы предоставить пользователям больше прав и разрешить бесплатное использование всех функций корпоративной версии, включая сжатие, распределение хранилища по нескольким узлам и непрерывное агрегирование. Лицензия сняла ограничения на объем сборки сообщества, предоставила право вносить улучшения и изменения, удалила платные привязки (все функции, ранее предлагаемые в TimescaleDB Enterprise, были перенесены в редакцию Community).
Тем, кто не знаком с TimescaleDB, следует знать, что реализован как расширение PostgreSQLпредназначен для хранения и обработки данных в виде временного ряда (порции значений параметров в заданные временные интервалы, запись формирует время и набор значений, соответствующих этому времени).
Эта форма хранения оптимален для таких приложений, как системы мониторинга, торговые площадки, системы сбора метрик и состояния датчика. Предоставляются средства для интеграции с проектами Grafana и Prometheus.
Ключевой особенностью TimescaleDB является поддержка автоматического разделения массива данных, а также поток входных данных автоматически распределяется между секционированными таблицами и что секции создаются в соответствии со временем (каждая секция хранит данные за определенный период времени) или по отношению к произвольному ключу.
Основные новые функции TimescaleDB 2.0
В этой новой версии предлагается новая реализация непрерывно выполняемых функций Они позволяют вам постоянно добавлять входящие данные в режиме реального времени (они напоминают материализованные представления PostgreSQL, но отличаются тем, что обеспечивают автоматический расчет результатов запроса в фоновом режиме по мере поступления или изменения данных).
Новая реализация выделяется изменением API, которое теперь явно разделяет функции и правила агрегации, позволяя вам реализовать такие функции, как ручное обновление определенного диапазона в агрегированном представлении (например, вы можете автоматически материализовать новые данные, но оставить старые исторические данные для обновления вручную). Изменения также позволят в будущем реализовать поддержку распределенных операций при работе с несколькими узлами.
Еще одно важное изменение - поддержка пользовательских действий (UDA, действие, определяемое пользователем) выполнять функции и процедуры по расписанию написано на произвольных языках. Новая функция подходит для выполнения периодических задач, которые не включены в существующие политики подключения контроллера (очистка устаревших данных, сжатие и непрерывное агрегирование).
Добавлено поддержка распределенного гипертекста, позволяя распределить хранилище между несколькими узлами с помощью TimescaleDB. Конфигурация кластера на основе TimescaleDB включает один узел доступа и несколько узлов хранения. Все запросы к распределенному гипертексту направляются на узел доступа, а затем распределяются между узлами хранения.
Добавлена поддержка новых информационных представлений, позволяющих получать информацию о гипертексте, узлах кластера, строках, политиках и расписании запуска заданий.
Как установить 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