2013-06-23 73 views
0

是的,我只是想知道使用以純JS編寫的MySQL或MongoDB驅動程序是不是一個好主意..我的意思是,運行一個小應用程序時應該不會有問題每小時100個用戶使用小數據庫的應用程序,但重負載/真正龐大的數據庫又如何?NodeJS二進制模塊與那些用JS編寫的模塊

是否有任何可以編譯的NodeJS的專業MySQL和Mongo驅動程序?這些表現應該會好得多。

或者我錯了嗎?例如,Mongoose使用純JS編寫的驅動程序。是否足夠有效地查詢5億個文檔?

任何意見/建議,將不勝感激!

感謝

編輯:

所以感謝您的答覆傢伙。那麼我仍然是一個但不確定這個:)。我的意思是,用Python或Java甚至C#編寫驅動程序肯定是有道理的,但這些語言比JS強大得多並且速度更快。

這裏是什麼讓我擔心:

我的MySQL驅動程序(用純JS)執行查詢SHOW COLUMNS從表中300-400ms。如果我從MySQL shell執行完全相同的查詢,則需要20ms。

我使用ORM(JugglingDB),它使用https://github.com/felixge/node-mysql模塊。 300ms是原始查詢查詢執行時間,如調試模式下打印的那樣。

爲什麼我們看到如此大的差異?它是ORM,還是Node/JS或驅動程序太慢?

+0

如果您的查詢合理,數據庫的大小應該不會影響驅動程序的性能。 – WiredPrairie

+0

這些語言對您的測試而言是否更快?看起來你需要做更多的性能測試。也許NodeJS不太適合。 – WiredPrairie

+0

有謊言,該死的謊言和基準:http://benchmarksgame.alioth.debian.org/u64/javascript.php 你是如何連接到MySQL的驅動程序?它是通過網絡,可能佔時差,你有本地測試連接到套接字,而不是通過TCP? – Ross

回答

1

大多數MongoDB驅動程序都是用它們使用的語言編寫的。 Python驅動程序是用Perl編寫的Perl驅動程序。有一些例外,因爲PHP驅動程序是用C語言編寫的,而Python驅動程序是可選的C語言擴展程序,可以加快速度。

node-mongodb-native驅動程序全部用JavaScript編寫:https://github.com/mongodb/node-mongodb-native。這是有道理的,因爲NodeJS平臺爲此進行了優化,應該沒有不利影響。