时序数据库 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

相关文章

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

如何通过try-catch判断数据库唯一键字段是否重复

《如何通过try-catch判断数据库唯一键字段是否重复》在MyBatis+MySQL中,通过try-catch捕获唯一约束异常可避免重复数据查询,优点是减少数据库交互、提升并发安全,缺点是异常处理开... 目录1、原理2、怎么理解“异常走的是数据库错误路径,开销比普通逻辑分支稍高”?1. 普通逻辑分支 v

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

使用shardingsphere实现mysql数据库分片方式

《使用shardingsphere实现mysql数据库分片方式》本文介绍如何使用ShardingSphere-JDBC在SpringBoot中实现MySQL水平分库,涵盖分片策略、路由算法及零侵入配置... 目录一、ShardingSphere 简介1.1 对比1.2 核心概念1.3 Sharding-Sp

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作

MySQL 数据库表操作完全指南:创建、读取、更新与删除实战

《MySQL数据库表操作完全指南:创建、读取、更新与删除实战》本文系统讲解MySQL表的增删查改(CURD)操作,涵盖创建、更新、查询、删除及插入查询结果,也是贯穿各类项目开发全流程的基础数据交互原... 目录mysql系列前言一、Create(创建)并插入数据1.1 单行数据 + 全列插入1.2 多行数据

MySQL 数据库表与查询操作实战案例

《MySQL数据库表与查询操作实战案例》本文将通过实际案例,详细介绍MySQL中数据库表的设计、数据插入以及常用的查询操作,帮助初学者快速上手,感兴趣的朋友跟随小编一起看看吧... 目录mysql 数据库表操作与查询实战案例项目一:产品相关数据库设计与创建一、数据库及表结构设计二、数据库与表的创建项目二:员

MybatisPlus中removeById删除数据库未变解决方案

《MybatisPlus中removeById删除数据库未变解决方案》MyBatisPlus中,removeById需实体类标注@TableId注解以识别数据库主键,若字段名不一致,应通过value属... 目录MyBATisPlus中removeBypythonId删除数据库未变removeById(Se

在 Spring Boot 中连接 MySQL 数据库的详细步骤

《在SpringBoot中连接MySQL数据库的详细步骤》本文介绍了SpringBoot连接MySQL数据库的流程,添加依赖、配置连接信息、创建实体类与仓库接口,通过自动配置实现数据库操作,... 目录一、添加依赖二、配置数据库连接三、创建实体类四、创建仓库接口五、创建服务类六、创建控制器七、运行应用程序八

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结