
点击蓝字关注我们

概述
上篇文章我们介绍了McKnight Consulting Group对EDB和SQL Server在自托管环境下性能对比。
本篇我们介绍在NoSQL方面EDB和MongoDB进行的性能测试对比。以确定在性能、成本差异以及超出企业协议采用自托管 NoSQL 数据库的潜在价值方面是否存在任何差异。
与 MongoDB 相比,EDB 提供更好的 NoSQL 性能,特别是随着数据量的增加。这些测试突出了 EDB 的 compelling value proposition,使其成为寻求单一数据库作为高性能事务和 NoSQL 数据库的企业首选,且无需花费过多。
平台
EDB
EnterpriseDB是基于PostgreSQL的开源关系数据库管理系统。它提供企业级功能、可扩展性和可靠性。EnterpriseDB支持各种平台和编程语言。其安全功能包括加密、行级安全和多重身份认证。EnterpriseDB的灵活性使其适用于web、云和本地应用程序。
MongoDB
MongoDB 是一种面向文档的 NoSQL 数据库,设计用于高可扩展性和灵活性。它将数据存储在类似 JSON 的文档中,允许动态模式设计和高效查询。MongoDB 支持横向扩展、高性能数据检索和灵活的数据建模,使其成为现代网络和移动应用中广泛使用的数据库管理系统。
平台总结
在NoSQL性能研究中,测试采用了以下平台版本:

设置
本节分析了我们在NoSQL测试中使用的方法。
AWS EC2 实例
为了进行测试,我们使用了Amazon Web Services EC2实例。我们选择了以下EC2实例类型,因其具有高内存和附加的NVMe存储:

对于每个EC2实例,我们安装了指定的数据库软件。有关所有配置设置,请参见附录。
NoSQL工作负载:PG NoSQL基准测试
NoSQL 基准测试中使用的工作负载和数据源自 PG NoSQL 基准测试(https://github.com/EnterpriseDB/pg_nosql_benchmark)。原始基准测试仅针对 PostgreSQL 和 MongoDB 设计。我们修改了基准测试,基于其查询语法添加了 MySQL 一系列功能。EDB 已完全兼容基准测试的 PostgreSQL 组件,因此无需对 EDB 进行修改。我们的测试执行了以下任务,以比较 EDB 和 MongoDB:
生成大量 JSON 文档,数据量从 5,000,000 份文档(13GB)到 100,000,000 份文档(266GB)不等
使用 EDB 的 SQL COPY、mongoimport 和 MySQL 的 LOAD DATA LOCAL INFILE 命令将数据加载到每个数据库中
使用每个平台的 INSERT 命令加载相同的数据
在每个平台上执行 4 条 SELECT 查询
NoSQL测试测量
我们的基准测试收集了三项测量值:
批量加载耗时——测量通过批量加载所有 JSON 所耗费的总时间。
INSERT 耗时——测量通过批量加载INSERT 所有 JSON 所耗费的总时间。
平均 SELECT 时间——测量运行每条 SELECT 查询的平均时间
选择这些测量结果是因为其与 NoSQL 用例的相关性,便于跨数据库比较,并为优化、扩展和性能决策提供依据。
结果
本节分析了我们所测试平台的事务处理和 NoSQL 工作负载场景的结果。以下图表显示了两个数据库在高达 266GB JSON 数据的各种数据规模水平下的 NoSQL 性能。
事务NOPM(每分钟新订单数)
下图显示了在最多320个虚拟(并发)用户的不同级别下,三个数据库的NOPM。对于类似TPC-C的企业工作负载,典型的并发负载可能有所不同,但平均范围可能在25-75之间。

图1:JSON数据初始批量加载的总耗时

图 2:JSON 数据逐行 INSERT 的总耗时
!!注意:
在 13GB - 266GB 测试运行中,8 小时后 MongoDB 未完成逐行 INSERT。该测试在 8 小时后结束,并标记为未完成。

图 3:JSON 数据 SELECT 查询的平均耗时
PG NoSQL 基准测试结果提供了关于 EDB 和 MongoDB 在不同数据量下的原始 NoSQL 性能的见解。
对于逐行 INSERT,EDB 比 MongoDB 快 150 倍以上。
对于平均 SELECT 查询时间,EDB 比 MongoDB 快 5 倍以上。
关键要点
在 NoSQL 性能方面,即使数据量增加,EDB 也优于 MongoDB。对于要求高性能、成本效益的事务型 NoSQL 数据库的企业,EDB 突出作为最佳解决方案。
结论
与 NoSQL 竞争对手 MongoDB 相比,EDB 在 NoSQL 性能方面也更胜一筹,特别是随着数据量的增加。通过选择 EDB,企业可以提高投资回报率,获得预算灵活性,并通过创新和数字化转型推动战略增长,确保前瞻性技术基础设施,所有这些都在一个单一数据库中实现。

附录:测试配置
我们根据以下配置和条件测试了每个平台:
EDB
对于磁盘配置,我们将pgdata和pg_wal移动到镜像的NVMe磁盘。在edb-as-17.service配置文件中,我们添加了:
After=tuned.service
在postgresql.conf中,我们更改了:
max_connections = 1000shared_buffers = 64GBeffective_cache_size = 128GBwork_mem = 8MBmaintenance_work_mem = 64GBautovacuum_work_mem = 1GBeffective_io_concurrency = 200maintenance_io_concurrency = 200max_worker_processes = 128max_parallel_maintenance_workers = 64synchronous_commit = onwal_level = replicawal_buffers = 512MBcheckpoint_timeout = 1dcheckpoint_completion_target = 0.9max_wal_size = 1TBmin_wal_size = 64GBrandom_page_cost = 1.0vacuum_cost_limit = 8000autovacuum = offautovacuum_freeze_max_age = 800000000autovacuum_multixact_freeze_max_age = 800000000max_locks_per_transaction = 512edb_dynatune =
免责声明
McKnight Consulting Group(MCG)严格按照严格的道德标准进行所有测试。报告的结果是将查询应用于报告中描述的模拟的客观和无偏见的结果。报告明确定义了选定的标准和用于建立现场测试的过程。报告还清楚地说明了使用的数据集大小、平台、方法等。读者自行决定如何根据自己的需求对信息进行资格认证。报告未对第三方认证提出任何主张,而是呈现了根据报告中描述的过程应用到标准的客观结果。报告严格测量性能,并不声称评估潜在客户在做出购买决策时可能认为相关的其他因素。这是一个赞助报告。客户选择了其配置,而MCG选择了测试、配置数据库和测试应用程序,并运行了测试。MCG还选择了与其他测试平台最兼容的配置。选择兼容配置需要判断。报告中包含复制此测试所需的信息。鼓励读者自行编制具有代表性的配置并进行测试。
报告原文
https://www.enterprisedb.com/sites/default/files/pdf/McKnight_EDB_MongoDB.pdf
关于公司
感谢您关注新智锦绣科技(北京)有限公司!作为 Elastic 的 Elite 合作伙伴及 EnterpriseDB 在国内的唯一代理和服务合作伙伴,我们始终致力于技术创新和优质服务,帮助企业客户实现数据平台的高效构建与智能化管理。无论您是关注 Elastic 生态系统,还是需要 EnterpriseDB 的支持,我们都将为您提供专业的技术支持和量身定制的解决方案。
欢迎关注我们,获取更多技术资讯和数字化转型方案,共创美好未来!
![]() | ![]() |
Elastic 微信群 | EDB 微信群 |

发现“分享”和“赞”了吗,戳我看看吧






