timescaledb 几个方便的api
timescaledb 提供了内置的api 操作,方便我们进行操作控制
hypertable 控制api
- add_dimension
向hypertable添加一个额外的分片方式,可以做为分片列有时间间隔的以及hash分片
必须参数
| 名称 | 说明 |
|---|---|
main_table |
hypertable 名称. |
column_name |
使用的分片列 |
可选参数
| 名称 | 说明 |
|---|---|
number_partitions |
hash 分片个数 column_name. 必须 > 0. |
chunk_time_interval |
每个chunk 的间隔 必须 > 0. |
partitioning_func |
分片函数 |
if_not_exists |
避免对于已经存在而进行创建是报错 |
参考:
SELECT create_hypertable('conditions', 'time');
SELECT add_dimension('conditions', 'location', number_partitions => 4);
- attach_tablespace
给hypertable 附加tablespace 信息,数据chunk 会按照此进行存储
必须参数
| 名称 | 描述 |
|---|---|
tablespace |
tablespace |
hypertable |
hypertable 名称 |
附加tablespace 之前必须创建好,tablespace 可以附加给多个hypertable
可选参数
| 名称 | 描述 |
|---|---|
if_not_attached |
避免对于已经存在而进行创建是报错 |
参考:
SELECT attach_tablespace('disk1', 'conditions');
SELECT attach_tablespace('disk2', 'conditions', if_not_attached => true);
- create_hypertable
创建hypertable
必须参数
| 名称 | 描述 |
|---|---|
main_table |
将要转换为hypertable的表 |
time_column_name |
做为时间指的分片列 |
可选参数
| 名称 | 描述 |
|---|---|
partitioning_column |
分片列 |
number_partitions |
分片个数 |
chunk_time_interval |
每个chunk的间隔 |
create_default_indexes |
分片列索引创建默认是true |
if_not_exists |
避免对于已经存在而进行创建是报错 |
partitioning_func |
分片函数 |
associated_schema_name |
内部hypertable 关联的schema默认为_timescaledb_internal |
associated_table_prefix |
hypertable chunk 数据表的后缀 |
migrate_data |
是否进行数据迁移,会话时间,具体的可以参考官方文档 |
参考
SELECT create_hypertable('conditions', 'time', chunk_time_interval => 86400000000);
SELECT create_hypertable('conditions', 'time', chunk_time_interval => interval '1 day');
最佳实践: 具体的可以参考官方文档
- drop_chunks
删除chunk 的数据
必须参数
| 名称 | 描述 |
|---|---|
older_than |
Timestamp of cut-off point for data to be dropped, i.e., anything older than this should be removed. |
可选参数
| 名称 | 描述 |
|---|---|
table_name |
hypertable 名称 |
schema_name |
schema 默认是public |
cascade |
是否进行及联数据删除 |
参考
SELECT drop_chunks(interval '3 months', 'conditions');
分析类函数Analytics
方便进行时序分析的一些函数,比如first 、last、time_bucket
- first
必须参数
| 名称 | 描述 |
|---|---|
value |
The value to return (anyelement) |
time |
The timestamp to use for comparison (TIMESTAMP/TIMESTAMPTZ or integer type) |
参考
SELECT device_id, first(temp, time)
FROM metrics
GROUP BY device_id;
- last
必须参数
| 名称 | 参数 |
|---|---|
value |
The value to return (anyelement) |
time |
The timestamp to use for comparison (TIMESTAMP/TIMESTAMPTZ or integer type) |
参考
SELECT device_id, time_bucket('5 minutes', time) as interval, last(temp, time)
FROM metrics WHERE time > now () - interval '1 day'
GROUP BY device_id, interval
ORDER BY interval DESC;
工具类
比较多,主要有以下几个
- chunk_relation_size
- chunk_relation_size_pretty
- hypertable_relation_size
- hypertable_relation_size_pretty
- show_tablespaces
参考资料
https://docs.timescale.com/v0.9/api#hypertable-management
timescaledb 几个方便的api的更多相关文章
- timescaledb 集成 madlib
github 上有人提出了一个问题(2017 很早了),然后搜索timescaledb 的docs 文档,发现有 一片介绍的文章,所以尝试运行下 备注: 环境使用虚拟机安装(没有使用docker ma ...
- 干货来袭-整套完整安全的API接口解决方案
在各种手机APP泛滥的现在,背后都有同样泛滥的API接口在支撑,其中鱼龙混杂,直接裸奔的WEB API大量存在,安全性令人堪优 在以前WEB API概念没有很普及的时候,都采用自已定义的接口和结构,对 ...
- 12306官方火车票Api接口
2017,现在已进入春运期间,真的是一票难求,深有体会.各种购票抢票软件应运而生,也有购买加速包提高抢票几率,可以理解为变相的黄牛.对于技术人员,虽然写一个抢票软件还是比较难的,但是还是简单看看123 ...
- 几个有趣的WEB设备API(二)
浏览器和设备之间还有很多有趣的接口, 1.屏幕朝向接口 浏览器有两种方法来监听屏幕朝向,看是横屏还是竖屏. (1)使用css媒体查询的方法 /* 竖屏 */ @media screen and (or ...
- html5 canvas常用api总结(三)--图像变换API
canvas的图像变换api,可以帮助我们更加方便的绘画出一些酷炫的效果,也可以用来制作动画.接下来将总结一下canvas的变换方法,文末有一个例子来更加深刻的了解和利用这几个api. 1.画布旋转a ...
- JavaScript 对数据处理的5个API
JavaScript对数据处理包括向上取整.向下取整.四舍五入.固定精度和固定长度5种方式,分别对应ceil,floor,round,toFixed,toPrecision等5个API,本文将对这5个 ...
- ES5对Array增强的9个API
为了更方便的对Array进行操作,ES5规范在Array的原型上新增了9个方法,分别是forEach.filter.map.reduce.reduceRight.some.every.indexOf ...
- javascript的api设计原则
前言 本篇博文来自一次公司内部的前端分享,从多个方面讨论了在设计接口时遵循的原则,总共包含了七个大块.系卤煮自己总结的一些经验和教训.本篇博文同时也参考了其他一些文章,相关地址会在后面贴出来.很难做到 ...
- 一百元的智能家居——Asp.Net Mvc Api+讯飞语音+Android+Arduino
大半夜的,先说些废话提提神 如今智能家居已经不再停留在概念阶段,高大上的科技公司都已经推出了自己的部分或全套的智能家居解决方案,不过就目前的现状而言,大多还停留在展厅阶段,还没有广泛的推广起来,有人说 ...
随机推荐
- MySql数据库的安装和卸载
- 20145122 《Java程序设计》第二周学习总结
20145122 <Java程序设计>第2周学习总结 教材学习内容总结 在大一的时候我们学习了C语言,所以对第三章的知识不是很陌生,但有些新知识需要记忆. java常用的数据类型: byt ...
- HDU 3374 String Problem(最大最小表示+KMP)题解
题意:给你一个字符串,这个字符串可以这样操作:把第一个字符放到最后一个形成一个新的字符串,记原式Rank为1,每操作一步Rank+1,问你这样操作得出的最小字典序的字符串的Rank和这样的字符串有几个 ...
- POJ 3436 ACM Computer Factory(最大流+路径输出)
http://poj.org/problem?id=3436 题意: 每台计算机包含P个部件,当所有这些部件都准备齐全后,计算机就组装完成了.计算机的生产过程通过N台不同的机器来完成,每台机器用它的性 ...
- 一次完整的HTTP事务是怎样一个过程
当我们在浏览器的地址栏输入 www.linux178.com,然后回车,回车这一瞬间到看到页面到底发生了什么呢? 以下过程仅是个人理解: 域名解析 --> 发起TCP的3次握手 --> 建 ...
- redis持久化策略
redis是内存数据库,它把数据存储在内存中,这样在加快读取速度的同时也对数据安全性产生了新的问题,即当redis所在服务器发生宕机后,redis数据库里的所有数据将会全部丢失. 为了解决这个问题,r ...
- http cookie的domain使用
问题描述 最近遇到了一个因cookie domain设置不正确导致公司自研的分布式session组件无法生效的问题. 公司自研的这套分布式session组件依赖于设置在cookie中的sessionI ...
- m_Orchestrate learning system---二十八、字體圖標iconfont到底是什麼
m_Orchestrate learning system---二十八.字體圖標iconfont到底是什麼 一.总结 一句话总结: 阿里巴巴 图标库 iconfont-阿里巴巴矢量图标库 1.表格的t ...
- Hystrix熔断机制原理剖析
一.前言 在分布式系统架构中多个系统之间通常是通过远程RPC调用进行通信,也就是 A 系统调用 B 系统服务,B 系统调用 C 系统的服务.当尾部应用 C 发生故障而系统 B 没有服务降级时候可能会导 ...
- HDU - 4812 D Tree 点分治
http://acm.hdu.edu.cn/showproblem.php?pid=4812 题意:有一棵树,每个点有一个权值要求找最小的一对点,路径上的乘积mod1e6+3为k 题解:点分治,挨个把 ...