Метка «BigData»

При разработке ПО часто возникают интересные задачи. Одна из таких: работа с гео-координатами пользователей. Если вашим сервисом пользуются миллионы пользователей и запросы к РСУБД происходят часто, то выбор алгоритма играет важную роль. О том как оптимально обрабатывать большое количество запросов и искать ближайшие гео-позиции рассказано под катом.

image
Читать полностью »

Предприниматели с большим энтузиазмом берут на вооружение инструменты верификации будущей прибыли. Идея A/B-тестирования упала в благодатную почву. Больше нет необходимости ломать голову над цветом кнопки, можно сразу же тестировать и выбирать лучшее.

Напомню как это делается: вы создаете две страницы, разница которых будет заключаться только в цвете кнопки “оформления заказа”. Затем вы, случайным образом, половине посетителей сайта показываете страницу №1, а другой половине — страницу №2. В результате, на одной из страниц, пользователи нажмут кнопку оформления заказа больше, чем тоже самое количество других пользователей на другой странице.

Следует ли из этого, что цвет кнопки влияет на количество оформленных заказов? Давайте проведём мысленный эксперимент. У нас будет две команды, по пять человек в каждой. Одна команда будет в красных футболках, другая — в синих. Каждый член команды будет подбрасывать монетку и записывать что выпало: орёл или решка. Пусть каждый подбросит монетку, скажем, три раза. После, посчитаем количество полученных “орлов” для каждой из команд.

Мы увидим, что одна из команд набрала больше “орлов” чем другая. Можно ли сделать вывод, что цвет футболки определил победителя? Следует ли нам одевать красную (синию) футболку, когда мы собираемся зарабатывать больше “орлов”?
Читать полностью »

Уважаемые читатели, абитуриенты-бакалавры, их родители, братья и сёстры!

Хочу сообщить вам о перспективных магистрских программах на нашей кафедре по направлению подготовки 010400 «Прикладные математика и информатика»! Подробности — под катом.

Читать полностью »

Photon – масштабируемая, отказоустойчивая и географически распределенная система обработки потоковых данных в режиме реального времени. Система является внутренним продуктом Google и используется в Google Advertising System. Research paper [5], описывающие базовые принципы и архитектуру Photon, был представлен на научной конференции ACM SIGMOD в 2013 году.

В paper [5] заявлено, что пиковая нагрузка на систему может составлять миллионы событий в минуту со средней end-to-end задержкой менее 10 секунд.
* 'Скорость света' в заголовке — наглая ложь гипербола.

Google Photon. Обработка данных со скоростью света*
Читать полностью »

Dremelмасштабируемая система обработки запросов в режиме близком к режиму реального времени (near-real-time), предназначенная для анализа неизменяемых данных [4].

Авторы research paper [4] (среди которых, судя по всему, и наши соотечественники — Сергей Мельник и Андрей Губарев), в котором описываются базовые принципы и архитектура Dremel, заявляют, что система в силах:

  • выполнять агрегирующие запросы над боле чем над триллионом строк за секунды;
  • масштабируется на тысячи CPU;
  • предназначена для работы с петабайтами данных;
  • имеет тысячи пользователей внутри Google (дословно «at Google» [4]).

Dremel. Как Google считает в real time?
Читать полностью »

Запасаем впрок

Иногда в процессе работы бывают нужны данные из веб-сервисов, тем более SOAP соединения сегодня практически стандарт.

ETL-процесс (Extract — Transform — Load) это термин из Business Intelligence и описывает процесс сбора и трансформации данных для создания аналитической базы данных (например хранилища данных).

SOAP протокол обмена данных и веб-сервисы описываемые WSDL — распространенные окна в мир практически всех ERP систем, многих онлайн порталов и финансовых организаций.

Попробую описать пошагово ETL процесс с помощью одного из мощнейших инструментов в классе — MS Integration Services.

Итак, рассмотрим тестовую задачу.

Задача

Необходимо собрать данные о курсах валют по отношению к рублю на каждую дату прошлого года и загрузить их в таблицу для последующего анализа. Центробанк России предоставляет историчекие данные — в виде веб сервисов с неплохим описанием.
Похоже это и есть решение.
Читать полностью »

Еще немного о том как MarkLogic Server хранит данные.
Читать полностью »

Привет коллеги.
Хочу поделиться своим опытом использования HBase, а именно рассказать про bulk loading. Это еще один метод загрузки данных. Он принципиально отличается от обычного подхода (записи в таблицу через клиента). Есть мнение, что с помощью bulk load можно очень быстро загружать огромные массивы данных. Именно в этом я решил разобраться.
Читать полностью »

Во второй части статьи рассказывалось о механизмах обнаружения ошибок в процессе обработки.

Обработка завершилась с ошибкой, что делать дальше? Вполне возможно, что потеряна связь с одним из узлов кластера или временно недоступна база данных. В этом случае, нельзя с уверенностью сказать, какие операции выполнились успешно, а какие — нет. Если все операции в цепочке повторно применимы (идемпотентны), например установка флага, то можно просто перезапустить обработку. Если нет, то на помощь приходят механизмы транзакций Storm.
Читать полностью »

В первой части рассматривались базовые понятия Storm.

Разные классы задач предъявляют различные требования к надежности. Одно дело пропустить пару записей при подсчете статистики посещений, где счет идет на сотни тысяч и особая точность не нужна. И совсем другое — потерять, например, информацию о платеже клиента.

Далее рассмотрим о механизмы защиты от потери данных, которые реализованы в Storm.
Читать полностью »