热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

立即开始使用InformixTimeSeries解决方案

IBMInformix为处理时间序列数据提供了本机支持。IBMInformix中提供的TimeSeries数据类型有助于减少存储的成本,以及在您选择和加载大量时间序列数据时改善性能。在本文中,您将学习如何开始创建和加载时间序列数据。

IBM Informix 为处理时间序列数据提供了本机支持。IBM Informix 中提供的 TimeSeries 数据类型有助于减少存储的成本,以及在您选择和加载大量时间序列数据时改善性能。在本文中,您将学习如何开始创建和加载时间序列数据。

另外,Virtual Table Interface 让时间序列看起来像正常的表。本文还将描述 IBM Informix 时间序列组件的一般架构、创建和加载一个时间序列的步骤,以及使用 Open Admin 工具管理一个时间序列。

IBM Informix TimeSeries 解决方案改进了功能,扩展了对时间序列数据进行存储、操作和访问的支持。它使您能够通过选择时间序列间隔和指定时间序列的存储位置,自由地管理时间序列数据。

时间序列数据是一组数据,其中每一项都具有时间戳并按时间顺序访问,可以按时序进行处理和分析。Informix TimeSeries 解决方案的主要优势包括以下方面。

  • 相比传统的关系方法,节省了高达 80% 的存储空间。
  • 相比传统的关系方法,在处理时态数据方面的性能改进了几个数量级。
  • 通过内置的例程减少了应用程序开发成本。
  • 通过 Open Admin 工具简化了管理。

本文将介绍处理时间序列数据的步骤。创建和加载一个 TimeSeries 的步骤涉及到处理以下组件。

  • 日历
  • 日历模式
  • TimeSeries 列
  • TimeSeries 容器

本文还会向您展示如何执行以下活动。

  • 创建一个 TimeSeries
  • 加载数据

要开始使用 TimeSeries,您需要首先创建一个缓冲的日志数据库。

TimeSeries 架构

TimeSeries 子类型是一个 ROW 集合。一个 ROW 数据类型是由具有相同数据类型或不同数据类型的列组成。在定义一个 TimeSeries 时,Informix 可使用其自身的日历和 TimeSeries 开始日期。

TimeSeries 的总体架构和不同组件如下所述。这两个主要组件是 TimeSeries 数据类型和 TimeSeries 子类型(Row 数据类型)。TimeSeries 数据类型充当 TimeSeries 子类型(一个 ROW 集合)的一个类型构造函数。ROW 数据类型包含由一组命名列所组成的单一数据库列,这些列具有您定义的相同或不同的数据类型。

时间戳列必需是第一列并具有 DATETIME YEAR TO FRACTION(5) 类型。在图 1 中所示的示例中,该表包含 meter_id 列(包含仪表编号)和 meter_data 列(包含 TimeSeries)。每个表行包含不同的 TimeSeries。在此示例中,表中的 3 行拥有一个子类型 meter_data 的 TimeSeries。元素的结构是由 TimeSeries 行子类型进行定义。

图 1. TimeSeries 架构
该图显示了 TimeSeries 架构

日历和日历模式数据类型

日历定义何时需要 TimeSeries 数据。在开始定义包含 TimeSeries 列的表之前,您需要依据想要的 TimeSeries 数据频率来创建日历。有一些内置的日历可供快速使用。

要设置日历,您必需创建日历模式并创建日历。

创建日历模式

要创建日历模式,必需在 CalendarPatterns 表中插入值。

清单 1 中的示例展示了如何创建一个名为 sm_15min 的日历模式。该模式以分钟为单位,每 15 分钟就有一个有效的输入。

清单 1. 创建日历模式

				
INSERT INTO CalendarPatterns values ( 'sm_15min', '{1 on , 14 off},
minute');

创建日历

要创建日历,您必需在 CalendarTable 表中插入值。清单 2 展示了如何将一个名为 cal_15min 的日历插入到 CalendarTable 表中。

清单 2. 创建日历

				
insert into CalendarTable(c_name, c_calendar)
values ('cal_15min', 'startdate(2012-01-01 00:00:00), 
pattstart(2012-01-01 00:00:00), pattname(sm_15min)');

这个日历从 2012 年 1 月 1 日开始。其模式也从 2012 年 1 月 1 日 00:00:00 开始,它使用上一步中创建的模式 sm_15min。

推荐阅读
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • 本文介绍了Java的集合及其实现类,包括数据结构、抽象类和具体实现类的关系,详细介绍了List接口及其实现类ArrayList的基本操作和特点。文章通过提供相关参考文档和链接,帮助读者更好地理解和使用Java的集合类。 ... [详细]
  • 本文介绍了电流源并联合并的方法,以及谐振电路的原理。谐振电路具有很强的选频能力,通过将电感和电容连接在一起,电流和电压会产生震荡。谐振频率的大小取决于电感和电容的大小,而电路中的电阻会逐渐降低震荡的幅度。电阻和电容组成的电路中,当电容放完电后,电阻两端的电压为0,电流不再流过电容。然而,电感是一种特殊的器件,当有电流流过时,线圈会产生感应磁场,阻止电流的流动,从而使电流不会减小。 ... [详细]
  • 标题: ... [详细]
  • 单点登录原理及实现方案详解
    本文详细介绍了单点登录的原理及实现方案,其中包括共享Session的方式,以及基于Redis的Session共享方案。同时,还分享了作者在应用环境中所遇到的问题和经验,希望对读者有所帮助。 ... [详细]
  • 本文介绍了在Docker容器技术中限制容器对CPU的使用的方法,包括使用-c参数设置容器的内存限额,以及通过设置工作线程数量来充分利用CPU资源。同时,还介绍了容器权重分配的情况,以及如何通过top命令查看容器在CPU资源紧张情况下的使用情况。 ... [详细]
  • 集合的遍历方式及其局限性
    本文介绍了Java中集合的遍历方式,重点介绍了for-each语句的用法和优势。同时指出了for-each语句无法引用数组或集合的索引的局限性。通过示例代码展示了for-each语句的使用方法,并提供了改写为for语句版本的方法。 ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • position属性absolute与relative的区别和用法详解
    本文详细解读了CSS中的position属性absolute和relative的区别和用法。通过解释绝对定位和相对定位的含义,以及配合TOP、RIGHT、BOTTOM、LEFT进行定位的方式,说明了它们的特性和能够实现的效果。同时指出了在网页居中时使用Absolute可能会出错的原因,即以浏览器左上角为原始点进行定位,不会随着分辨率的变化而变化位置。最后总结了一些使用这两个属性的技巧。 ... [详细]
  • 开发笔记:Docker 上安装启动 MySQL
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Docker上安装启动MySQL相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
author-avatar
FF小小女人
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有