热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

使用IBMInformixTimeSeries处理股票交易、智能电表等事务

随着世界仪表化程度的不断提升,IBM的智慧地球愿景也逐渐成为现实,IBMInformixTimeSeries的价值越来越明显。由于起源于关键架构突破性InformixDynamicServer(IDS)版本9,InformixTimeSeries是一款独特而又强大的技术,人们普遍将其视为处理大

随着世界仪表化程度的不断提升,IBM 的智慧地球 愿景也逐渐成为现实,IBM Informix TimeSeries 的价值越来越明显。由于起源于关键架构突破性 Informix Dynamic Server (IDS) 版本 9,Informix TimeSeries 是一款独特而又强大的技术,人们普遍将其视为处理大

随着世界仪表化程度的不断提升,IBM 的智慧地球™ 愿景也逐渐成为现实,IBM® Informix® TimeSeries 的价值越来越明显。由于起源于关键架构突破性 Informix Dynamic Server (IDS) 版本 9,Informix TimeSeries 是一款独特而又强大的技术,人们普遍将其视为处理大量时间戳数据的卓越工具。

Informix TimeSeries 的核心技术最初被描述为“对象关系模型”或“通用”。Informix 运用了专有(但并不十分生动)的营销术语“数据刀片”。

无论将它称作什么,这个概念都十分强大。您可以运用这项技术开放数据库,这样才能添加新的数据类型,其中包括通过运用新数据类型的特定操作人员来扩展标准 SQL 语言,从而添加新的“方法”。

由于用于添加这些扩展(数据刀片开发人员工具包)的应用程序编程接口 (API) 已经对客户端、合作伙伴和 Informix 开发人员完全开放,所以这些群体现在可以添加新数据类型支持。目前已经创建了数十种有趣的数据刀片,但其中的两种最为流行、对客户最有吸引力:处理时间序列数据和空间数据的扩展。

这些扩展得到广泛接受是有一定道理的。几乎每一家机构(无论是企业还是政府机构)都具有地点和时间数据。

位置数据案例

位置(空间)数据对于现今已向许多数据库添加此类数据处理机制的机构而言十分有用,还有一些公司的业务基于提供与此搭配使用的空间数据和地图。例如,如果您每次使用网站时,网络均要求您提供邮政编码,然后向您显示最近的业务位置(如最近的 ATM),那么您使用的很可能是支持空间数据的数据库。

即使没有专门的时间序列数据和空间数据功能,您仍然可以在自己的数据库中保留地址,但您却很难对“从 26 Cherry St. 到 52 Adams St. in Springfield, OR. 有多远这类简单问题进行解答”。对于保存为未引用地理数据库的字符串的地址,它所包含的信息不足以回答此类查询。

时间序列数据需求

虽然通过空间数据扩展典型关系数据类型从概念上很容易掌握,但仍然需要对时间序列数据类型需求稍作解释。毕竟,自最早的数据库系统问世以来,时间和日期一直是重要元素,并且始终是数据库系统不可或缺的组成部分。任何联机事务处理 (OLTP) 系统中的常规事务都会用时间戳来标记。计费系统通常基于计费周期,以日期和时间为界限。因此,如果从一开始 SQL 中便支持日期和时间数据格式,那么为什么还需要使用特殊时间序列数据类型和相关方法?

简言之,时间序列数据是一个特殊案例,一些数据变化十分迅速,因而创建了大量数据点。对使用传统时间元素与时间序列数据进行比较十分有用。一个普通的银行帐户每天可能执行几笔交易;使用 SQL 时间和日期格式,为每项交易创建一个新行,这样做十分简单明了。从另一极端角度,需要思考大型股票交易创建的数据点数,例如,IBM 股票平均每天近四百万宗交易。纽约证券交易所每个交易日 6.5 小时,每分钟产生约 10,000 宗交易(换算成每秒钟 170 宗交易),投资公司可能需要充分适应这种节奏。

当然,使用标准 SQL 数据类型和格式记录此类信息是可以实现的。TPC-C 基准几十年前就已发明出来,可以帮助客户了解这些类型的方案涉及的各种供应商系统的吞吐能力。但是,如果我们的要求更高,将会怎么样?如果我们不仅需要写入大量交易,而且同时还要对大量输入执行一些操作,该怎么办?此外,如果我们需要将数据存储在同一位置以便持续运行查询,又该怎样做?扫描数十乃至数百个包含几百万行数据的表听起来很难快速获得查询结果。
这些都是现实问题,Informix 工程师和架构师正是被派遣通过 Informix TimeSeries 技术解决问题。至于 TimeSeries,早期采用者都是一些服务于大型投资公司的高价套利交易员。

开发 TimeSeries 技术

