TimescaleDB, um banco de dados de código aberto para armazenar dados de séries temporais

Foi anunciado o lançamento da nova versão do TimescaleDB 1.7, versão em que adicionado suporte para PostgreSQL 12 é destacado, bem como na modificação de algumas funções. Para quem não conhece Escala de tempoDB, eles deveriam saber que é um banco de dados projetado para armazenar e processar dados na forma de séries temporais (segmentos de valores de parâmetro em intervalos de tempo dados, o registro forma a hora e um conjunto de valores correspondentes a essa hora).

Esta forma de armazenamento é ideal para aplicativos como sistemas de monitoramento, plataformas de negociação, sistemas para coletar status e métricas do sensor.

Sobre o TimescaleDB

O projeto TimescaleDB é implementado como uma extensão PostgreSQL e é distribuído sob a licença Apache 2.0. Parte do código com recursos avançados é entregue sob uma licença exclusiva do Timescale (TSL), que não permite alterações, proíbe o uso de código em produtos de terceiros e não permite o uso gratuito em bancos de dados em nuvem (banco de dados, como serviço )

A parte interessante do TimescaleDB é que permite que você use consultas SQL completas para analisar os dados acumulados, combinando a facilidade de uso inerente ao SGBD relacional com a escalabilidade e recursos inerentes a sistemas NoSQL especializados.

A estrutura de armazenamento é otimizado para fornecer uma alta taxa de agregação de dados. Suporta conjuntos de dados de agregação em lote, usando índices armazenados em RAM, carregando retroativamente segmentos históricos e aplicando transações.

Uma característica fundamental do TimescaleDB é o suporte para partição automáticaa (partição) da matriz de dados. O fluxo de dados de entrada é distribuído automaticamente entre as tabelas particionadas.

As seções são criadas com base no tempo (cada seção armazena dados por um determinado período de tempo) ou em relação a uma chave arbitrária (por exemplo, identificador de dispositivo, localização, etc.). As tabelas particionadas podem ser distribuídas por diferentes unidades para otimizar o desempenho.

Para consultas, um banco de dados particionado se parece com uma grande tabela, chamada de hipertabela. Uma hipertabela é uma representação virtual de muitas tabelas separadas nas quais os dados recebidos são acumulados.

O que há de novo no TimescaleDB 1.7?

Nesta nova versão o suporte para o integração com PostgreSQL 12 DBMS, enquanto o suporte para PostgreSQL 9.6.x e 10.x foi descontinuado, embora para Timescale 2.0 apenas o suporte para PostgreSQL 11+ permanecerá.

Também se destaca que mudou o comportamento das consultas com funções agregadas executadas continuamente (agregação de dados continuamente recebidos em tempo real).

Essas consultas agora combinam visões materializadas com dados recém-chegados que ainda não foram materializados (anteriormente, a agregação cobria apenas dados já materializados). O novo comportamento é usado para agregações contínuas recém-criadas.

Além disso, algumas ferramentas avançadas de gerenciamento do ciclo de vida de dados foram movidas para a versão da comunidade da edição comercial, incluindo a capacidade de reagrupar dados e processar políticas para mover dados desatualizados (permite armazenar apenas dados atuais e excluir, adicionar ou arquivar registros desatualizados automaticamente).

Como instalar o TimescaleDB no Linux?

Para aqueles que estão interessados ser capaz de instalar TimescaleDB em seu sistemaEles podem fazer isso seguindo as instruções que compartilhamos abaixo.

No caso daqueles que são Usuários do 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

No caso de 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

Agora vamos configurar o banco de dados com:

sudo timescaledb-tune

Aqui várias configurações podem ser feitas, do qual você pode consultar no link a seguir. 

Ao final, basta reiniciar o serviço:

sudo service postgresql restart

Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: AB Internet Networks 2008 SL
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.