Цитата:
Сообщение от ASevenfold
Тем что мы тратим кучу процессорного времени на работу с БД напрямую. Кешед очень даже нужная вещь, т.к. он позволяет убрать все это дело нахрен и лишь время от времени заливать данные в БД (эдакий автосейв), при том, что сама вся база кешируется и мы работаем с ней в ОЗУ без лишних обращений, так же и модифицируем, в ОЗУ.
|
На это есть отложенные запросы и bulk-операции, и не понадобится никакой дополнительный кэш, оперативная память ГСа - это и есть кэш, к тому же, наиболее быстрый. Если бы в опен-сорс проектах L2J делали базу изначально по уму, то не было бы огромных проблем с работой БД. Когда только начинал ковырять сборки, находил уйму performance miss'ов по типу кучи отдельных запросов вместо одного, или отсутствия нужных ключей и индексов на таблицах. Ну а о структуре и 3 НФ лучше вообще не упоминать.
Чем чаще обновляются данные, тем меньше плюсов становится у кэширующего механизма. Кэшировать тоже нужно уметь, иначе получите ту же кучу говнокода и "лагающий" кэш-двиг.