[ Russian ] [ English ]

Обзор современных подходов к обработке больших данных и их применение для построения рекомендательных систем

Клеменков Павел Андреевич,
ВМК МГУ имени М.В. Ломоносова, Объединенная компания Афиши и Рамблера,
parser@cs.msu.su

Мы живем в информационный век. Нелегко измерить общий объем электронных данных, но по оценкам IDC размер «цифровой вселенной» в 2006 г. составлял 0.18 зеттабайт, а к 2011 г. должен был достигнуть 1.8 зеттабайт, продемонстрировав десятикратный рост за 5 лет [1].

До определенного момента, практически единственным ответом на вопрос «как хранить и обрабатывать данные?» являлась какая-нибудь реляционная СУБД. Однако большие данные поставили задачи, для которых реляционная модель не смогла найти простых и надежных решений. Довольно быстро стало понятно, что адаптировать традиционные СУБД к работе с возрастающим потоком информации не удастся из-за заложенных в архитектуру ограничений. В попытках устранить эти ограничения появились новые подходы к работе с большими данными: NoSQL [2], MapReduce [3] и обработка потоков событий в реальном времени.

Создание новых инструментов хранения и обработки данных позволили более эффективно решать задачи, используя при этом намного больше информации, чем можно было себе представить до их появления. Ярким примером подобной задачи являются рекомендательные системы, большинство из которых основываются на тех или иных методах машинного обучения и извлечения информации, а значит для построения качественной модели, обычно, требуется обработка больших объемов данных [4].

В докладе будут проанализированы основные архитектурные ограничения, которые делают реляционные СУБД неэффективными для обработки больших данных. Будет произведен обзор NoSQL-подхода к организации данных и вычислительной модели MapReduce для их обработки. На примере фреймворка Hadoop [5] и библиотеки Mahout [6] будет проведен краткий обзор трех классов рекомендательных алгоритмов на больших данных. В заключение будет рассмотрена модель обработки потоков событий как возможное решение задачи организации рекомендательной системы реального времени на больших данных.

Презентация в формате PDF: klemenkov20121220.ppt.

Литература:

  1. Tom White. Hadoop: The Definitive Guide, 3rd Edition. O'Reilly Media, 2012, 688 p. Rick Cattel. Scalable SQL and NoSQL data stores. ACM SIGMOD Record, 39(4), p. 12-27, ACM New York, NY, USA, December 2010.
  2. Jeffrey Dean, Sanjay Ghemawat. MapReduce: simplified data processing on large clusters. Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation, vol. 6, p. 10-10, USENIX Association Berkeley, CA, USA, 2004.
  3. Dietmar Jannach, Markus Zanker, Alexander Felfernig, Gerhard Friedrich. Recommender Systems: An Introduction. Cambridge University Press, 2010, 352 p.
  4. Apache Hadoop. http://hadoop.apache.org/
  5. Apache Mahout. http://mahout.apache.org/
Supported by Synthesis Group