【发布时间】:2013-06-23 13:16:47
【问题描述】:
是的,我只是想知道使用纯 JS 编写的 MySQL 或 MongoDB 驱动程序是否是个好主意。我的意思是,在为 100 个用户运行具有小数据库的小型应用程序时应该没问题/月,但是重负载/非常大的数据库呢?
难道没有我可以编译的 NodeJS 的专业 MySQL 和 Mongo 驱动程序吗?这些的性能应该要好得多。
还是我错了?例如,Mongoose 使用纯 JS 编写的驱动程序。这足以高效地查询 5 亿份文档吗?
任何建议/意见将不胜感激!
谢谢
编辑:
感谢大家的回复。好吧,我仍然对此不确定:)。 我的意思是,用 Python 或 Java 甚至 C# 编写驱动程序肯定是有意义的,但这些语言比 JS 更强大、更快。
这让我很担心:
我的 MySQL 驱动程序(用纯 JS 编写)在 300-400 毫秒内执行查询 SHOW COLUMNS FROM Table。如果我从 MySQL shell 执行完全相同的查询,则需要 20 毫秒。
我使用了一个使用https://github.com/felixge/node-mysql 模块的ORM (JugglingDB)。 300ms 是原始查询执行时间,在调试模式下打印。
为什么我们会看到如此大的差异?是 ORM 还是 Node/JS 还是驱动太慢了?
【问题讨论】:
-
如果您的查询合理,数据库的大小应该不会影响驱动程序的性能。
-
这些语言在对您的测试很重要的方面是否更快?看来您需要进行更多的性能测试。也许 NodeJS 不太适合。
-
有谎言,该死的谎言和基准:benchmarksgame.alioth.debian.org/u64/javascript.php 你是如何在驱动程序中连接到 MySQL 的?是否通过网络可能导致时差,您是否测试过本地连接到套接字而不是通过 tcp?
标签: mongodb module binary driver database