В курсе «web-development » cs253 от udacity Steve упоминал некоторые эти уроки. Но там материал на английском( с субтитрами), а тут на русском.Спасибо!
> Открытая схема базы данных
Вот тут мне интересен один вопрос.
Одни данные текстовые, другие численные и т.д
Как всё уместить в одну таблицу значений? Поясните, технологию, если кому-то известно.
Или скрытый пиар noSQL?
Сам в подобной схеме просто поле value делал char, SQL нормально относится к SET <string_field> = 1. Была ещё идея сделать несколько таблиц значений типа integer_data, datetime_data, char_data и т. п., но предварительные тесты показали, что овчинка выделки не стоит — гораздо больше ресурсов тратится на эмуляцию нормальных джойнов, а не на приведение типов.
Не знаком с Reddit, но как они решили проблему, что пользователь должен видеть результаты своих действий, если, как я понял, изменение данных они засовывают в очередь.
Спасибо. Ясно, но для моих целей наверное неприменимо. Слишком много жалоб будет если действие отобразится как выполненное, но по каким-то причинам не выполнится.
Ну они не совсем «безответственно» подходят к этой операции. Всё таки клиентский запрос сначала отправляет на сервер, получает подтверждение что он получен и поставлен в очередь и только потом отобразиться у пользователя как «выполненный». Ну а сам запрос из очереди потерять сложно даже при сбоях работы или тормозах, главное не чистить очередь бездумно
Такая ситуация возможна, но при достаточном кол-ве серверов очередь должна обрабатываться достаточно быстро при умеренной нагрузке и к следующему вашему запросу у вас скорее всего все отобразится. Насколько я понял из обзора, основная задача, которая стояла перед разработчиками Reddit, обеспечить именно максимальное кол-во просмотров и соответственно скорость ответа здесь весьма критична, остальные задачи уходят на второй план.
Вот вы написали комментарий к этому посту на хабре. Помимо этого поста изменится ваша страница, ваша страница комментов, изменится трекер для многих пользователей.
Вот пост вам просчитают и отдадут сразу, а все остальные страница «поставят в очередь», а потом — отдадут сразу.
Почти все использувал в разных проектах и немного с другими тезисами.
Но, спасибо автору и переводчику, все как-то собралось в одном месте и систематизировалось.
Это не статья, это книга. Rabbit MQ in Action. В ней есть куча нюансов, которые не указаны в туториалах. Пока общаюсь с правообладателями, чтобы понять, в каком виде этот перевод можно делать.
Как дальтоник я вас ненавижу за розовые и голубые стрелочки одной интенсивности. А статья годная. На большом проекте какраз перешли на memcached и уже чувствуется прирост в скорости.
7 уроков, полученных при создании Reddit