[Мастер-класс по #Highload, 14 декабря, Питер] - просьба ко всем, запостить в твиттер от себя!

DiMA

php.spb.ru
Команда форума
Народ, большая просьба ко всем запостить себе в твиттер (от себя), статус контакта/фейсбука или блог:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Мастер-класс по #Highload, 14 декабря, Питер: "Построение крупного масштабируемого web 2.0 проекта на 100млн юзеров" - http://sonetica.ru/HL
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

И собственно, приглашаю на мастер класс - http://sonetica.ru/HL

А так же статья - http://spb-borodin.livejournal.com/596.html
Как устроены крупные соц.сети изнутри. О мифах после конференции Highload++.
В ней описано много интересного относительно архитектуры Vkontakte.ru и прошедшей конференции Highload++ в октябре 2010 года.
 

AmdY

Пью пиво
Команда форума
толсто, ретвитить как будут?
хэш-тега нет :(
 

DiMA

php.spb.ru
Команда форума
э... объясни плиз для чайника - как оформить сообщение правильно? .-)
и что мешает просто запостить сообщение от своего лица?
 

AmdY

Пью пиво
Команда форума
я запостил, только при ретвите появится RT @автор_твита которые не влезут в 140 символов
ну и нужен тег, по которому можно отслеживать (ой, сорри, у вас есть уже #Highload), но лучше добавить уникальный #sonetica

Мастер класс #sonetica: Построение крупного масштабируемого web 2.0 проекта на 100млн юзеров #higload
 

Ramzes

Новичок
если у кого-нибудь есть акк на Хабре, сделайте там анонс
 

DiMA

php.spb.ru
Команда форума
Покритикуйте смою статейку по итогам прошедшей конференции Highload - http://spb-borodin.livejournal.com/596.html

> На хабре за это потребуют 9375 рублей

А мне сейчас рассказали, что забесплатно нужные статьи продвигают на главную и проголосуют массово... Там какая-то кликабельная мафия существует :) Хотя мы не против купить и корпоративный аккаунт.
 

korchasa

LIMB infected
Как то меня настораживает приравнивание flash-highload-приложений к просто highload-приложениям.
 

DiMA

php.spb.ru
Команда форума
korchasa

Шутку оценил. Правда, она не смешная.

1. там нет флеша и близко
2. смотри http://www.liveinternet.ru/rating/ru/meeting/

Тупость всего контакта и нашего приложения заодно (я согласен с этим - там 95% хомячков сидит) не имеют никакого отношения к техническим особенностям.

Мы уже как 2 месяца вытеснили с 1-го места контакта все идиотские флеш-игры. Сейчас все начнут делать приложения но нормальному - на iframe.
 

korchasa

LIMB infected
DiMA
Это не шутка. Я действительно не понимаю, как экстраполировать опыт от одного приложения на все.
 

DiMA

php.spb.ru
Команда форума
Мы не делаем приложения для контакта, как все это привыкли понимать. У нас технически полноценная соц.сеть со всеми настоящими атрибутами - полный перечень веб 2.0 функционала: друзья, подписки, анкетный поиск и т.д. Ты чего ждешь, чтобы мы клон конакта делали? Сейчас - это нереально. Или все же не занятую нишу захватили? Кроме этого приложения есть другие проекты, но пока они только раскручиваются (менее 200.000 регистраций) и они полноценные соц.сети, а не приложения. Глупое оформление нашего проекта в говноконтакте (и ММ+фейсбук) не касается технических особенностей. Программисты должны это понимать.
 

korchasa

LIMB infected
Ну может тогда стоит говорить о датинге, а не highload'е(ненавижу это слово) вообще?

Несколько вопросов:
1. Как вы обеспечиваете целостность данных? Транзакций на уровне БД, у вас, как я понимаю, нет?
2. Почему горизонтальное машстабирование явлется главной целью, без которой нельзя запустить проект?
3. Вы используете map-reduce?
4. Вы используете очереди?
 

whirlwind

TDD infected, paranoid
korchasa чего ты к нему прикопался? :) hiload это пафосный антоним пафосного "корпоративного приложения".
Нафига им map-reduce? Размеры файлов подсчитывать?
 

DiMA

