Я постарался привести здесь обзор нескольких проблем, которые могут возникнуть при анализе больших данных: неспособность многих типовых пакетов масштабироваться к крупным проблемам; первостепенная важность избежания неоптимальных схем доступа при перемещении основного объема обработки вниз по иерархии систем хранения данных; репликация данных для повышения надежности и эффективности распределенных систем. Но я так и не ответил на вопрос, с которого начал статью: так что же такое "большие данные"?
Я попытаюсь привести метаопределение: в любой момент времени большие данные следует понимать как "данные, размер которых вынуждает нас выходить за пределы проверенных временем методов, широко распространенных в данное время". В начале 1980-х имелся набор данных, который был настолько крупным, что для установки и снятия тысяч магнитных лент требовалась роботизированная "ленточная обезьяна" ("tape monkey"). В 1990-е гг., вероятно, имелись данные, размер которых не укладывался в ограничения Microsoft Excel и настольных персональных компьютеров, и для их анализа требовалось серьезное программное обеспечение на рабочих станциях с Unix. Теперь этот термин может означать данные, являющиеся слишком большими, чтобы можно было размещать их в реляционной базе данных и анализировать с помощью настольных пакетов статистики/визуализации, данные, для анализа которых, вероятно, требуется массивно параллельное программное обеспечение, выполняющеся на десятках, сотнях или даже тысячах серверов.
В любом случае, по мере того как в повседневную практику будет входить анализ наборов данных все большего размера, это определение будет продолжать изменяться. Но одно останется неизменным: успеха на переднем крае будут добиваться те разработчики, которые не ограничиваются стандартными, типовыми методами и понимают истинную природу аппаратных ресурсов и все многообразие доступных им алгоритмов.