InterSystems IRIS:处理并发数据摄取和实时查询的高性能数据管理软件

本报告展示了ESG对InterSystems IRIS在并发数据摄取和实时查询性能的验证,结果显示,IRIS在处理海量数据的同时保持微秒级响应时间,性能优于传统和内存数据库。IRIS的多维模型引擎、事务型位图索引和ECP技术使其在数据管理和分析方面表现出色。
摘要由CSDN通过智能技术生成

作者
Kerry Dolan,高级IT 验证分析师
本报告介绍了ESG 集团对多个数据库管理软件产品进行的并发数据摄取和实时查询性能验证测试。测试结果表明,InterSystems IRIS 数据平台可在摄取上亿条记录的同时执行数百万条查询,响应时间达到微秒级,其性能优于其他传统产品和内存产品。

挑战

对许多企业而言,收集并实时分析数据是一项必备能力,有助于推动收入增长、提高知名度,并为战略和决策提供参考。例如,专注于金融交易、物联网、欺诈检测和实时个性化服务的应用程序必须摄取并实时分析海量数据。其中的挑战在于找到一个足够强大的数据库平台,以便同时处理大规模的数据摄取和查询且不降低性能。当ESG向数据库和分析专家询问数据分析支持技术的相关问题时,大家普遍认为最重要的能力之一是性能。

图:数据分析技术最重要的前10项能力

当贵企业为支持数据分析计划而采用新技术时,最看重哪些能力/特性?
(占比,受访者人数=310 名,每名受访者可提供5个答案)

在这里插入图片描述
内存数据库可提供高性能,但其扩展成本高昂,而且具有内存硬限制,可能会引起可靠性问题和重启延迟。传统数据库可提供持久性和可靠性,但缺乏内存数据库的高性能。相比之下,InterSystems IRIS 可同时处理数据摄取和查询工作负载,其性能可匹敌甚至优于内存数据库,并且不存在内存数据库的限制。为了证明这一主张,InterSystems发布了一项开源测试,ESG 也在本报告中进行了验证。

解决方案:InterSystems IRIS
在这里插入图片描述
InterSystems IRIS 是一个为大规模高性能、多工作负载处理而设计的数据管理软件平台。作为一个多模型数据库管理系统(DBMS),InterSystems IRIS 可原生支持关系型、面向对象、文档、键值对和层次等类型的数据对象;此外,能够始终高性能地同时处理事务型和分析型工作负载。本报告不对该数据平台作完整介绍,仅介绍其重要能力,包括:

  • InterSystems IRIS 平台可提供卓越的数据摄取性能,其中一个重要原因是具备多维模型引擎。该引擎可以将数据高效紧凑地存储在一个富数据结构中,加快数据摄取、访问和更新的速度,同时最大程度地降低资源使用和磁盘消耗。
  • 借助事务型位图索引模式,InterSystems IRIS 可进行实时分析,快速处理对数据(包括实时数据)的复杂查询,而无需搜索整个数据库。
  • InterSystems IRIS ECP(Enterprise Cache Protocol,企业缓存协议)是一种智能分布式内存缓存机制,使该平台能够高性能、可靠地执行对超大型数据集的复杂查询,包括执行join 以访问分布式数据,而无需多次复制数据。

其他特性包括:

  • 可提供内存性能,具有优化格式的内置数据持久性,便于快速访问数据。
  • 具有内置分布式缓存层,可自动保证一致性。
  • 全面支持SQL。
  • 可使用单一API在所有的主要公有云、混合环境、或者本地部署。

ESG的测试

ESG利用InterSystems公开、可自定义的开源速度测试基准包(Speed Test benchmark kit),对InterSystems IRIS的性能优势进行了验证。该基准主要用来衡量并发的实时数据摄取和查询的性能。这种用例在金融服务、欺诈检测、物联网等应用上比较常见。例如,金融服务公司在执行数千宗交易时,数千个用户也在查询下单状态、风险管理等。同样,物联网传感器数据从现场快速传入,应用程序必须立即执行异常检测和其他实时计算。在这种情形下,数据库受到的压力较大,必须在摄取数据的同时执行分析查询,可能会导致性能降低。

速度测试

图:速度测试基准

在这里插入图片描述
速度测试基准(Speed Test benchmark)模拟了应用程序面临的数据摄取和查询压力。对典型的内存数据库而言,摄取的数据被存入内存,导致数据库压缩并清除内存中的已有数据,从而降低磁盘写入速度。高性能的查询需要将数据保存在内存。同时执行数据写入和查询任务会导致性能降低。

