时序数据库 IoTDB 为什么选择 TPCx-IoT 基准测评?

2024-09-05 05:44

本文主要是介绍时序数据库 IoTDB 为什么选择 TPCx-IoT 基准测评?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

bc55532da6786349ef53eee092259e5b.jpeg

IoTDB 在 TPCx-IoT 榜单的 What 与 Why 解答!

去年,我们发布了 IoTDB 多项性能表现位居国际数据库性能测试排行榜 benchANT(Time Series: DevOps)第一名的好消息。

刚刚落幕的数据库顶级会议 VLDB 上,我们又收获了一则重磅喜讯:IoTDB 原厂团队基于 Apache IoTDB 开发的企业级产品 TimechoDB 成功打破世界纪录,登顶权威性能基准榜单 TPCx-IoT

对我们而言,登顶 TPCx-IoT 是一件非常重要的事。那么,为什么这次成绩如此重要,登顶 TPCx-IoT 又意味着什么?

在后续梳理 TimechoDB 在 TPCx-IoT 的基准测试流程前,我们想先为大家解答两个基础且重要的问题……

01 What:什么是 TPCx-IoT?

在介绍 TPCx-IoT 之前,我们首先了解一下 TPC 是什么。TPC 是国际事务处理性能委员会的简称,英文全称为“Transaction Processing Performance Council”。

TPC 成立于 1988 年 8 月,是一个由全球数十家计算机软硬件厂家创建的非营利性组织,专注于为管理数据为中心的数据库等系统制定测试标准规范,用于测量和比较不同系统的性能与价格,并管理测试结果的发布

早在上个世纪 80 年代,当计算机应用于商业社会时,诸多的数据库厂商开始竞速宣传,每个厂商都站在自己的优势立场,宣传自己的系统是最好的,而当时又没有一个统一的标准能说明如何评判系统的性能。

后来,虽然 1985 年学术界提出了 Debit Credit 测试标准,同期 IBM 也提出了 TP1(Transaction Process)测试标准,但统一的标准并没有完全解决问题,因为没有一个公共认可的权威机构来监督测试的执行过程与结果。

这也就导致有些厂商根据自己的优势,随意修改标准中的关键要求来改善他们的测试结果,这样的结果显然是不客观、不具备参考性的。

直到 1988 年 8 月,工程师 Omri Serlin 成功说服了 8 家数据库厂商成立了 TPC,来制定一个统一且行业认可的标准,并对标准的执行进行监督,“王婆卖瓜自卖自夸”的局面才逐渐结束。

现在,TPC 已经成为国际上最权威的数据库性能测评基准组织之一国际上绝大多数知名数据库厂商及企业版产品,都参与了其设立的基准测评,如甲骨文 Oracle、微软 SQLServer、IBM DB2、Databricks 等等。

而 TPCx-IoT 是由 TPC 制定的第一个专门用来衡量物联网场景系统性能的行业标准基准。该标准模拟了工业电力场景下数千个发电站的传感器数据负载,在评估软件写入性能的同时,也将运行软件与相应硬件/云平台成本考虑在内,以客观预估实现软件性能所需的成本。

TPCx-IoT 定义的三个主要评估指标为:

  • 性能指标(IoTps):系统的有效数据吞吐量。计算方法为获取的数据量(Scale Factor)/获取所用时间(秒)。

  • 性价比指标($/kIoTps):系统达到该吞吐性能指标需要的软件与硬件成本情况,以 3 年为系统生命周期,也是衡量成本的时间单位。计算方法为 1000*系统总成本/IoTps。

  • 系统商业化可用日期:系统能够复现榜单中的性能、性价比指标数字,并可以进行商业化部署的起始日期,以此给工业领域用户使用参考。

4688d12d05fb274c828d7b26f5a7f209.png

从左至右分别为性能指标、性价比指标、系统商业化可用日期

02 Why:为什么我们选择 TPCx-IoT?

代表性的物联网基准测试包括 TPCx-IoT、IoT-Benchmark、TSBS 和 SmartBench 等。而我们之所以选择 TPCx-IoT,是因为它的权威性与公正性。这主要体现在以下三个方面:

  • 公开、统一标准下进行测试:每个系统厂商负责测试自己的产品,杜绝了单个厂商测试多个系统的情况,从而避免可能通过技术手段使得自己产品性能远高于其他产品,产生不公平结果的可能性。

  • 由第三方机构进行验证:TPC 委员会会对测试工具的扩展实现进行审核,保证实现的公平;也会对测试流程、软件、硬件进行审核,保证测试过程和参数配置的公平,测试结果的客观性能够进一步得到保障。

  • 商业层面参考度高:TPCx-IoT 模拟的数据负载与现实世界的物联网应用非常相似,设置指标与工业用户的需求和利益紧密相关。这意味着基于该基准的测评结果不是空中楼阁,而是参考度高的、可商业化验证的。

除了榜单本身的权威性与公正性,IoTDB 研发团队也进行了非常严谨的测试过程。在 TPCx-IoT 官方网站发布的榜单上,我们注意到有些系统在测试期间启用了预写日志(WAL),而其他系统则没有。

