timescaledb

时序数据库 Apache-IoTDB 源码解析之前言(一)

偶尔善良 提交于 2020-02-25 19:06:06
IoTDB 是一款时序数据库,相关竞品有 Kairosdb , InfluxDB , TimescaleDB 等,主要使用场景是在 物联网 相关行业,如:车联网、风力发电、地铁、飞机监控等等,具体应用案例及公司详情可以查看: IoTDB在实际公司中的使用信息收集 IoTDB 模块主要分为 Client , JDBC , Server , TsFile , Grafana , Distribution 以及各种生态的 连接器 。整个系列的文章会从行业背景开始讲起,了解一个行业具体的使用场景,然后介绍 TsFile 是以什么样的格式来保存数据的,再介绍 Server 里怎样完成一次查询,最后在介绍一条完 整的 SQL 是怎样从 Client 使用 JDBC 到 Server 直至返回具体结果。如果有能力的话再介绍一下集群的一些内容和工作方式。 打一波广告本人专注车联网领域多年,现任四维智联架构师。目前正在参与 IoTDB 社区,有志同道合的同伴欢迎加微信: liutaohua001 欢迎大家访问 IoTDB 仓库 ,求一波 Star 。 这一章主要想聊一聊: 为什么重复造轮子,从物联网行业的数据特点到 IoTDB 的发展过程 这个轮子造的怎么样, IoTDB 和竞品测试对比 时序数据 我个人理解时序数据是基于时间维度的同一个物体或概念的值构成的一个序列数据。在传统关系型数据库中,例如

prometheus远程存储之influxdb和timescaledb对比测试

有些话、适合烂在心里 提交于 2019-12-17 11:09:52
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 写在最前面 看了timescaledb官方的测试文章 TimescaleDB比拼InfluxDB:如何选择合适的时序数据库? ,发现差异较大的只在存储, 就准备用timescaledb,因为公司有专门的数据库小组,可以对pg进行维护。但测试发现openstack监控一天的写入数据空间在150G左右,面对服务器那可怜的600G存储,明显是不够的。因此才有了influxdb和timescaledb的对比测试,结果发现在我司环境,timescaledb各方面均被influxdb超越。 背景 目前prometheus的监控数据存储使用自带的tsdb时序数据库,将数据存储在本地磁盘;没有接口对存储的数据进行管理,只能按存储块删除;由于抓取量大、频率高,占用的磁盘空间高,无法满足长时间存储的需求。 poc项目 对比目前流行的tsdb:timescaledb、influxdb,通过对接我司测试云环境openstack监控。一台物理机通过docker部署influxdb(1.7.6),一台物理机通过docker部署prometheus-postgresql-adapter(0.4.1)、pg_prometheus(0.2.1,timescaledb:1.2.0) 并从以下几方面进行对比: 1、性能 (1)Cpu、内存

EMQ X 规则引擎系列(十三)- 消息写入到 TimescaleDB

六眼飞鱼酱① 提交于 2019-12-17 10:54:46
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> TimescaleDB 介绍 面对大规模快速增长的物联网传感器采集、交易记录等数据,时间序列数据累计速度非常快,时序数据库通过提高效率来处理这种大规模数据,并带来性能的提升,包括:更高的容纳率(Ingest Rates)、更快的大规模查询(尽管有一些比其他数据库支持更多的查询)以及更好的数据压缩。 TimescaleDB 是一款针对快速获取和复杂查询而优化的开源时间序列数据库。 它使用 标准的 SQL 语句 ,并且像传统的关系数据库那样容易使用,像 NoSQL 那样可扩展。 TimescaleDB是在 PostgreSQL 数据库的基础上进行开发的,所以使用方法基本和传统数据库一致。它可以支持复杂的SQL查询,并针对时间序列数据的快速插入和复杂查询、持久存储进行了优化,特别适合用于监控,IoT,金融,物流等大数据领域。 场景介绍 该场景需要将 EMQ X 指定主题下且满足条件的消息存储到 TimescaleDB。为了便于后续分析检索,消息内容需要进行拆分存储。 该场景下客户端上报数据如下: Topic:data/sensor Payload: { "location": "bedroom", "temperature": 25, "humidity": 46.4 } 准备工作 创建数据库 创建 tutorial

CPU 100% usage caused by unknown postgres query

非 Y 不嫁゛ 提交于 2019-12-13 02:59:14
问题 I installed timescaledb extension (v.5.0) for PostgreSQL (v9.6) on 16.04 Linux box and observes that Postgres process occupies 100% CPU: here is result of top command: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 19885 postgres 20 0 192684 3916 1420 S 98.3 0.1 5689:04 x3606027128 I run query SELECT pid, datname, usename, query FROM pg_stat_activity and find two weird queries pid datname username query 19882 postgres postgres select Fun013301 ('./x3606027128 &') 19901 postgres

Column is of type timestamp without time zone but expression is of type character varying : Nifi

落花浮王杯 提交于 2019-12-12 20:32:10
问题 I am trying to insert CSV records to Postgres database using nifi. Sample csv file : timenow,location '2019-10-21 15:13:11','colombo' When nifi scenario runs, it gives following error Error column 'timenow' is of type timestamp without time zone but expression is of type character varying If I use normal insert into conditions (timenow,location) values ('2019-10-21 15:13:11','colombo'); No errors values inserted to table. Do I have to change nifi configurations to add this to table? I have

Cannot succesfully install TimescaleDB on Postgres 10 (Windows Server 2016)

对着背影说爱祢 提交于 2019-12-11 15:49:07
问题 I am having trouble getting TimescaleDB to work on my windows server 2016 machine with Postgres 10. I open up a fresh windows server 2016 instance with AWS and I install Postgres using the windows GUI installer. (C:\Postgres). The installer automatically updates the path to include the bin directory (C:\PostgreSQL\pg10\bin). I stop postgres. I run the TimescaleDB windows installer file and it says it's successfully completed. I update the conf file. (shared_preload_libraries = 'timescaledb').

TimescaleDB: Is it possible to call 'create_hypertable' from Python?

China☆狼群 提交于 2019-12-10 03:26:43
问题 I want to create TimescaleDB tables in Postgres on the fly as I'm dealing with data sources that change (financial feeds, so could be 100, could be 1000) over time and I want one table per data source. I can create the tables no problem from Python, but when I call SELECT create_hypertable(test_table1, time) it throws an error. The same query seems to work fine when executed from pSQL of course, so it looks like the timescale API isn't available via psycopg2 perhaps? Environment: Python 3.6.4

Creating Hypertables through SQL Alchemy

一曲冷凌霜 提交于 2019-12-06 06:39:25
问题 Our current project relies heavily on SQL Alchemy for table creation/data insertion. We would like to switch to timescaledb's hypertables, but it seems the recommended way to create hypertables is by executing a create_hypertable command. I need to be able to dynamically create tables, and so manually doing this for every table created is not really an option. One way of handling the conversion is to run a python script sending psycopg2 commands to convert all newly-created tables into

Creating Hypertables through SQL Alchemy

こ雲淡風輕ζ 提交于 2019-12-04 15:57:05
Our current project relies heavily on SQL Alchemy for table creation/data insertion. We would like to switch to timescaledb's hypertables, but it seems the recommended way to create hypertables is by executing a create_hypertable command. I need to be able to dynamically create tables, and so manually doing this for every table created is not really an option. One way of handling the conversion is to run a python script sending psycopg2 commands to convert all newly-created tables into hypertables, but this seems a little clumsy. Does timescaledb offer any integration with SQL Alchemy with