性能测试

本文介绍Ganos时空服务与开源GeoMesa(HBase)、云数据库MongoDB分片集群在处理时空轨迹数据时的性能测试对比。

测试环境

本次性能测试中需要准备以下测试数据库,具体配置如下表:

数据库

配置说明

云原生多模数据库 Lindorm 宽表引擎(已开通Ganos时空服务)

  • 宽表引擎的节点规格和数量:3节点16核 32 GB(独享规格)。

  • 存储类型:性能型云存储。

开源GeoMesa(HBase)

  • GeoMesa的版本为3.0.0。

  • 底层存储为HBase集群。

    • HBase的节点规格和数量:3节点16核 32 GB(独享规格)。

    • HBase的Core磁盘类型:SSD云盘。

云数据库MongoDB分片集群

配置Mongos节点和Shard节点。

  • 数据库版本:MongoDB 5.0。

  • Mongos的节点规格和数量:3节点16核 32 GB(通用型)。

  • Shard的节点规格和数量:3节点16核 64 GB(通用型)。

  • 存储类型:SSD本地盘。

测试结果

本次性能测试的结果如下:

  • 时空轨迹数据的写入耗时

    Lindorm Ganos引擎继承了Lindorm宽表引擎高效的数据写入能力,写入耗时约为开源GeoMesa(HBase)的1/2,约为云数据库MongoDB分片集群的1/5。以时空轨迹数据为7.6 GB为例,写入耗时的测试结果如下:

    数据库

    写入耗时

    云原生多模数据库 Lindorm Ganos引擎

    7分钟

    开源GeoMesa(HBase)

    13分钟

    云数据库MongoDB分片集群

    34分钟

  • 创建时空索引后的时空数据存储空间占用情况

    创建时空主键索引场景中,Lindorm Ganos引擎中时空数据占有的存储空间更少,约为开源GeoMesa(HBase)的80%,约为云数据库MongoDB分片集群的47%。存储空间占用测试结果如下:

    数据库

    表大小

    时空主键索引大小

    云原生多模数据库 Lindorm Ganos引擎

    4.7 GB

    无需占用空间

    开源GeoMesa(HBase)

    5.9 GB

    无需占用空间

    云数据库MongoDB分片集群

    8.2 GB

    1.6 GB

  • 空间范围的查询耗时

    在空间范围查询场景中,随着返回结果的数量增加,查询耗时也在增加。Lindorm Ganos引擎在大部分查询中的耗时都比较低,耗时约为开源GeoMesa(HBase)的1/3,约为云数据库MongoDB分片集群的1/2,测试结果如下:测试结果1

  • 时间和空间范围的查询耗时

    在时间范围和空间范围查询场景中,Lindorm Ganos引擎的查询耗时都比较低,耗时约为开源GeoMesa(HBase)的1/3,约为云数据库MongoDB分片集群的1/2。只有小部分查询耗时与开源GeoMesa(HBase)和云数据库MongoDB分片集群相同,测试结果如下:测试结果2

总结

从测试过程和结果来看,Lindorm Ganos引擎相比于开源GeoMesa(HBase)和云数据库MongoDB分片集群具有以下优势:

  • 使用简单,通过SQL语句方便处理各种查询场景。

  • 与宽表引擎深度融合,覆盖大部分业务场景,减少解决方案的复杂度。

  • 写入时空数据耗时少。

  • 存储成本低于开源GeoMesa(HBase)和云数据库MongoDB分片集群,能够降低20%~50%的存储成本。

  • 在大部分查询场景中查询性能较高,性能高于开源GeoMesa(HBase)或者云数据库MongoDB分片集群的2~3倍。

Lindorm Ganos引擎在时空数据的写入速度、存储成本、查询性能以及易用性上优势较为明显,能够满足车联网、出行等场景中对时空数据的处理需求。