物联网场景需求各异,启用数据库的 WAL 可以提供数据的持久性,但会影响数据的写入性能;而当前置模块能保证数据持久性、又追求更高性能的场景下,可以关闭数据库的 WAL。

为了更全面、更有说服力地验证 TimechoDB 的性能,IoTDB 团队在 TPCx-IoT 数据负载下进行了两类测试:一类启用 WAL,一类关闭 WAL,并在每个测试场景运行了 5 次,以确保测试结果始终可复现

TPCx-IoT 榜单中涵盖了 TimechoDB 两种配置的测试结果。结果可见,TimechoDB 关闭 WAL 情况下排名榜单第一,TimechoDB 开启 WAL 情况下排名榜单第二,两个版本在性能和性价比两个维度上都超过了所有其他系统

863e7b20496a732ff6fac43268e5839d.png

排名第一为关闭 WAL 结果,第二为启用 WAL 结果

03 更多细节:特邀论文发布!

值得一提的是,在 TPC 组织的年度会议 TPCTC 上,IoTDB 团队就技术创新、应用场景,以及在 TPCx-IoT 榜单的测试流程、结果对比、未来展望等内容做了特邀报告

成果也以论文《Performance Evaluation of TimechoDB using TPCx-IoT Benchmark》形式,发表于计算机科学领域著名期刊:Lecture Notes in Computer Science(LNCS)

后续我们也将会把此篇论文中披露的测试细节整理发布,以便大家更好地了解 IoTDB 的优异性能表现,敬请期待!

更多内容推荐:

了解如何使用 IoTDB 企业版 

了解更多 IoTDB 应用案例

规上企业应用实例

能源电力:中核武汉|国网信通产业集团|华润电力|大唐先一|上海电气国轩|清安储能|某储能厂商|太极股份|绍兴安瑞思

航天航空:中航机载共性|北邮一号卫星

钢铁冶炼:宝武钢铁|中冶赛迪

交通运输:中车四方|长安汽车|城建智控|德国铁路

智慧工厂与物联:PCB 龙头企业|博世力士乐|德国宝马|京东|昆仑数据|怡养科技

5f14a2ba2fc75a08e3ca7e1d3f46f344.gif

d6a058cb3ac2846d676526437f56357f.jpeg

7114167f13585603ca5758e58a25e353.jpeg

88b5a1310cc794d2fae310dc67bab778.jpeg

b95be8fcdb98032be15abd31a077a167.gif

这篇关于时序数据库 IoTDB 为什么选择 TPCx-IoT 基准测评?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1138112

相关文章

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

MySQL数据库函数之JSON_EXTRACT示例代码

《MySQL数据库函数之JSON_EXTRACT示例代码》:本文主要介绍MySQL数据库函数之JSON_EXTRACT的相关资料,JSON_EXTRACT()函数用于从JSON文档中提取值,支持对... 目录前言基本语法路径表达式示例示例 1: 提取简单值示例 2: 提取嵌套值示例 3: 提取数组中的值注意

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu

SQL Server数据库迁移到MySQL的完整指南

《SQLServer数据库迁移到MySQL的完整指南》在企业应用开发中,数据库迁移是一个常见的需求,随着业务的发展,企业可能会从SQLServer转向MySQL,原因可能是成本、性能、跨平台兼容性等... 目录一、迁移前的准备工作1.1 确定迁移范围1.2 评估兼容性1.3 备份数据二、迁移工具的选择2.1

Python中连接不同数据库的方法总结

《Python中连接不同数据库的方法总结》在数据驱动的现代应用开发中,Python凭借其丰富的库和强大的生态系统,成为连接各种数据库的理想编程语言,下面我们就来看看如何使用Python实现连接常用的几... 目录一、连接mysql数据库二、连接PostgreSQL数据库三、连接SQLite数据库四、连接Mo

Oracle数据库如何切换登录用户(system和sys)

《Oracle数据库如何切换登录用户(system和sys)》文章介绍了如何使用SQL*Plus工具登录Oracle数据库的system用户,包括打开登录入口、输入用户名和口令、以及切换到sys用户的... 目录打开登录入口登录system用户总结打开登录入口win+R打开运行对话框,输php入:sqlp

数据库使用之union、union all、各种join的用法区别解析

《数据库使用之union、unionall、各种join的用法区别解析》:本文主要介绍SQL中的Union和UnionAll的区别,包括去重与否以及使用时的注意事项,还详细解释了Join关键字,... 目录一、Union 和Union All1、区别:2、注意点:3、具体举例二、Join关键字的区别&php

查询Oracle数据库表是否被锁的实现方式

《查询Oracle数据库表是否被锁的实现方式》本文介绍了查询Oracle数据库表是否被锁的方法,包括查询锁表的会话、人员信息,根据object_id查询表名,以及根据会话ID查询和停止本地进程,同时,... 目录查询oracle数据库表是否被锁1、查询锁表的会话、人员等信息2、根据 object_id查询被

在idea中使用mysql数据库超详细教程

《在idea中使用mysql数据库超详细教程》:本文主要介绍如何在IntelliJIDEA中连接MySQL数据库,并使用控制台执行SQL语句,还详细讲解了如何使用MyBatisGenerator快... 目录一、连接mysql二、使用mysql三、快速生成实体、接口、sql文件总结一、连接mysql在ID