Если проект ведет один человек, или документация на проект расписана идеально - то можно сказать что глобалы не представляют угрозы. Но на моей практике такие случаи редкость и таких привычек проще и надежнее избегать.
Глобальные переменные это анти-паттерн во многих языках, потому что они усложняют отладку и сопровождение кода. При чтении кода не видно кто и как менял эти переменные в других модулях. Есть шанс испортить чужие глобалы случайно.
Кэшируется всегда - без исключений. Посмотрите исходники: https://github.com/nodejs/node/blob/master/lib/mod... Я с вами согласен, что require на событиях это плохо, но не сказал бы, что использование global это хороший совет.
Если делать как предлагаете вы, сложность системы будет слишком большая на мой взгляд, потом баги ловить бесконечно придется. Проще было бы ответить, если бы вы могли сообщить больше подробностей о данных и о том, какие модификации они проходят. А вы уверены что нельзя модифицировать запись при обращении к ней например? Мне нравится совет Pavel, возможно есть способ поменять формат данных таким образом, что обработка в N потоков на текущем железе на каком нибудь Go или Си, станет приемлемой по скорости задачей?
AllReady: лично мои предпочтения скорее всего вам не помогут. Я бы последовал совету nimfai
и выбрал CodeIgniter, просто потому что он очень прост в освоении и построен по тому же принципу что и большинство других (потом легко перейти). Попробуйте посмотреть какие фреймворки требуются сейчас для устройства на хорошие вакансии, вероятно есть какая нибудь тенденция. Мне, если что, больше всего импонировал Laravel.
one pavel: ну push тем более так не выглядит. Почему меня и удивил этот скриншот - экран очень похож на кастомный (причем без дополнительных модификаций вообще), просто пару кнопок и текст. Александр: не тапнули, потому что я попросил посмотреть список последних приложений и среди них не было ничего не обычного. Если бы это был экран в следствии тапа по push, то приложение бы активировалось.