Informix 团队创造了多项技术,运用 IDS 并通过全新的数据类型和方法进行扩展。

首先,Informix 团队开创了更加有效的存储机制,用户不再需要为时间序列数据创建数百万冗余数据行。这种存储机制是一种 TimeSeries 数据,专门设计用于存储数据点(或“刻度”,如金融交易所使用的纸带)。此数据类型大大缩小了数据库规模,而且还减少了数据库中行数,使其能够承载套利交易员所需的海量交易数据(参见图 1)。随后,Informix 团队向查询语言 (SQL) 中添加了新的扩展,不再需要使用数十个语句才能提出简单问题,这简化了问题提问过程。

此外,Informix 团队还开发了一种更加迅速的数据库数据录入方法,其速度比 OLTP 系统使用的典型方法更加迅速。Informix 团队构建了高速加载器,以满足这种客户端关键任务需求。

使用IBM Informix TimeSeries处理股票交易、智能电表等事务

图 1. Informix TimeSeries 通过避免创建数百万冗余行来简化存储。

从概念上了解 Informix TimeSeries 如何存储时间序列数据十分容易,并且演示了该产品的其他功能如何运用这种思想。我们的目标是确保其快速、有效且易于理解。当开发人员提取信息时,数据库系统十分有用。简单的概念模型才能实现轻松查询,并最终加速新型交易战略的开发和部署。这是竞争激烈的商品贸易世界的一项关键要求。

如果定期(例如,实验室以 1/10 秒为间隔测量传感器数据)提供时间序列数据,则需要通过进一步的细化来提高效率。Informix TimeSeries 不会存储时间戳,因为用户可以根据初始值来轻松计算时间戳。例如,如果传感器从 2:00:00.0 开始读取,而数据点是序列中的第 251 个数据点,那么时间戳将读取为 2:00:25.1。

在这篇文章的第 2 部分中,我们将探讨电力行业如何能够快速采用 Informix TimeSeries,并将其作为适应智能电表生成的海量时间戳数据的有效途径。

推荐阅读
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文探讨了适用于Spring Boot应用程序的Web版SQL管理工具,这些工具不仅支持H2数据库,还能够处理MySQL和Oracle等主流数据库的表结构修改。 ... [详细]
  • 本文详细介绍了如何通过多种编程语言(如PHP、JSP)实现网站与MySQL数据库的连接,包括创建数据库、表的基本操作,以及数据的读取和写入方法。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • 在使用 DataGridView 时,如果在当前单元格中输入内容但光标未移开,点击保存按钮后,输入的内容可能无法保存。只有当光标离开单元格后,才能成功保存数据。本文将探讨如何通过调用 DataGridView 的内置方法解决此问题。 ... [详细]
  • 本文详细介绍了如何在 Linux 平台上安装和配置 PostgreSQL 数据库。通过访问官方资源并遵循特定的操作步骤,用户可以在不同发行版(如 Ubuntu 和 Red Hat)上顺利完成 PostgreSQL 的安装。 ... [详细]
  • 如何在PostgreSQL中查看数据表
    本文将指导您使用pgAdmin工具连接到PostgreSQL数据库,并展示如何浏览和查找其中的数据表。通过简单的步骤,您可以轻松访问所需的表结构和数据。 ... [详细]
  • 利用存储过程构建年度日历表的详细指南
    本文将介绍如何使用SQL存储过程创建一个完整的年度日历表。通过实例演示,帮助读者掌握存储过程的应用技巧,并提供详细的代码解析和执行步骤。 ... [详细]
  • 本文介绍了如何通过 Maven 依赖引入 SQLiteJDBC 和 HikariCP 包,从而在 Java 应用中高效地连接和操作 SQLite 数据库。文章提供了详细的代码示例,并解释了每个步骤的实现细节。 ... [详细]
  • 在使用SQL Server进行动态SQL查询时,如果遇到LIKE语句无法正确返回预期结果的情况,通常是因为参数传递方式不当。本文将详细探讨这一问题,并提供解决方案及相关的技术背景。 ... [详细]
  • 本文介绍如何通过创建替代插入触发器,使对视图的插入操作能够正确更新相关的基本表。涉及的表包括:飞机(Aircraft)、员工(Employee)和认证(Certification)。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • SQLite 动态创建多个表的需求在网络上有不少讨论,但很少有详细的解决方案。本文将介绍如何在 Qt 环境中使用 QString 类轻松实现 SQLite 表的动态创建,并提供详细的步骤和示例代码。 ... [详细]
  • 精选30本C# ASP.NET SQL中文PDF电子书合集
    欢迎订阅我们的技术博客,获取更多关于C#、ASP.NET和SQL的最新资讯和资源。 ... [详细]
author-avatar
手机用户2502876217
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有