Пэт Хеллэнд, один из ведущих мировых авторитетов по вопросам проектирования баз данных в корпорации Microsoft, в статье «Если у вас слишком много данных, то и “достаточно хорошо” — уже хорошо» (If You Have Too Much Data, then ‘Good Enough’ Is Good Enough) описывает это явление как фундаментальный переход. Определив несколько основных принципов традиционного проектирования баз данных, которые были подорваны беспорядочными данными различной точности и происхождения, он изложил такие выводы: «Мы больше не можем претендовать на то, чтобы жить в чистом мире [информации]. Обработка больших данных влечет за собой неизбежные потери информации. Зато вы получаете быстрый результат». «Не страшно, если мы получаем ответы с потерями, — зачастую это вполне соответствует бизнес-потребностям», — подытожил Хеллэнд.
Традиционное проектирование баз данных обещает стабильное получение единообразного результата. Спрашивая у бухгалтера о состоянии баланса, вы ожидаете получить точную сумму. А повторив свой запрос через несколько секунд, вы хотели бы, чтобы система выдала такой же результат при условии, что ничего не изменилось. Однако по мере роста объема данных и увеличения количества пользователей, имеющих доступ к системе, поддерживать такое единообразие становится все труднее.
Большие наборы данных не хранятся централизованно. Как правило, они распределяются между несколькими жесткими дисками и компьютерами. Для обеспечения надежности и скорости запись может храниться в двух или трех разных расположениях. Если обновить запись в одном расположении, то данные в других расположениях будут считаться неправильными, пока их тоже не обновят. Традиционным системам было свойственно ожидать завершения всех обновлений. Но это менее практично, когда данные широко распространены, а сервер атакуется десятками тысяч запросов в секунду. В таком случае беспорядочность — неплохое решение.
Типичным примером перехода, о котором идет речь, стала популярность системы Hadoop — конкурирующего аналога системы Google MapReduce с открытым исходным кодом. Hadoop отлично справляется с обработкой больших объемов данных, разбивая их на мелкие фрагменты и выделяя участки для других компьютеров. Она исходит из того, что оборудование может отказать, поэтому создает резервную копию. Система также предполагает, что поступающие данные не упорядочены и не выверены (а по факту и не могут быть выверены до обработки из-за поистине огромного объема). При типичном анализе данных в первую очередь требуется выполнить ETL (от англ. Extract, Transform, Load — «извлечение, преобразование, загрузка»), чтобы переместить данные в расположение для их анализа. Hadoop обходится без таких тонкостей. Напротив, исходя из того, что количество данных настолько велико, что их невозможно переместить, Hadoop анализирует данные на месте.
Результат, получаемый на выходе, не настолько точен, как в случае реляционных баз данных: на него нельзя рассчитывать при запуске космического корабля или при подтверждении реквизитов банковского счета. Но со многими менее важными задачами, где суперточный ответ не требуется (скажем, с задачами по сегментированию клиентов для проведения специальных маркетинговых кампаний), Hadoop справляется намного быстрее, чем другие. С помощью Hadoop компания по выпуску кредитных карт Visa сумела сократить время обработки тестовых записей, накопленных за два года (73 миллиарда транзакций) с одного месяца до каких-то 13 минут. Подобное сокращение времени обработки ведет к преобразованиям в деловой сфере. Возможно, оно не годится для формального учета, зато исключительно полезно, когда некоторая погрешность вполне допустима. [52] Кукьер: трудности считывания данных по беспроводной связи: Data, data, everywhere // The Economist. — February 27, 2010. Система, безусловно, не является непогрешимой: причиной пожара на нефтеперерабатывающем заводе BP Cherry Point в феврале 2012 года оказались ржавые трубы.
Принимая беспорядочность, взамен мы получаем чрезвычайно ценные услуги, недоступные при использовании традиционных методов и инструментов, учитывая всю масштабность данных. По некоторым оценкам, только 5% всех цифровых данных «структурированы», то есть представлены в форме, подходящей для традиционных баз данных. Отказываясь от беспорядочности, мы теряем оставшиеся 95% неструктурированных данных, таких как веб-страницы и видео. Допуская неточность, мы открываем окно в непознанный мир открытий.
Общество пошло на два неявных компромисса, которые уже настолько укоренились в нашем быту, что воспринимаются как естественный порядок вещей. Во-первых, мы не замахиваемся на огромные массивы данных, поскольку исходим из того, что это невозможно. Но этот сдерживающий фактор становится все менее актуальным, и мы можем многого добиться, ориентируясь на подход « N = всё».
Читать дальше
Конец ознакомительного отрывка
Купить книгу