php.spb.ru
Команда форума
korchasa

Причем тут знакомства? Ты слишком привязался к слову "приложение под контакт". Ну, замени слово "пользователь" на любую иную сущность, типа товара в магазине или ветки в блоге (я же просил - прочитай статью). Технология масштабирования вообще не изменится. Именно о подобных ужасающих непониманиях в проектировании я и пытаюсь рассказать! Мы клепаем кучу проектов (СМИ, флеш-игры, соц.сети, развлекаловку под контакт) по совершенно одинаковому шаблону, на одинаковой платформе. Нет разницы в функционале и начинке. В этом особенность нашей компании - мы разрабатывает не одну соц.сеть всю жизнь. А кучу проектов. Быстро строим новый проект и он буквально за 3 месяца достигает 10 млн регистраций и млн людей в сутки. Если завтра надо будет сделать википедию или живой журнал - у нас уже все есть. Продумывание архитектуры займет максимум час. Это называется аналогия, паттерн. Кто хочет научится тому же? Могу объяснить.

1. Есть транзакции, все есть. А ты наверно думаешь, что для важных операций существует только блокировка или транзакция? А это не так, есть еще другие методы. Этому я и учу. И куче других паттернов работы с данными. Один из тезисов - надо выкинуть тормозные транзакции. Задачи решаются проще и эффективнее другими путями. В хайлоде транзакции слишком дорогие операции.
2. Ты статью читал? Я отвечал. Для доказательства неверующим существует 2 "невозможных задачи". Они очень просты. Традиционным подходом не решаются никак. Опишу в следующей статье.
3. Нет. Причем, 1.5 года назад я тоже точно такой же глупый вопрос задавал =) Да, был чайником... но спасибо умным людям, научили :)
4. Да.

Лет 20 назад программисты беседовали о процедурных языках. После этого - о крутости ООП (и сейчас это делают). С появлением Фейсбука пора уже понять - ваша крутость в ООП, TDD и прочих модных словах, которыми вы очень гордитесь, полностью утрачивает смысл. Сейчас важным становится то, насколько эффективно вы оперируете данными. В этом цель мастер-класса, понять, почему на EXPLAIN можно забить. Есть более сложные задачи, которые и приходится решать. Да, обычным программистам это понять очень сложно, все принимается в жесткие штыки и т.д. Блин, ну я же все это написал в статейке!

Не надо привязываться к тому, что я обучаю делать соц.сети. Это одно из очевидных следствий обучения - вы сможете делать многие проекты, хоть контакт. Нет цели сделать его клона.

Кроме вашего традиционного программирования - существует особая уличная магия. Кто хочет ее узнать - заходите. Обратно вы не вернетесь.
 

korchasa

LIMB infected
1. Можно на примере? Как, например, обеспечивается миграция данных без транзакций? Write-ahead?
2. Да читал, там их нет.
3. Как вы работаете с CPU-bound задачами?
4. ActiveMQ, RabbitMQ, свое?

ЗЫ: Пафос можно поубавить, у меня тоже длинный. Я периодически работаю с системой, которая исполняет 800qps OLAP-запросов. На прошлой работе занимался CDN.
 

whirlwind

TDD infected, paranoid
DiMA да, статья-затравка к конфе прикольная, все по существу и почти без фанатизма. А после этого твоего камента, даже не знаю. Стоит ли слушать человека, который безаппеляционно заявляет - все что вы знаете - чушь! и ничего не предлагает взамен. Неужели ты думаешь что только вы такие умные сумели догадаться, что простые запросы это благо для любого проекта? Мне было бы интересно послушать про роуминг данных, сбора статы и балансировку. Но какое это вообще отношение имеет к ООП или TDD? Надо как то уже определиться, либо обмен информацией, либо ЧСВ тешим.
 

whirlwind

TDD infected, paranoid
Можно на примере? Как, например, обеспечивается миграция данных без транзакций? Write-ahead?
Могу предположить. no-sql индексы с range по id. Записи мигрируют кучками - сначала копируются - получаем грубо две копии. После этого меняются адреса ranges в индексах.
 

korchasa

LIMB infected
whirlwind
Это не избавляет от лока на обновление во время переноса.
 
Сверху