Google модифицирует код MySQL для использования на YouTube Инженеры видеохостинга YouTube ведут разработку набора программного обеспечения Vitess, задача которого - помочь открытой СУБД MySQL работать более эффективно в больших производственных средах с высокими нагрузками. Для того, чтобы писать программы, работающие со связкой Vitess-MySQL, необходимо использовать язык программирования Go, также созданный в Google. Как рассказали в Google, на YouTube сейчас уже используется один из компонентов Vitess, называемый Vtocc, он помогает обслуживать показы видео для примерно 800 млн ежемесячных пользователей портала. В Google говорят, что сейчас Vtocc полностью стабилен и имеет все необходимые инструменты для использования в производственной среде. Первый публичный показ Vtocc состоялся на этой неделе на конференции uSENIX lisa (Large Installation System Administration) в Калифорнии. Напомним, что на сегодня на YouTube загружаются около 72 часов видео ежеминутно, а в месяц пользователи просматривают около 4 млрд часов видео. Технически, портал создан таким образом, что физически все видеозаписи хранятся напрямую в файловой системе, однако портал применяет MySQL для хранения метаданных, необходимых для обслуживания каждого видео. К таким данным относится статистика, реклама, пользовательские настройки, данные о географическом местоположении и другие. В Google говорят, что применяют MySQL из-за надежности последней. Майк Соломон, инженер YouTube, говорит, что у MySQL есть некоторые ограничения, но они известны и их можно обходить. Тем не менее, даже быстрота и скорость MySQL по меркам YouTube оказываются недостаточными и поэтому в Google говорят, что возникла необходимость в создании дополнительных инструментов, расширяющих масштабируемость YouTube. "MySQL не слишком эффективна в масштабах YouTube. Здесь основная проблема заключается в том, что при достижении определенной точки вам приходится уделять слишком много времени управлению множеством одновременно работающих серверов СУБД. Мы решили автоматизировать этот аспект", - говорит Соломон. По его словам, обычно каждое соединение в MySQL требует собственного потока на сервере. Когда таких потоков десятки тысяч, это очень неэффективно, а главное - значительно растет вероятность ошибки. С другой стороны, разработчики решили не модифицировать ядро СУБД, так как это значительно усложнило бы понимание кода, а также обновление программного обеспечения в будущем. В итоге, Vitess работает в паре с MySQL и предлагает дополнительные возможности по управлению. К примеру, Vtoсс группирует тысячи одновременных запросов в небольшие блоки, чтобы передавать их серверу MySQL с более высокой эффективностью. С точки зрения сервера, к СУБД делается всего несколько одновременных запросов. Vtocc способен группировать запросы, убирать дублирования и проводить другие операции. В Google говорят, что код на Go пишется довольно просто и быстро, а главное имеет высокую скорость работы. К примеру, 30 000 строк кода в Vitess компилируются в бинарную форму за 30 секунд. В будущем компания обещает реализовать дополнительную функциональность в Vitess. Например, репликацию данных, оптимизацию и реализовать систему полностью автоматического управления. 16.12.2012 http://www.cybersecurity.ru/data/166570.html
Ну ниче так, но 30к строк за 30 секунд - это что-то непонятное, так как строка строке рознь и я могу написать одну строку которая будет работать часа два, а могу написать и миллион который выполнится за долю секунды.