Comments 28
Оракл бы прикрутили…
Вот было бы в масть.
Вот было бы в масть.
вот уж точно:)
Лично мне для полного счастья не хватает только асинхронных С++ биндингов к mySQL. Есть написанные на JS но это не самое быстрое решение…
Могу сказать, что заниматься асинхронностью в MySQL начну уже на будущей неделе :) Как только допишу всё связанное с fetchResult.
Конкретный список неблокирующих функций можно обсудить в вики на гитхабе.
Конкретный список неблокирующих функций можно обсудить в вики на гитхабе.
Собственно говоря нативные функции работают в 6-10 раз быстрее, чем то что написано на JS, сегодня тестил.
Довольно интересно получается, в PHP было нормальным долгое формирование ответа на основе шаблонов, тогда как скомпилированные шаблоны в NodeJS сильно уменьшают процентную долю этих операций.
Довольно интересно получается, в PHP было нормальным долгое формирование ответа на основе шаблонов, тогда как скомпилированные шаблоны в NodeJS сильно уменьшают процентную долю этих операций.
ещё бы… в пхп это дело парсилось интерпритатором при каждом обращении, а в некоторых шаблонизаторах (таких как xtemplate) ещё и регулярками при каждом обращении…
А node выплювывает из оперативки, с молниеносной скоростью шаблон со всеми данными, а кеш можно выносить на аболютно новый уровень… мне очень нравится такой подход =)
А node выплювывает из оперативки, с молниеносной скоростью шаблон со всеми данными, а кеш можно выносить на аболютно новый уровень… мне очень нравится такой подход =)
В рассылке node.js предлагали использовать вместо limysql библиотеку libdrizzle, в которой реализована родная асинхронность.
drizzle.org/ — форк mysql, но я не уверен, что drizzle ещё совместим по протоколу с mysql.
drizzle.org/ — форк mysql, но я не уверен, что drizzle ещё совместим по протоколу с mysql.
Судя по официальным материалам, libdrizzle поддерживает и будет поддерживать сервера MySQL, начиная с версии сервера 4.1.
www.mysqlconf.com/mysql2009/public/schedule/detail/6658
www.mysqlconf.com/mysql2009/public/schedule/detail/6658
Ryan в последний раз говорил про библиотеку mysac. Кроме того он вроде бы сам что-то писал, но не выкладывал кода. Планируется включить этот драйвер в поставку node, так что делать двойную работу не очень хочется. Я спросил на днях в рассылке, пока что реакции не было. Так что пока разбираюсь с libeio.
>неблокирующую
И даже на запись? Ведь в sqlite3, насколько мне известно, невозможна одновременная запись.
И даже на запись? Ведь в sqlite3, насколько мне известно, невозможна одновременная запись.
Почитал ссылку. Очевидно имеется ввиду неблокирование работы трэдов приложения при обращении к БД.
Неблокируемость здесь описана с точки зрения машины событий.
Цикл событий получает контроль обратно сразу же, и когда-нибудь позже произойдёт событие «Запись произведена успешно».
Цикл событий получает контроль обратно сразу же, и когда-нибудь позже произойдёт событие «Запись произведена успешно».
Это только для v8?
да да. сюда бы ещё native client присобачить. вот будет песня.
1. Во-первых, этот клиент использует SQL Lite C API. Не знаю, что можно найти роднее :)
2. Во-вторых, Javascript в V8 компилируется в родной машкод. что гарантирует очень хорошую производительность.
Так что вашего комментария я не понял :)
2. Во-вторых, Javascript в V8 компилируется в родной машкод. что гарантирует очень хорошую производительность.
Так что вашего комментария я не понял :)
NaCl гарантирует ещё более хорошую производительность.
Вы имеете ввиду это — en.wikipedia.org/wiki/Google_Native_Client?
node.js никаким образом не пересекается с этой технологией.
node.js написан на C++, и компилируется в родной код, что обеспечивает скорость выше, чем скорость NaCl.
И в качестве языка для написания приложений используется Javascript, который понятен для любого Web-разработчика.
node.js никаким образом не пересекается с этой технологией.
node.js написан на C++, и компилируется в родной код, что обеспечивает скорость выше, чем скорость NaCl.
И в качестве языка для написания приложений используется Javascript, который понятен для любого Web-разработчика.
NaCl позволить запускать как гарантированно нэйтивный код, так и интерпретаторы для всех остальных языков портированных в него, например ruby и php.
Но он же по определению медленнее родного кода.
Почитайте Wiki, там внедрена программная изоляция кода, что обеспечивает скорость «лишь немного ниже» родной.
NaCl вообще предназначен для Web-браузеров, а не для серверов.
На серверах мы запускаем доверенный код, и лишние затраты на изоляцию излишни.
Почитайте Wiki, там внедрена программная изоляция кода, что обеспечивает скорость «лишь немного ниже» родной.
NaCl вообще предназначен для Web-браузеров, а не для серверов.
На серверах мы запускаем доверенный код, и лишние затраты на изоляцию излишни.
V8 тоже как-то не для серверов изначально разрабатывался.
Затраты на изоляцию там ничтожно меньше потерь на обеспечение динамической природы js.
Затраты на изоляцию там ничтожно меньше потерь на обеспечение динамической природы js.
Вероятно, Вы имели ввиду создание клиента SQL Lite 3 под платформу NaCl.
Думаю, это не нужно. Работа с базами данных более правильно вынести на уровень склеивающего кода, то есть Javascript, тем более, что HTML5 Storage и Google Gears уже давно определёны.
Думаю, это не нужно. Работа с базами данных более правильно вынести на уровень склеивающего кода, то есть Javascript, тем более, что HTML5 Storage и Google Gears уже давно определёны.
> SQL Lite
это что за самодеятельность? =_="
это что за самодеятельность? =_="
Sign up to leave a comment.
node.js и SQLite 3 — теперь друзья