速度测试以尽可能快的速度从数据库中查询一组预定义的记录,以测试数据库在内存中频繁访问记录的能力,并测量数据库在数据摄取压力下的查询响应时间。数据摄取worker节点打开多个与数据库相连的JDBC连接,并使用这些连接将尽可能多地记录插入表格中。

为了比较本测试与多种数据库和数据库类型,测试中未使用join或特殊索引。本测试使用了一个单独的19列经纪帐户表格,其中accountID作为主键(唯一的索引列)。数据包括字符串、日期/时间和大整数。

本测试使用了两个摄取worker节点和两个查询worker节点。当摄取开始时,每个worker节点为表格中的每一列生成1,000个随机值。当需要创建一条新记录并添加到批处理中时,worker节点将:1)获得主键列的下一个值,并且 2)整合此前产生的随机值池中的值,以创建新的记录。批处理完成后,记录将被发送至数据库。该流程可以将摄取worker节点的效率和速度最大化。

查询worker节点也将打开多个与数据库相连的JDBC连接,并使用这些连接以尽可能快的速度通过accountID使用8个固定键来获取一组记录。本测试有意简化了记录检索,以创造与其他数据库技术的公平竞争环境,并使测试专注于系统在并发数据摄取和查询时的缓存管理。

Master节点收集统计数据,包括:

  • 摄取:已摄取的记录数;每秒摄取的记录数;已摄取的MB;以及每秒摄取的MB。
  • 查询:已查询的记录数;每秒查询的记录数;已查询的MB;每秒查询的MB;以及查询响应时间。

查询worker节点对记录进行检索,并将已检索行的每一列的长度汇总成一个变量,作为工作量证明(Proof of Work)。以这种方式检索行,迫使数据库通过TCP/IP连接发送数据,可防止JDBC驱动程序仅为了识别数据而进行优化。

AWS设置

本测试比较了InterSystems IRIS与其他3个数据平台,这几个平台均在AWS云上运行,并且运行时间均为1,200秒(20分钟)。供应商A是一款领先的内存数据库,而供应商B和供应商C是领先的基于磁盘的传统数据库;为了测试供应商B和供应商C,数据库已进行预扩展,以尽可能优化性能。

在每个测试中,我们都为InterSystems IRIS和其他解决方案设置了相匹配的AWS硬件,以确保彼此具备可比性(见表1)。在测试供应商B时,由于AWS需要的实例略有不同,因此该数据平台配置的RAM是InterSystems IRIS的两倍,以抵消InterSystems IRIS相应的优势。此外,由于实例包括复制(replication),所以InterSystems IRIS配置了镜像,以便两个数据库都执行编写冗余副本的任务。

表:AWS配置
在这里插入图片描述
测试结果

ESG审查了速度测试包(SpeedTest kit)所收集的所有数据,这些数据测量了数据库在并发运行数据摄取和查询工作负载时的性能。然后,我们比较了InterSystems IRIS与供应商A、B、C的4个关键类别,包括:已摄取的记录总数、平均每秒摄取的记录数、已查询的记录总数,以及查询响应时间。

下图为测试期间摄取的记录总数,可以看出在固定时间窗口内,各数据平台在摄取海量数据的同时并发执行查询的能力。在每种情况下,InterSystems IRIS均摄取了上亿条记录,较供应商A多了65%,较供应商B多了1,457%,较供应商C多了463%。

图:使用InterSystems IRIS增加数据库摄取量
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
接下来,我们比较了各数据平台平均每秒摄取的记录数。可以从中看出各数据平台在查询的同时摄取数据的速率。如下图所示,在测试中,InterSystems IRIS摄取数据的速率比供应商A高出了41%,比供应商B高出了1,448%,比供应商C高出了464%。

图:使用InterSystems IRIS加快数据库摄取速度

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
另外,在这三种情况下,InterSystems IRIS每秒摄取记录的最低和最高速率均高于其他供应商。这意味着,企业可依赖其保持高速的数据摄取率。ESG通过审查标准偏差和摄取时间曲线,评估了摄取速率的变异性,IRIS在三种情况下的变异性均低于其他供应商。例如,下图中的曲线可以表明供应商A和InterSystems IRIS的摄取速率对比。二者最初的摄取速率均较高,但内存数据库(供应商A)的摄取速率从最高点降低了48%。虽然内存数据库开始时的摄取速率很快,但随着内存被写满,其性能逐渐降低。内存数据的增多迫使内存数据库将数据写入磁盘,因此数据越多,就越难以压缩。相比之下,InterSystems IRIS可迅速达到最高摄取速率,并且在整个测试过程中保持稳定。

