Google I/O 2010
21 мая 2010
Google I/O закончился, основные моменты конференции:
- Web растет
-
- на десктопе перестали появляться значимые приложения (за исключением игр)
- люди проводят все больше и больше времени в интернет. Телевидение, радио и газеты сдают свои позиции
- Приходит HTML5
-
- к концу года будет поддерживаться всеми современными (= новыми) браузерами
- открыли WebM (web media) – видео кодек vp8, его поддержали opera и mozilla.
- я не специалист, и зрение у меня не очень, поэтому не заметил особых проблем по сравнению с h264, но некоторые утверждают что качество хуже.
- Adobe встроит VP8 в Flash Player -> он появится и в устаревших браузерах -> получается единый кодек для видео в инете
- Chrome Web Store
-
- продажа web приложений как «коробок»
- Еще один шаг к Google OS
- Google Wave
-
- открыт для всех
- ускорен, расширен API и т.д.
- использовался для обсуждения на всех секциях Google IO, получилось очень удобно
- Сотрудничество с VMWare
-
- Spring Roo научился генерить GWT интерфейс
- за несколько минут, на наших глазах, было написано полноценное приложение на Spring Roo для GAE + GWT
Уроки вынесенные из больших web сервисов
27 октября 2009
Google: Designs, Lessons and Advice from Building Large Distributed Systems:
И еще видео (которое фиг просмотришь нормально) примерно на ту же тему от Facebook:
High Performance at Massive Scale – Lessons learned at Facebook (может кто-то сможет перезалить его на YouTube или Google Video?)
Обработка данных, подход «MapReduce»
21 февраля 2008
В 2004 году Google рассказал о модели обработки данных которую они использую. Основана она на том что данные обрабатывает пара простых функций Map и Reduce. Первая их которых выделяет множество пар Ключ/Значений из входящих данных (тоже являющихся парами Ключ/Значение), а вторая производит объединение/группировку этих пар, и, опять же, выдает наружу таки пары, чаще всего в меньшем количестве чем пришло на вход. Дополнительным элементом является распределенная файловая система GoogleFS, благодаря которой обрабатываемый файл, и вся промежуточная информация, становится легко доступной с любого компьютера в кластере.
Т.к. вся архитектура обработки состоит из небольших функций, то обработку можно легко распараллелить на кластере. К тому же облегчает разбивка на отдельные куски и восстановление после сбоя. Используя распределенную ФС мы разбиваем данные на небольшие кусочки, с каждым из которых и работает отдельный элемент кластера.
Так же эту идею можно встретить под названием Split/Aggregate. Т.е. суть в том что входные данные (неважно какого размера) разбиваются на отдельные элементы (этап split), к примеру построчно, каждая строка как отдельное значение для обработки. Эти блоки строк раcпределяются по кластеру для обработки, где для каждой строки вызывается функция обработки (map). Результат выполнения опять объединяется (reduce/aggregate) в выходной файл. Если нужно, то данные сохраняются отсортироваными в определенном порядке, к примеру по внешнему ключу.
Читать далее »»
