NodeJS二进制模块与用JS编写的模块相比

时间:2013-06-23 13:16:48

标签: mongodb module binary driver database

是的,我只是想知道使用用纯JS编写的MySQL或MongoDB驱动程序是否是一个好主意。我的意思是,当为100个用户运行一个小数据库的小应用程序时,它应该不是问题/一个月,但重负荷/真正巨大的数据库怎么样?

我可以编译NodeJS的专业MySQL和Mongo驱动程序吗?这些表现应该会好得多。

或者我错了吗?例如,Mongoose使用用纯JS编写的驱动程序。这足以有效查询5亿份文件吗?

任何建议/意见都将不胜感激!

由于

编辑:

非常感谢响应人员。嗯,我仍然是一个但不确定这个:)。 我的意思是,用Python或Java甚至C#编写驱动程序肯定是有道理的,但这些语言比JS更强大,更快。

这让我很担心:

我的MySQL驱动程序(用纯JS编写)在300-400ms内执行查询SHOW COLUMNS FROM Table。如果我从MySQL shell执行完全相同的查询,则需要20ms。

我使用了一个使用https://github.com/felixge/node-mysql模块的ORM(JugglingDB)。 300ms是原始查询查询执行时间,以调试模式打印。

为什么我们看到这么大的差异?它是ORM,还是Node / JS还是驱动程序太慢了?

1 个答案:

答案 0 :(得分:1)

大多数MongoDB驱动程序都是使用它们使用的语言编写的。 Python驱动程序是用Python编写的,Perl中的Perl驱动程序。有一些例外,因为PHP驱动程序是用C语言编写的,而Python驱动程序是作为可选的C扩展来加速的。

node-mongodb-native驱动程序全部用JavaScript编写:https://github.com/mongodb/node-mongodb-native。这是有意义的,因为NodeJS平台已针对此进行了优化,并且不会产生任何负面影响。