Доставляет. by +Mezriss Bhaalspawn
Penn and Teller — P.E.T.A. (Full Episode)
Хехе. Социальная реклама.
Доставляет. by +Mezriss Bhaalspawn
Penn and Teller — P.E.T.A. (Full Episode)
http://www.vz.ru/columns/2012/2/24/563611.html
http://belnetmon.livejournal.com/1760214.html
via +Andrey Rahmatullin @ irc.
Хочу странного. Web server + PHP + MySql на андроид.
А давайте поиграем в задачки.
Дано: посты с комментариями. У постов есть теги, у комментариев есть авторы. Ну, комментарии и их авторы нас пока не интересуют. Лежит это всё дело в СУБД.
Задача: находить все посты, помечены одним или более тегами (теги на вход подаёт юзер). Чтобы распределение данных было близко к реальности, надо чтобы постов было более 100 тысяч, а количество тегов не превышало 2-3 тысячи, в идеале — +/- 1 тысяча. На пост от 0 до 10-15 тегов (техническое ограничение должно отсутствовать, возможность не указывать теги должна присутствовать).
Ответ СУБД должна выдавать за минимально возможное время. Например, на системе без нагрузки после компиляций планов/поднятия кеша с винта — не более 50 мс на один поиск на стандартном десктопе (примерно i7 860 @ 2.8 GHz, 8 Gb DDR3).
Во время решения задачи можно предполагать, что все данные находятся в оперативной памяти.
Для решения задачи можно использовать любую СУБД, обладающую следующими свойствами:
1. СУБД обязана иметь ACID-транзакции.
2. СУБД обязана уметь гарантировать ссылочную целостность данных. Например, через foreign keys.
ЗЫ: я задачку решил и оно используется у нас в продакшене :)
ЗЫ2: важное забыл. Распределение тегов по постам крайне неравномерно. Может быть так, что одним тегом покрыто 10% постов, а другим — 2 (два, не два процента) поста. И находить должно с одинаковой скоростью по каждому из таких тегов в отдельности и по обоим вместе.
ЗЫ3: решение задачи — это минимум два запроса: тот, который создаст структуру базы и тот, которым вы выберите посты (id, text минимум) по заданному вводу.
Метки: optimization, алгоритмы, субд
А давайте поиграем в задачки.
Дано: посты с комментариями. У постов есть теги, у комментариев есть авторы. Ну, комментарии и их авторы нас пока не интересуют. Лежит это всё дело в СУБД.
Задача: находить все посты, помечены одним или более тегами (теги на вход подаёт юзер). Чтобы распределение данных было близко к реальности, надо чтобы постов было более 100 тысяч, а количество тегов не превышало 2-3 тысячи, в идеале — +/- 1 тысяча. На пост от 0 до 10-15 тегов (техническое ограничение должно отсутствовать, возможность не указывать теги должна присутствовать).
Ответ СУБД должна выдавать за минимально возможное время. Например, на системе без нагрузки после компиляций планов/поднятия кеша с винта — не более 50 мс на один поиск на стандартном десктопе (примерно i7 860 @ 2.8 GHz, 8 Gb DDR3).
Во время решения задачи можно предполагать, что все данные находятся в оперативной памяти.
Для решения задачи можно использовать любую СУБД, обладающую следующими свойствами:
1. СУБД обязана иметь ACID-транзакции.
2. СУБД обязана уметь гарантировать ссылочную целостность данных. Например, через foreign keys.
ЗЫ: я задачку решил и оно используется у нас в продакшене :)
ЗЫ2: важное забыл. Распределение тегов по постам крайне неравномерно. Может быть так, что одним тегом покрыто 10% постов, а другим — 2 (два, не два процента) поста. И находить должно с одинаковой скоростью по каждому из таких тегов в отдельности и по обоим вместе.
ЗЫ3: решение задачи — это минимум два запроса: тот, который создаст структуру базы и тот, которым вы выберите посты (id, text минимум) по заданному вводу.
Главное не покупать. А то будет как с коллекционкой для ПК. А видео отличное.
ЗЫ: via +Stepan Danilevsky @ irc. А автор шедевра — Томек Багински.