mysql和timescale联合查询_TimescaleDB一个针对快速摄取和复杂查询优化的开源时间序列数据库...

TimescaleDB是一个开源的时间序列数据库,基于PostgreSQL并作为其扩展提供,支持自动时间与空间分区。它提供了一个看起来像常规表但实际上由多个单独表组成的数据视图,称为超表。TimescaleDB支持标准的SQL交互,可以方便地创建、插入和查询数据,并且包含用于时间序列分析的额外函数。此外,TimescaleDB提供了预包装的平台版本和云服务Timescale Cloud,以及用于调整PostgreSQL配置的工具timescaledb-tune。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux/macOS

Windows

Coverity

Code Coverage

badge.svg?event=schedule

68747470733a2f2f63692e6170707665796f722e636f6d2f6170692f70726f6a656374732f7374617475732f313573716b6c393030743034687977752f6272616e63682f6d61737465723f7376673d74727565

68747470733a2f2f7363616e2e636f7665726974792e636f6d2f70726f6a656374732f74696d657363616c652d74696d657363616c6564622f62616467652e737667

68747470733a2f2f636f6465636f762e696f2f67682f74696d657363616c652f74696d657363616c6564622f6272616e63682f6d61737465722f6772617068732f62616467652e7376673f6272616e63683d6d6173746572

TimescaleDB

TimescaleDB is an open-source database designed to make SQL scalable for time-series data. It is engineered up from PostgreSQL and packaged as a PostgreSQL extension, providing automatic partitioning across time and space (partitioning key), as well as full SQL support.

Timescale Cloud is our fully managed, hosted version of TimescaleDB, available in the cloud of your choice (pay-as-you-go, with free trial credits to start). To determine which option is best for you, see Timescale Products for more information about our Apache-2 version, TimescaleDB Community (self-hosted) and Timescale Cloud (hosted), including: feature comparisons, FAQ, documentation, and support.

Below is an introduction to TimescaleDB. For more information, please check out these other resources:

For reference and clarity, all code files in this repository reference licensing in their header (either Apache License, Version 2.0 or Timescale License (TSL)). Apache-2 licensed binaries can be built by passing -DAPACHE_ONLY=1 to bootstrap.

(To build TimescaleDB from source, see instructions in Building from source.)

Using TimescaleDB

TimescaleDB scales PostgreSQL for time-series data via automatic partitioning across time and space (partitioning key), yet retains the standard PostgreSQL interface.

In other words, TimescaleDB exposes what look like regular tables, but are actually only an abstraction (or a virtual view) of many individual tables comprising the actual data. This single-table view, which we call a hypertable, is comprised of many chunks, which are created by partitioning the hypertable's data in either one or two dimensions: by a time interval, and by an (optional) "partition key" such as device id, location, user id, etc. (Architecture discussion)

Virtually all user interactions with TimescaleDB are with hypertables. Creating tables and indexes, altering tables, inserting data, selecting data, etc., can (and should) all be executed on the hypertable.

From the perspective of both use and management, TimescaleDB just looks and feels like PostgreSQL, and can be managed and queried as such.

Before you start

PostgreSQL's out-of-the-box settings are typically too conservative for modern servers and TimescaleDB. You should make sure your postgresql.conf settings are tuned, either by using timescaledb-tune or doing it manually.

Creating a hypertable

-- Do not forget to create timescaledb extension

CREATE EXTENSION timescaledb;

-- We start by creating a regular SQL table

CREATE TABLE conditions (

time TIMESTAMPTZ NOT NULL,

location TEXT NOT NULL,

temperature DOUBLE PRECISION NULL,

humidity DOUBLE PRECISION NULL

);

-- Then we convert it into a hypertable that is partitioned by time

SELECT create_hypertable('conditions', 'time');

Inserting and querying data

Inserting data into the hypertable is done via normal SQL commands:

INSERT INTO conditions(time, location, temperature, humidity)

VALUES (NOW(), 'office', 70.0, 50.0);

SELECT * FROM conditions ORDER BY time DESC LIMIT 100;

SELECT time_bucket('15 minutes', time) AS fifteen_min,

location, COUNT(*),

MAX(temperature) AS max_temp,

MAX(humidity) AS max_hum

FROM conditions

WHERE time > NOW() - interval '3 hours'

GROUP BY fifteen_min, location

ORDER BY fifteen_min DESC, max_temp DESC;

In addition, TimescaleDB includes additional functions for time-series analysis that are not present in vanilla PostgreSQL. (For example, the time_bucket function above.)

Installation

TimescaleDB is available pre-packaged for several platforms:

Timescale Cloud (database-as-a-service) is available via free trial. You create database instances in the cloud of your choice and use TimescaleDB to power your queries, automating common operational tasks and reducing management overhead.

We recommend following our detailed installation instructions.

To build from source, see instructions here.

Resources

Useful tools

timescaledb-tune: Helps set your PostgreSQL configuration settings based on your system's resources.

timescaledb-parallel-copy: Parallelize your initial bulk loading by using PostgreSQL's COPY across multiple workers.

Additional documentation

Community & help

Timescale Support: see support options (community & subscription)

Releases & updates

Timescale Release Notes & Future Plans: see planned and in-progress updates and detailed information about current and past releases.

Subscribe to Timescale Release Notes to get notified about new releases, fixes, and early access/beta programs.

Contributing

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值