Тоже сразу захотелось скачать - подумал, что главное - "не спугнуть" :) Как докачаете страницы - выложите где-нибудь исходники? А потом уж совместными усилиями распарсим.
Согласен, написал не вникнув в задачу. На самом деле достаточно к условию UPDATE дописать WHERE locked = 'false' - и смотреть на количество затронутых рядов. Тогда и транзакции ни к чему - атомарность выполнения update обеспечит отсутствие коллизий.
Как это "Трансакции не дают должного результата"?! Как раз классическое решение этой задачи - в обертывании select и update в одну транзакцию. Другой вопрос, что mysql... не очень транзакционная СУБД ;) Поэтому ей такие подсказки необходимы, чтобы нормально работать.
Николай, эта статья явно не на таких специалистов, как ты, рассчитана :) Это ведь просто общие принципы - а вот их комбинирование уже позволяет достичь того, чего надо.
LiveJournal работает. ВКонтакте.ру работает. Значит не бесполезно ;) Правда, и те, и те строят горизонтальную масштабируемость самостоятельно, не основываясь на средствах Mysql.
Ну кстати, на эту тему мы с коллегами проводили семинар (точнее, даже два), где было и о масштабируемости, и об оптимизации, и о многом другом. Если будет спрос - мы соберемся и проведем его снова. Впрочем, статья наверняка тоже будет.
Ну поймите, это не статья "как спасти сайт, захлебывающийся под нагрузкой". Когда я буду писать такую статью, я обязательно расскажу о том, что надо делать в первую очередь - и это будет, конечно, совсем не построение масштабируемой архитектуры ;)
А это - просто введение и именно в вопросы масштабирования, чтобы обозначить тему и может быть вызвать чей-то интерес.
А это - просто введение и именно в вопросы масштабирования, чтобы обозначить тему и может быть вызвать чей-то интерес.