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

相关文章

数据库面试必备之MySQL中的乐观锁与悲观锁

《数据库面试必备之MySQL中的乐观锁与悲观锁》:本文主要介绍数据库面试必备之MySQL中乐观锁与悲观锁的相关资料,乐观锁适用于读多写少的场景,通过版本号检查避免冲突,而悲观锁适用于写多读少且对数... 目录一、引言二、乐观锁(一)原理(二)应用场景(三)示例代码三、悲观锁(一)原理(二)应用场景(三)示例

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.

Oracle数据库常见字段类型大全以及超详细解析

《Oracle数据库常见字段类型大全以及超详细解析》在Oracle数据库中查询特定表的字段个数通常需要使用SQL语句来完成,:本文主要介绍Oracle数据库常见字段类型大全以及超详细解析,文中通过... 目录前言一、字符类型(Character)1、CHAR:定长字符数据类型2、VARCHAR2:变长字符数

Win11安装PostgreSQL数据库的两种方式详细步骤

《Win11安装PostgreSQL数据库的两种方式详细步骤》PostgreSQL是备受业界青睐的关系型数据库,尤其是在地理空间和移动领域,:本文主要介绍Win11安装PostgreSQL数据库的... 目录一、exe文件安装 (推荐)下载安装包1. 选择操作系统2. 跳转到EDB(PostgreSQL 的

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

mysql数据库重置表主键id的实现

《mysql数据库重置表主键id的实现》在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,本文主要介绍了mysql数据库重置表主键id的实现,具有一定的参考价值,感兴趣的可以了... 目录关键语法演示案例在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,当我们

Spring Boot 整合 MyBatis 连接数据库及常见问题

《SpringBoot整合MyBatis连接数据库及常见问题》MyBatis是一个优秀的持久层框架,支持定制化SQL、存储过程以及高级映射,下面详细介绍如何在SpringBoot项目中整合My... 目录一、基本配置1. 添加依赖2. 配置数据库连接二、项目结构三、核心组件实现(示例)1. 实体类2. Ma