Сегодня будем накатывать TimescaleDB 2 поверх установленной PostgreSQL 12 на машине с операционной системой Ubuntu 20.04 LTS.
Вкратце о TimescaleDB ниже. Сам почитал и вам напостил. Не очень мне нравится современная тенденция о более или менее новых продуктах писать что они офигенны и восхитительны. Минусы и недостатки где? Предлагается на них натыкаться самим, ну да ладно, будем наступать на грабли сами.
О TimescaleDB
TimescaleDB — расширение, которое оптимизирует работу с временными рядами в базе данных PostgreSQL.
TimescaleDB реализована как расширение над PostgreSQL и перенимает преимущества PostgreSQL: надежность, безопасность, возможность использовать другие сервисы. При этом TimescaleDB значительно изменила архитектуру базы.
В TimescaleDB вводится особый тип таблиц — гипертаблицы (hypertables). Они являются абстракцией или виртуальным представлением множества отдельных таблиц, содержащих данные, которые называются чанками (chunks). Практически все пользовательские взаимодействия с TimescaleDB происходят с гипертаблицами. Создание таблиц и индексов, изменение таблиц, вставка данных, выбор данных и т.д. выполняются на гипертаблице.
У TimescaleDB, в отличие от PostgreSQL или любой другой реляционной СУБД, при использовании модели данных временных рядов есть три главных преимущества:
- Выше скорость вставки данных временных рядов, особенно при больших размерах базы.
- Количество выполняемых запросов в секунду на порядок выше.
- Ориентированная на временные ряды функциональность.
При этом TimescaleDB полностью поддерживает функциональность PostgreSQL.
Установка TimescaleDB
Я буду устанавливать TimescaleDB поверх PostgreSQL12. Инструкцию по установке PostgreSQL 12 можно найти здесь:
Установка PostgreSQL 12 на Ubuntu 20.04 LTS
Установим репозиторий TimescaleDB:
add-apt-repository ppa:timescale/timescaledb-ppa
apt update
Установим TimescaleDB 2 для PostgreSQL 12:
apt install timescaledb-2-postgresql-12
Нам предлагают затюнить конфигурационный файл PostgreSQL 12.
В любом случае для использования TimescaleDB это нужно сделать, как минимум для подключения соответствующих библиотек.
timescaledb-tune --quiet --yes
Такой тюнинг нужно производить каждый раз после изменения конфигурации сервера, например, после добавления памяти или процессоров.
Перезагружаем PostgreSQL.
service postgresql restart
Установка TimescaleDB завершена.