桑河一榆

微服务、Web开发、人工智能

时序数据库使用总结

<div class="featured-image"> <img src="https://cdn.jsdelivr.net/gh/justpic/jscdn/posts/iotdb.png" referrerpolicy="no-referrer"> </div><p>时序数据库在当下产业互联网背景下,在金融、工业等领域得到越来越多的应用,主要面向高并发、海量时序数据等应用场景中。</p> <h3 id="大规模时序数据具有特点">大规模时序数据具有特点</h3> <ul> <li>占用空间极大</li> <li>数据总吞吐量大</li> <li>产生速度快且不间断</li> </ul> <!--adsense--> <h3 id="时序数据存储的需求">时序数据存储的需求</h3> <ul> <li>全时全量</li> <li>高效写入</li> <li>紧凑存储</li> </ul> <h4 id="时序数据库与关系型数据库">时序数据库与关系型数据库</h4> <ul> <li>时序数据管理具有超高性能,超多序列的特点</li> <li>关系型数据库具有写入受限的缺点</li> </ul> <ol> <li>单表列数上限 mysql innodb最大为1017列</li> <li>单表行数不易过多 小于1000万行</li> <li>水平、垂直分表;分库 键值数据库可管理海量条时间序列数据,但查询受限:主要包括按时间纬度的查询,按值纬度的查询,多序列的时间对齐查询。</li> </ol> <p>除此之外,时序数据库还有一个优点:由于时序数据库其具有时间相关性,不需要处理关系性数据库下的分布式锁这类比较繁琐的事务。</p> <h3 id="时序数据库大体上可分为三种">时序数据库大体上可分为三种:</h3> <ol> <li> <p>基于关系数据库的: Timescale,基于PG开发的插件 能够做到: 时序数据自动分区 优化查询计划 定制并行查询 但随着导入时间增加时,其导入效率不断下降</p> </li> <li> <p>基于键值数据库的: OpenTSDB,KairosDB 这类时序数据库一般基于HBase/Cassandra衍生, 支持时序分区键,定时任务构件索引。但存在压缩不友好,查询不友好的缺点。</p> </li> </ol> <!--adsense--> <ol start="3"> <li>原生时序数据库: influxdb 基于LSM机制的时序库, 专属文件结构 专属查询优化 特定工业场景下性能会下降 iotdb grafana-adaptor pisa索引</li> </ol> <h3 id="常用时序数据库">常用时序数据库:</h3> <p>iotdb influxdb taosdb timescale kairosdb</p> <blockquote> <p>经过测试iotdb性能较优</p> </blockquote>

2020/5/7
阅读更多

口罩和安全帽识别

2020/4/5
阅读更多

ubuntu 18.04系统安装OpenCV 4.2.0

<p>主要介绍ubuntu 18.04安装OpenCV 4.2.0</p>

2020/3/27
阅读更多

requests库中的那些高级用法

<p>作为python中最通用的http工具库之一——requests,具有简洁、直观和全面的特点,一般来说,requests与python中的内置模块urllib3已经逐渐成为程序员处理HTTP请求的首选工具。</p>

2020/3/12
阅读更多

Jupyter最佳实践

<p>广受各大企业赞助的<a href="https://jupyter.org/about" target="_blank" rel="noopener noreffer">jupyter团队</a>所开发的jupyter系列产品(主要包括jupyter notebook、jupyterlab和jupyterhub),在数据科学领域变得越来越火热,依托python强大的语言生态,得益于其良好的扩展性和友好的用户交互,jupyter逐渐成为数据分析可视化的首选开源工具之一,下面将对数据分析实践过程中针对jupyter的调研分析进行小结.如果你正在使用python语言进行相关数据分析,本文所记录的jupyter相关实践可能对你会有所帮助。</p>

2020/3/9
阅读更多

什么是好的软件工程原则

<p>软件开发原则是一组具体的规则和建议,如果工程师想要编写工整、清晰和可维护的代码,那么他们需要在程序实现过程中应该遵循一些规则和建议。 没有魔杖可以把变量、类和函数的混合物变成完美的代码,但是有一些技巧和提示可以帮助工程师评判是否在做正确的事情。</p>

2020/3/8
阅读更多

Java基础知识总结

<p>Java基础知识清单<br> 主要包括面向对象、基础语法、高级进阶三部分</p>

2020/3/4
阅读更多

Markdown写作指南

<p>Markdown是一种轻量级标记语言。你不需要关心标题多大字号,段前距多少,列表缩进几格,只要在纯文本前后增加一些标记符号(例如 # - * &gt;),就能轻松写出工整精美的文章。与富文本编辑器(例如Word)是通过点击图形化的功能按钮来实现排版,而Markdown则是通过标记字符去赋予文字不同格式。易读易写(easy-to-read and easy-to-write),让任何与文字打交道的人专注于写作,不用操心排版,这一点类似vi编辑器功能。</p>

2020/3/4
阅读更多

浅谈低代码开发

<p>本文从低代码发展历史、 相关领域发展情况、以及具体的实现三个方面对低代码的前世今生进行探索。</p>

2020/3/2
阅读更多

APIJSON实践

<p>APIJSON实践</p>

2019/10/27
阅读更多