图:使用InterSystems IRIS实现摄取一致性(以时间为变量)
在这里插入图片描述
接下来,我们审查了各数据平台在摄取最高数量的数据时所查询的记录总数。数据库执行的查询越多,就越有可能获得洞察、优化决策,采取实时行动。InterSystems IRIS查询的记录总数比供应商A多出了1,974%,比供应商B多出了360%,比供应商C多出了3,688,165%。

图:使用InterSystems IRIS增加查询量

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最后,ESG审查了各数据平台在并发摄取时的平均查询响应时间。InterSystems IRIS的平均查询响应时间比其他数据平台快许多倍。在摄取数据的同时,InterSystems IRIS的查询响应时间保持在微秒级。InterSystems IRIS的数据查询速度较供应商A快了396倍,较供应商B快了5.6倍,较供应商C快了17,972倍。

图:使用InterSystems IRIS加快查询响应时间
横轴为平均响应时间(毫秒)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
除此之外,在上述三种情况下,InterSystems响应时间的变异性明显低于其他供应商,这意味着InterSystems IRIS能够在高速摄取数据的同时始终如一地提供高性能查询。下表展示了每个测试查询响应时间的最小值、最大值以及标准偏差。

表:查询响应时间统计数据在这里插入图片描述

重大意义
金融交易、物联网、欺诈检测、游戏、个性化服务等应用程序需要在摄取数据的同时进行查询,为数据库带来了巨大的压力。一旦这些压力影响并降低数据库性能,就会为收入、客户忠诚度和基础架构成本带来负面影响。企业需要可同时高性能地处理摄取和分析工作负载(甚至是激增的工作负载)的数据平台,以消除上述隐患,并利用更多数据获得更优、更快的洞察,做出行动决策。

经ESG验证,InterSystems IRIS的性能远高于传统数据平台和内存数据平台,能够更快地摄取更多数据,同时能以更快的查询速度和微秒级响应时间查询更多数据,并维持微秒级响应时间。与其他解决方案相比,InterSystems IRIS的性能更具一致性。

关键结论

目前,许多应用程序都需要高吞吐量和并发的高性能数据访问,例如在金融服务、交易、欺诈检测、实时个性化服务、物联网等应用场景。

遗憾的是,传统的磁盘数据库对于所需的高吞吐量和数据访问率来说往往太慢。内存数据库可提供高性能,但其扩展成本高昂,而且具有内存硬限制,可能会引起可靠性问题和重启延迟。

InterSystems IRIS是一个为大规模高性能、多工作负载处理而设计的数据管理软件平台。借助其数据引擎和实时位图检索,IRIS能够提供可与内存数据库相匹敌的摄取和查询性能,并且可以持久地保存数据。

InterSystems创建的速度测试基准(Speed Test benchmark)可用于简单测试数据平台的能力,并评估数据平台在同时执行海量数据摄取和查询时的性能。ESG对IRIS与其他三种数据平台的性能对比测试(均在AWS云上运行)结果进行了验证。测试时间为20分钟,结果如下:

  • 与传统数据库和内存数据库相比,InterSystems IRIS摄取和查询的记录更多,而且速度更快。
  • 在每个测试中,InterSystems IRIS摄取的记录数均达上亿条,比其他平台高出65%-1,457%。
  • InterSystems IRIS查询的记录数远高于其他平台,查询响应时间保持在微秒级,远快于其他平台。
  • 随着时间的推移,InterSystems IRIS的摄取和查询结果与其他平台相比一致性更高。

上述结果表明,InterSystems IRIS可为前述类型的应用程序提供卓越基础。如果企业拥有一个具备该性能水准的平台,可确保在遭遇数据摄取和查询量激增的事件时,能够最大程度地保持正常运行和最高性能。此外,其他数据平台依赖于大的内存容量或者必须创建单独的数据副本(从而导致磁盘成本增加),与之相比,InterSystems IRIS的成本效益更高。

本报告中记录的测试结果基于受控环境;InterSystems已将速度测试基准包(Speed Test benchmarkkit)作为开源软件公开发布,以便大家在AWS环境中或在本地机器上使用Docker运行。尽管如此,由于各企业生产环境的不同,任何生产数据中心的变量都会影响到性能。因此很重要的一点是,企业需要自己的环境中进行规划和测试以验证解决方案的有效性。

ESG认为,InterSystems IRIS是一个可扩展的高性能数据平台,可轻松处理现代化应用程序所需的海量数据摄取和查询工作并发执行。如果贵企业正在寻找稳健的数据平台,InterSystems IRIS是一个不错的选择。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值