TimescaleDB, một cơ sở dữ liệu mã nguồn mở để lưu trữ dữ liệu chuỗi thời gian

Việc phát hành phiên bản mới của TimescaleDB 1.7 đã được công bố, phiên bản trong đó hỗ trợ thêm cho PostgreSQL 12 được đánh dấu, cũng như trong việc sửa đổi một số chức năng. Dành cho những ai chưa biết Thang thời gianDB, họ nên biết rằng là một cơ sở dữ liệu được thiết kế để lưu trữ và xử lý dữ liệu dưới dạng chuỗi thời gian (các đoạn giá trị tham số tại các khoảng thời gian nhất định, thanh ghi tạo thành thời gian và một bộ giá trị tương ứng với thời điểm này).

Hình thức lưu trữ này tối ưu cho các ứng dụng như hệ thống giám sát, nền tảng giao dịch, hệ thống thu thập trạng thái và chỉ số cảm biến.

Giới thiệu về TimescaleDB

Dự án TimescaleDB được triển khai dưới dạng một phần mở rộng PostgreSQL và được phân phối theo giấy phép Apache 2.0. Một số mã với các tính năng nâng cao được phân phối theo giấy phép Timescale riêng biệt (TSL) độc quyền, không cho phép thay đổi, cấm sử dụng mã trong các sản phẩm của bên thứ ba và không cho phép sử dụng miễn phí trong cơ sở dữ liệu đám mây (cơ sở dữ liệu như dịch vụ ).

Phần thú vị của TimescaleDB, đó là cho phép bạn sử dụng các truy vấn SQL đầy đủ để phân tích dữ liệu tích lũy, kết hợp tính dễ sử dụng vốn có trong DBMS quan hệ với khả năng mở rộng và khả năng vốn có trong các hệ thống NoSQL chuyên biệt.

Cấu trúc lưu trữ được tối ưu hóa để cung cấp tốc độ tổng hợp dữ liệu cao. Hỗ trợ các tập dữ liệu tổng hợp hàng loạt, sử dụng các chỉ số được lưu trữ trong RAM, tải các phân đoạn lịch sử trở về trước, áp dụng các giao dịch.

Một tính năng chính của TimescaleDB là hỗ trợ phân vùng tự độnga (phân vùng) của mảng dữ liệu. Luồng dữ liệu đến được phân phối tự động giữa các bảng được phân vùng.

Các phần được tạo dựa trên thời gian (mỗi phần lưu trữ dữ liệu trong một khoảng thời gian nhất định) hoặc liên quan đến một khóa tùy ý (ví dụ: số nhận dạng thiết bị, vị trí, v.v.). Các bảng được phân vùng có thể được trải rộng trên các ổ đĩa khác nhau để tối ưu hóa hiệu suất.

Đối với các truy vấn, cơ sở dữ liệu được phân vùng trông giống như một bảng lớn, được gọi là siêu bảng. Một siêu bảng là một biểu diễn ảo của nhiều bảng riêng biệt, trong đó dữ liệu đến được tích lũy.

Có gì mới trong TimescaleDB 1.7?

Trong phiên bản mới này, hỗ trợ cho tích hợp với PostgreSQL 12 DBMS, trong khi hỗ trợ cho PostgreSQL 9.6.x và 10.x đã không còn được dùng nữa, mặc dù đối với Timescale 2.0, chỉ hỗ trợ PostgreSQL 11+ sẽ vẫn còn.

Nó cũng nổi bật rằng đã thay đổi hành vi của các truy vấn với các hàm tổng hợp được thực thi liên tục (tổng hợp dữ liệu đến liên tục trong thời gian thực).

Các truy vấn như vậy hiện kết hợp các chế độ xem hiện thực hóa với dữ liệu mới đến chưa được hiện thực hóa (trước đây, việc tổng hợp chỉ bao gồm dữ liệu đã được hiện thực hóa). Hành vi mới được sử dụng cho các tổng hợp liên tục mới được tạo.

Hơn nữa, một số công cụ quản lý vòng đời dữ liệu nâng cao đã được chuyển sang phiên bản cộng đồng của phiên bản thương mại, bao gồm khả năng tập hợp lại dữ liệu và xử lý các chính sách để thay thế dữ liệu cũ (cho phép bạn chỉ lưu trữ dữ liệu hiện tại và tự động xóa, thêm hoặc lưu trữ các bản ghi cũ).

Làm thế nào để cài đặt TimescaleDB trên Linux?

Dành cho những ai quan tâm để có thể cài đặt TimescaleDB trên hệ thống của bạnHọ có thể thực hiện theo hướng dẫn mà chúng tôi chia sẻ dưới đây.

Trong trường hợp của những Người dùng 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

Trong trường hợp của 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

Bây giờ chúng ta sẽ cấu hình cơ sở dữ liệu với:

sudo timescaledb-tune

đây nhiều cấu hình khác nhau có thể được thực hiện, mà bạn có thể tham khảo Trong liên kết sau đây. 

Khi kết thúc, chỉ cần khởi động lại dịch vụ:

sudo service postgresql restart

Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: AB Internet Networks 2008 SL
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.