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的更多相关文章

  1. timescaledb 集成 madlib

    github 上有人提出了一个问题(2017 很早了),然后搜索timescaledb 的docs 文档,发现有 一片介绍的文章,所以尝试运行下 备注: 环境使用虚拟机安装(没有使用docker ma ...

  2. 干货来袭-整套完整安全的API接口解决方案

    在各种手机APP泛滥的现在,背后都有同样泛滥的API接口在支撑,其中鱼龙混杂,直接裸奔的WEB API大量存在,安全性令人堪优 在以前WEB API概念没有很普及的时候,都采用自已定义的接口和结构,对 ...

  3. 12306官方火车票Api接口

    2017,现在已进入春运期间,真的是一票难求,深有体会.各种购票抢票软件应运而生,也有购买加速包提高抢票几率,可以理解为变相的黄牛.对于技术人员,虽然写一个抢票软件还是比较难的,但是还是简单看看123 ...

  4. 几个有趣的WEB设备API(二)

    浏览器和设备之间还有很多有趣的接口, 1.屏幕朝向接口 浏览器有两种方法来监听屏幕朝向,看是横屏还是竖屏. (1)使用css媒体查询的方法 /* 竖屏 */ @media screen and (or ...

  5. html5 canvas常用api总结(三)--图像变换API

    canvas的图像变换api,可以帮助我们更加方便的绘画出一些酷炫的效果,也可以用来制作动画.接下来将总结一下canvas的变换方法,文末有一个例子来更加深刻的了解和利用这几个api. 1.画布旋转a ...

  6. JavaScript 对数据处理的5个API

    JavaScript对数据处理包括向上取整.向下取整.四舍五入.固定精度和固定长度5种方式,分别对应ceil,floor,round,toFixed,toPrecision等5个API,本文将对这5个 ...

  7. ES5对Array增强的9个API

    为了更方便的对Array进行操作,ES5规范在Array的原型上新增了9个方法,分别是forEach.filter.map.reduce.reduceRight.some.every.indexOf ...

  8. javascript的api设计原则

    前言 本篇博文来自一次公司内部的前端分享,从多个方面讨论了在设计接口时遵循的原则,总共包含了七个大块.系卤煮自己总结的一些经验和教训.本篇博文同时也参考了其他一些文章,相关地址会在后面贴出来.很难做到 ...

  9. 一百元的智能家居——Asp.Net Mvc Api+讯飞语音+Android+Arduino

    大半夜的,先说些废话提提神 如今智能家居已经不再停留在概念阶段,高大上的科技公司都已经推出了自己的部分或全套的智能家居解决方案,不过就目前的现状而言,大多还停留在展厅阶段,还没有广泛的推广起来,有人说 ...

随机推荐

  1. Adobe AIR中使用Flex连接Sqlite数据库(1)(创建数据库和表,以及同步和异步执行模式)

    系列文章导航 Adobe AIR中使用Flex连接Sqlite数据库(1)(创建数据库和表) Adobe AIR中使用Flex连接Sqlite数据库(2)(添加,删除,修改以及语句参数) Adobe ...

  2. linux内核分析第八周-理解进程调度时机跟踪分析进程调度与进程切换的过程

    实验原理: 一.调度时机 不同类型的进程有不同的调度需求 第一种分类:        I/O-bound             频繁的进行I/O            通常会花费很多时间等待I/O操 ...

  3. postman中如何使用OAuth

    https://learning.getpostman.com/docs/postman/sending_api_requests/authorization/ Authorization The a ...

  4. 【Dubbo基础】dubbo学习过程、使用经验分享及实现原理简单介绍

    一.前言 部门去年年中开始各种改造,第一步是模块服务化,这边初选dubbo试用在一些非重要模块上,慢慢引入到一些稍微重要的功能上,半年时间,学习过程及线上使用遇到的些问题在此总结下. 整理这篇文章差不 ...

  5. 科幻小说《霜与火》 by 雷·布雷德伯里

    漫漫长夜中,西姆出世了,躺在山洞冰凉的石头上,嗷嗷大哭,浑身血液奔流,脉搏每分钟一千跳.他不停地长大.妈妈用发烫的双手喂西姆吃东西.人生的梦魔开场了.一来到世间,他的眼睛就闪烁着警觉的光芒:而后又令人 ...

  6. windows下hadoop安装配置(转载)

    Windows平台安装配置Hadoop 步骤: 1. JDK安装(不会的戳这) 2. 下载hadoop2.5.2.tar.gz,或者自行去百度下载. 3. 下载hadooponwindows-mast ...

  7. npm汇总:npm命令 + 实用插件

    一.npm常用命令,以便查阅: npm install     //运行npm install可根据package.json的配置自动安装所有依赖包 npm uninstall   //卸载依赖,如n ...

  8. Android-----------广告图片轮播控件

    Banner广告图片轮播控件,支持无限循环和多种主题,可以灵活设置轮播样式.动画.轮播和切换时间.位置.图片加载框架等! 很多Android APP中都有广告栏,我也用过很多次了,特来写一篇博文. 先 ...

  9. AndroidStudio怎样导入library项目开源库

    AndroidStudio是一款非常强大的android程序开发软件,在里面集成了几乎所有android开发中需要使用的工具,编译.运行.打包.开发.调试等功能一应俱全,可以使用起来非常方便. 今天要 ...

  10. Mybatis出现参数错误Parameter 'cateCode_search' not found. Available parameters are [3, 2, 1, 0, param1, param2, 5, param3, 4, param4, param5, param6]

    1.参数改为序号 2.在mybatis借口上加@Param注解