Timescale Cloud:性能、规模、企业级

自托管产品

MST

Timescale 超函数是一组专门的功能,可为时序数据和事件提供实时分析能力。物联网设备、IT 系统、营销分析、用户行为、财务指标、加密货币——这些只是超函数能够发挥巨大作用的领域中的几个例子。超函数能为您提供有意义的、可操作的实时洞察。

Timescale Cloud 默认包含所有超函数,而自托管的 TimescaleDB 则包含其中的一部分。要使用更多超函数,请安装 Timescale Toolkit PostgreSQL 扩展。

以下是 Timescale 提供的所有超函数列表。在 Toolkit 列带有勾选的超函数需要在自托管部署中安装 Timescale Toolkit。在 Experimental 列带有勾选的超函数仍在开发中。

警告

实验性功能可能存在错误。它们可能不向后兼容,并可能在未来的版本中移除。使用这些功能需自担风险,并且不要在生产环境中使用任何实验性功能。

重要

升级 timescaledb 扩展时,实验性模式默认会被移除。升级后要使用实验性功能,您需要再次添加实验性模式。

近似计数去重函数

超函数类型超函数名称Toolkit实验性
hyperloglog() 函数
聚合hyperloglog()
替代聚合approx_count_distinct()
访问器distinct_count()
stderror()
汇总rollup()

计数器和测量器函数

下采样函数

超函数类型超函数名称Toolkit实验性
函数asap_smooth()
gp_lttb()
lttb()

财务分析函数

超函数类型超函数名称Toolkit实验性
candlestick_agg() 函数
聚合candlestick_agg()
伪聚合candlestick()
访问器close()
close_time()
high()
high_time()
low()
low_time()
open()
open_time()
volume()
vwap()
汇总rollup()

频率分析函数

超函数类型超函数名称Toolkit实验性
count_min_sketch() 函数
聚合count_min_sketch()
访问器approx_count()
freq_agg() 函数
聚合freq_agg()
访问器into_values()
max_frequency()
min_frequency()
topn()
替代聚合mcv_agg()
汇总rollup()

填充缺失值函数

超函数类型超函数名称Toolkit实验性
time_bucket_gapfill()
插值器interpolate()
locf()

最小值和最大值函数

超函数类型超函数名称Toolkit实验性
max_n() 函数
聚合max_n()
访问器into_array()
into_values()
汇总rollup()
max_n_by() 函数
聚合max_n_by()
访问器into_values()
汇总rollup()
min_n() 函数
聚合min_n()
访问器into_array()
into_values()
汇总rollup()
min_n_by() 函数
聚合min_n_by()
访问器into_values()
汇总rollup()

百分位数近似函数

超函数类型超函数名称Toolkit实验性
tdigest() 函数
聚合tdigest()
访问器approx_percentile()
approx_percentile_rank()
mean()
num_vals()
汇总rollup()
uddsketch() 函数
聚合uddsketch()
访问器approx_percentile()
approx_percentile_array()
approx_percentile_rank()
error()
num_vals()
mean()
替代聚合percentile_agg()
汇总rollup()

饱和数学函数

超函数类型超函数名称Toolkit实验性
函数saturating_add_pos()
saturating_mul()
saturating_sub()
saturating_sub_pos()
saturating_add()

状态跟踪函数

统计和回归分析函数

超函数类型超函数名称Toolkit实验性
stats_agg()(单变量)函数
聚合stats_agg()(单变量)
访问器average()
kurtosis()
num_vals()
skewness()
stddev()
variance()
sum()
汇总rolling()
rollup()
stats_agg()(双变量)函数
聚合stats_agg()(双变量)
访问器corr()
covariance()
determination_coeff()
average_y(), average_x()
intercept()
kurtosis_y(), kurtosis_x()
num_vals()
skewness_y(), skewness_x()
slope()
stddev_y(), stddev_x()
sum_y(), sum_x()
variance_y(), variance_x()
x_intercept()
汇总rolling()
rollup()

时间加权计算函数

超函数类型超函数名称Toolkit实验性
time_weight() 函数
聚合time_weight()
访问器average()
first_time()
first_val()
integral()
interpolated_average()
interpolated_integral()
last_time()
last_val()
汇总rollup()

一般函数

有关此表中列出的每个 API 调用的更多信息,请参阅超函数 API 文档

函数管道是一项实验性功能,旨在通过应用函数式编程和流行工具(如 Python 的 Pandas 和 PromQL)的原则,从根本上改善 PostgreSQL 和 SQL 中数据分析的开发人员体验。

SQL 是用于数据分析的最佳语言,但它并不完美,有时会变得相当笨拙。例如,此查询从 measurements 表中获取最后一天的数据,按时间列对数据进行排序,计算值之间的增量,获取增量的绝对值,然后对前几步的结果求和。

SELECT device id,
sum(abs_delta) as volatility
FROM (
SELECT device_id,
abs(val - lag(val) OVER last_day) as abs_delta
FROM measurements
WHERE ts >= now()-'1 day'::interval) calc_delta
GROUP BY device_id;

您可以使用函数管道来表达相同的查询,如下所示

SELECT device_id,
timevector(ts, val) -> sort() -> delta() -> abs() -> sum() as volatility
FROM measurements
WHERE ts >= now()-'1 day'::interval
GROUP BY device_id;

函数管道完全符合 SQL 标准,这意味着任何支持 SQL 的工具都能够使用函数管道进行数据分析。

有关函数管道工作原理的更多信息,请阅读我们的博客文章

Timescale Toolkit 功能是开源开发的。随着功能的开发,它们被分为实验性、测试版、稳定版或已弃用。本文档涵盖稳定功能,但有关正在开发的实验性功能的更多信息可在 Toolkit 存储库

我们希望并需要您的反馈!时序数据分析中哪些部分最令人沮丧?哪些操作需要比您认为的更多的代码?哪些操作运行缓慢,或者只有在多次重写后才能快速运行?我们希望解决社区范围的问题,并尽可能多地吸纳反馈。

超函数Toolkit分析

在此页面上发现问题?报告问题 或在 GitHub 上编辑此页面
相关内容