是的,我只是想知道使用用纯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还是驱动程序太慢了?
答案 0 :(得分:1)
大多数MongoDB驱动程序都是使用它们使用的语言编写的。 Python驱动程序是用Python编写的,Perl中的Perl驱动程序。有一些例外,因为PHP驱动程序是用C语言编写的,而Python驱动程序是作为可选的C扩展来加速的。
node-mongodb-native驱动程序全部用JavaScript编写:https://github.com/mongodb/node-mongodb-native。这是有意义的,因为NodeJS平台已针对此进行了优化,并且不会产生任何负面影响。