Сама по себе «проблема Больших Данных» сопровождается рядом собственных проблем, одна из которых заключается в том, что о Больших Данных много говорят, но мало что реально делают. Спору нет, на глобальном уровне проблема обработки больших массивов данных объективно существует — человечество порождает все больше контента, требующего переработки, однако действительно осязаемых достижений на этом поприще пока немного. Отсюда неоправданно большие ожидания и предвосхищения у одних наряду со скепсисом у других и, как следствие, распространение недоверия к этой теме. В результате термин «Большие Данные» оказался замылен раньше, чем понят, впрочем, недоверие к новациям неоднократно бывало и раньше, постоянно сопровождая радикальные идеи, обладающие богатым потенциалом, но опережающие время.

Проблема Больших Данных далеко не нова — первые признаки обеспокоенности возможными негативными последствиями неуправляемого роста объемов данных, порождаемых мировой цивилизацией, и, соответственно, проблемой извлечения заключенной в них информации стали проявляться еще с середины 40-х годов XX века. Сегодня те объемы кажутся незначительными на фоне непрерывного экспоненциального роста на протяжении последних десятилетий, придавшего цивилизации совершенно новое качество на культурном, научном и технологическом уровнях.

Больше всего говорят о культурном уровне, который сводится к осознанию возможностей, которые открываются при извлечении новых знаний из накопленных данных, и, как следствие, увеличению когнитивной способности человечества. Научный уровень образован математическими методами анализа данных, позволяющими совершать открытия в астрономии, физике, химии и других дисциплинах, образующие электронную науку (e-Science). Технологический уровень предполагает переориентацию ИТ со счетных задач как основного приложения на сбор, хранение, обработку больших массивов данных с поддержкой тех или иных аналитических методов.

Большие Данные — новая теория и практика

Big Data относится к числу немногих названий, имеющих вполне достоверную дату своего рождения — 3 сентября 2008 года, когда вышел специальный номер британского журнала Nature, подытоживающий дискуссии о роли данных в науке вообще и в электронной науке (e-science) в частности.

Леонид Черняк

До конца 90-х годов, когда средства работы с Большими Данными стали превращаться в инструмент для e-science, внимание общественности было сосредоточено на осознании культурного феномена. Затем внимание переключилось на переосмысление парадигмы e-science, после чего произошло знаменательное событие — объединение e-science и Big Data. Активное развитие технологий, специально предназначенных для поддержки Больших Данных, началось позже [1].

Такая последовательность развития трех уровней, или феноменов Больших Данных, по направлению от общих философских воззрений к конкретным практическим решениям стала причиной снисходительного отношения профессионалов от ИТ к Большим Данным, акцентирующих свое внимание лишь на технологиях и не учитывающих особенностей двух предшествующих феноменов. Успехи в сфере технологий пока еще достаточно скромны, и интересные решения имеются у небольших компаний, а крупные, по законам рынка, поголовно заявляют о готовности решать проблемы Больших Данных уже давно имеющимися в их распоряжении средствами.

От слов к делу

Сегодня все, что говорится на тему Больших Данных, носит лишь фрагментарный характер — целостной программы решения проблемы пока нет, причем даже на уровне концепции, однако на этом фоне весьма ярко обозначилась инициатива Intel. Программа комплексного подхода предполагает создание крупного исследовательского центра Intel Science and Technology Center for Big Data (ISTC-BD), специализирующегося на Больших Данных и базирующегося в лаборатории CSAIL (Computer Science and Artificial Intelligence Laboratory). Лаборатория входит в состав Массачусетского технологического института, но при этом сохраняет автономность. К моменту создания центра ISTC-BD в стенах CSAIL уже существовало более десяти коллективов, так или иначе связанных с Большими Данными, их объединение одной программой позволит преодолеть раздробленность и логически связать вместе отдельные технологические подходы.

Как же оказалось, что именно Intel поддерживает подобного рода широкомасштабные исследования и почему в МТИ? Корпорация поддерживает исследования во всем спектре современной компьютерной науки — в частности, она создает крупные исследовательские центры совместно с ведущими университетами США, и к моменту образования ISTC-BD по инициативе Intel были созданы Intel Science and Technology Center for Pervasive Computing (ISTC-PC), Intel Science and Technology Center for Embedded Computing (ISTC-EC), Intel Science and Technology Center for Visual Computing (ISTC-VC) и Intel Science and Technology Center for Cloud Computing (ISTC-CC). Хотя в явном виде слова Big Data фигурируют только в названии ISTC-BD, все остальные центры каждый по-своему также нацелены на решение проблемы Больших Данных, но со своими индивидуальными особенностями. Каждый из центров ориентирован на определенное направление: Pervasive Computing (повсеместные компьютерные системы) — это прежде всего интеллектуальные устройства, Embedded Computing — встроенные системы, Visual Computing — визуализация и Cloud Computing — облака.

 

CSAIL

Лаборатория компьютерной науки и искусственного интеллекта — самая крупная в МТИ — была сформирована в 2003 году путем слияния знаменитых лабораторий: Laboratory for Computer Science и Artificial Intelligence Laboratory. Образованию этих двух лабораторий в МТИ предшествовали исследования в области компьютерной науки с 30-х годов XX века, наибольшую известность получили дифференциальный анализатор Ванневара Буша и работы в области булевой алгебры, выполненные Клодом Шенноном. Область искусственного интеллекта ярче всего представлена в трудах Марвина Минского, датируемых 60-ми годами. Кроме этого, лаборатории известны своими достижениями, даже краткое перечисление которых, а также имен ученых, связанных с ними, — отдельная тема. В итоге сегодня CSAIL признана одной из самых влиятельных университетских лабораторий мира.

За право участия в инициативе, получившей название bigdata@CSAIL, боролись более 50 университетов. Победа МТИ закономерна и одновременно символична еще и потому, что сейчас администрация штата Массачусетс стремится возвратить утраченную позицию технологического лидера страны и стать концентратором исследований в области Больших Данных. К работе в рамках bigdata@CSAIL будут привлечены исследователи из нескольких ведущих университетов, например Стэнфорда, а ее деятельность поддерживают несколько крупных корпораций, причем не только компьютерных, таких как EMC, но и страховые, медийные и ряд других.

 

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

  • Базы Больших Данных и аналитика. Разработка программных платформ для хранения и обработки больших массивов данных, способных поддерживать аналитические системы, существенно превосходящие современные. Аналитика переживает сегодня период глубокой трансформации, которая предполагает выход за пределы, присущие реляционным системам, уже не отвечающим требованиям разнообразных методов анализа данных. Базы на основе реляционных моделей не поддерживают многомерные объекты (массивы), для которых нужна совсем иная, «массивно-ориентированная» модель. Кроме того, базы общего назначения показывают низкую производительность на больших объемах, а многие современные данные, такие как разного рода изображения, результаты наблюдений и экспериментов, вообще не могут быть каким-то образом индексированы.
  • Математика и алгоритмы для Больших Данных. Предполагается создать новые алгоритмы и ПО для обработки сигналов, поиска и машинного обучения, способные масштабироваться на сотни машин и на петабайты данных. В отличие от большинства современных аналогов они должны быть адаптированы к работе в параллельном режиме с данными, которые хранятся вне оперативной памяти.
  • Визуализация Больших Данных. Необходимо создавать средства визуализации, позволяющие пользователям взаимодействовать с большими массивами данных через различные устройства от миниатюрных смартфонов до панелей размером со стену, а для этого придется обеспечить масштабирование визуализации при изменении объемов данных.
  • Архитектура систем для Больших Данных. Архитектура современных компьютеров изначально создавалась для расчетных операций, и необходимо переосмыслить грядущие инновации и подготовиться к ним, в том числе к процессорам с большим числом ядер, к энергонезависимой оперативной памяти и к оборудованию, способному к реконфигурации.
  • Потоковая обработка Больших Данных. Увеличение потоков входных данных требует от систем возможностей по их обработке и выполнения комплекса подготовительных операций, таких как фильтрация и агрегирование.

Эти пункты определяют направления для исследований; их можно рассматривать как программу для отрасли в целом — реальная программа на ближайшие годы намного уже.

И снова Стоунбрейкер

Детализация пунктов программы ISTC-BD в контексте деятельности Intel возложена на научного руководителя bigdata@CSAIL Майкла Стоунбрейкера, директора ISTC-BD Сэма Маддена и директора лаборатории параллельных вычислений Intel Прадипа Даби. Тот факт, что именно Стоунбрейкер был призван на роль научного руководителя, обнадеживает: пожалуй, сегодня это главный авторитет в области работы с данными, признанный патриарх, создавший сорок лет назад компанию Relational Technology и одну из первых реляционных СУБД Ingres. В своем почтенном возрасте Стоунбрейкер сохранил бунтарский дух Беркли 60-х и до сих пор проявляет удивительную открытость к новшествам.

Основную часть исследований по программе ISTC-BD можно отнести к школе Стоунбрейкера, что и определяет специфику программы — практически все ее компоненты так или иначе связаны с базами данных. Например, планируется развивать СУБД, созданные в последние годы: StreamBase для потоковых данных, Vertica для хранилищ данных, VoltDB для оперативной обработки транзакций, Goby.com для данных из World Wide Web и SciDB для научных данных и аналитики. Описывая перспективы развития СУБД, Стоунбрейкер, в частности, отмечает: «Сейчас у каждого из вертикальных рынков имеются свои проблемы, для решения которых требуются наиболее удобные средства, и нет нужды ограничиваться унаследованными из прошлого реляционными системами». По его мнению, для аналитики следует использовать поколоночные архитектуры, для транзакционной работы — базы данных в памяти, NoSQL-архитектуры — для операций с данными, имеющими значения-ключи, при этом с коммерческой точки зрения сегодня становятся привлекательны и другие типы данных, включая графовые. Подчеркивая значение новых данных, Стоунбрейкер отмечает, что вся реформа здравоохранения США, получившая название Obamacare, построена именно на базах данных типа NoSQL.

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

  • усовершенствование баз NoSQL до достижения ими соответствия требованиям ACID (атомарность, согласованность, изолированность, надежность) и создания языков высокого уровня для доступа к данным; например, в Google уже создана система Spanner, полностью соответствующая ACID;
  • обострение борьбы между Oracle и SAP, в которой последняя имеет преимущество в виде технологии поколоночной обработки данных в памяти (СУБД HANA);
  • обновление системной платформы Facebook, которая уже несколько лет пытается освободиться от MySQL, создающей компании изрядные проблемы.

Большие Данные и ISTC-BD

В своем представлении о сущности Больших Данных в ISTC-BD опираются на классическое определение «четыре V»: «объем» (Volume), «скорость обработки» (Velocity), «достоверность» (Veracity) и «разнообразие» (Variety) [2]. Но для начала в лаборатории считают необходимым работать только с двумя первыми свойствами, а оставшиеся два V пока оставить в стороне.

Категорию Большой Объем в лаборатории разделяют на две части, исходя из природы данных и способов работы с ними. Для работы с традиционными таблицами могут быть использованы методы классической аналитики, основанные на SQL и весьма совершенные, поддерживаемые серьезной теорией и огромной практикой. По этой причине в ISTC-BD работ, связанных с обычными табличными данными, не предполагается. Но есть объемные массивы данных, к которым традиционные методы не применимы, поэтому для работы с ними приходится использовать разнообразные средства анализа, основанные на машинном обучении, кластеризации, предсказательном моделировании, категоризации и т. п.

В случае Большой Скорости данные тоже могут быть более или менее традиционными, но в другом контексте — независимо от типа данных под большой скоростью обработки понимается способность извлекать полезную информацию из потока данных («льющихся из трубы»). Традиционными можно считать данные, для работы с которыми достаточно ограничиться многочисленными методами фильтрации с целью извлечения сложных образов из потоков — это так называемая потоковая обработка данных (Data Stream Processing), где чаще всего используют технологии обработки сложных событий (Complex Event Processing, CEP) и системы управления потоками данных (Data Stream Management System, DSMS), включающие первичную обработку, фильтрацию и агрегирование. Наибольших успехов в этом направлении добились компании Apama (входит в состав Software AG) с ее решением Complex Event Processing Platform, TIBCO — с решением StreamBase Systems, Sybase — с системой ESP и IBM — с InfoSphere Streams. Несмотря на то что Стоунбрейкер имел непосредственное отношение к созданию системы StreamBase в ISTC-BD, развитие в этом направлении не предполагается.

Для другой категории потоковых данных недостаточно методов фильтрации — они предполагают оперативную обработку транзакций (OLTP), однако количество данных в подобного рода системах во много раз превышает объемы данных в традиционных системах OLTP. На данный момент в качестве примера можно привести массовые многопользовательские онлайн-игры (Massively multiplayer Online Game, MMOG), в которые одновременно играют несколько тысяч взаимодействующих друг с другом людей.

Базы для научных данных

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

Объем и ценность данных возрастают — нынешняя сенсорная революция настоятельно требует обеспечить их сохранность, причем для этого сегодня имеются все технические возможности. Нужны базы, способные хранить произвольные научные данные, поэтому в рамках ISTC-BD развивается инициатива по объединению нескольких проектов подобных баз. В первую очередь это относительно новая база SciDB, создаваемая под руководством Стоунбейкера и Дэвида ДеВитта, а также два проекта: MonetDB (Нидерланды) и Rasdaman (Германия). Для доступа к массивам данных разрабатывается язык AQL (ArrayQL).

Третья опора компьютинга

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

Леонид Черняк

Предпосылки к созданию проекта SciDB содержатся в «Четвертой парадигме науки» Джима Грея; он считал, что сегодня, когда открылась возможность обработки огромных объемов экспериментальных данных, складываются новые научные методы, основанные на их анализе (e-Science), в которых доминируют синтезирующие теории, а статистические методы применяются к колоссальным объемам данных [3]. Проект SciDB посвящен Грею, а непосредственным импульсом к его инициации стало решение о строительстве Большого обзорного телескопа в Чили. Телескоп должен быть введен в строй только после 2020 года, и очевидно, что база SciDB будет использована раньше в других научных приложениях. В одной из статей, посвященных SciDB, эту базу назвали «реляционным ответом дедушки» на вызовы со стороны Google, Hadoop и NoSQL.

SciDB представляет собой постреляционную аналитическую базу с открытыми кодами, соответствующую ACID и адаптированную для работы на серверах стандартной архитектуры, собранных в гриды или размещенных в облаках. Для аналитической работы с научными данными SciDB удобнее, чем реляционные СУБД и системы, основанные на подходах Hadoop. SciDB ориентирована на серьезную аналитику и интегрирована с языками R и Python. Коммерциализацией SciDB занимается компания Paradigm4.

СУБД MonetDB была создана 35 лет назад в голландском Национальном исследовательском институте математики и компьютерных наук (CWI), где в свое время работал Эдсгер Дейкстра. Столь длительная история сама по себе удивительна, но еще больше поражает то, что крошечному коллективу, совсем недавно разросшемуся до двух десятков сотрудников, удалось на многие годы опередить весь остальной мир. В середине восьмидесятых по проекту Prisma разрабатывалась распределенная СУБД с поколоночным хранением данных в оперативной памяти, уже тогда работающая на 100 процессорах с общей памятью 1 Гбайт. Затем было еще несколько проектов, и только в 2005 году началось распространение MonetDB как продукта с открытым кодом. От кодов, написанных десятилетия назад, сегодня ничего не осталось, но сохранился основополагающий принцип — алгоритмы этой СУБД относятся к классу hardware-conscious (учитывающие особенности процессоров и допускающие тонкие настройки), в отличие от других, не обладающих такими способностями (hardware-oblivious).

Наибольшей удачей для MonetDB оказалось использование СУБД в проекте широкомасштабного исследования изображений и спектров звезд и галактик с помощью 2,5-метрового широкоугольного телескопа в обсерватории Апачи-Пойнт в Нью-Мексико. Исследования начались в 2000 году, и тогда выяснилось, что кроме MonetDB ни одна база не может справиться с задачей накопления данных. Как следствие, в CWI был открыт специальный проект по работе с научными данными SciBORQ (Scientific data management with Bounds On Runtime and Quality).

Появление СУБД Rasdaman (Raster data manager) стало возможным благодаря исследованиям, которые с 1989 года ведет Петер Бауманн в Институте компьютерной графики, входящем в Общество Фраунгофера — объединение институтов прикладных исследований в Германии. Он разработал собственную «алгебру массивов» и добавил к обычной реляционной базе еще один атрибут — массив. Для хранения массивов в базе используется известная технология больших двоичных объектов (Binary Large OBject, BLOB).

Графовые СУБД

К графовым относят базы NoSQL, которые предназначены для сохранения объектов и отображения связей между ними средствами, заимствованными из теории графов. Такая база представляет собой набор узлов (объектов) и ребер (отношений между объектами). Для адресации каждому объекту присваивается уникальный идентификатор, содержащий сведения о входящих и выходящих ребрах узла. Аналогичным образом каждое ребро тоже имеет свой собственный идентификатор и сведения об узлах, между которыми оно находится. Такие базы чрезвычайно удобны для работы с данными из социальных сетей, а также в случаях, когда имеются сложные отношения между объектами, например цепочки поставок, логистика. По сравнению с реляционными графовые базы работают на порядки быстрее с графовыми данными, поскольку напрямую отражают структуры данных в объектно-ориентированных приложениях.

Сегодня имеется несколько десятков экспериментальных графовых баз, и самой продвинутой считается Neo4j, однако в ISTC-BD намереваются разработать свою СУБД на основе движка GraphLab и параллельно ведутся работы по использованию разреженных матриц. На первый взгляд представляется рациональным в данном случае использовать что-то в духе MapReduce/Hadoop, однако пакетная природа ограничивает возможности использования этой группы технологий для оперирования графовыми структурами. Поэтому в ISTC-BD рассматриваются такие альтернативные по отношению к MapReduce решения, как Percolator, Dremel и Pregel, разрабатываемые в Google. Особое внимание уделено системе Pregel, которая специально предназначена для обработки больших графов и для задач графовой аналитики, обеспечивая не только высокую эффективность, но и простоту кодов.

Большие транзакции в реальном времени

Еще семь-восемь лет назад, когда о Больших Данных не было речи, Стоунбрейкер рассуждал об архаичности таких универсальных СУБД, как IBM DB2, Microsoft SQL Server и Oracle, которые в той или иной форме наследуют System R, созданную еще в 70-е годы. Изначально эти базы были рассчитаны на аппаратное обеспечение, существенно отличающееся от современного, что проявляется в специфике их работы с дисками и использовании простых терминалов в качестве рабочих мест, ограничивающих самодеятельность пользователя. В ответ на это Стоунбрейкер с коллегами предложил специализированную базу H-Store для работы в грид-средах, уже в первой реализации показавшую производительность на два порядка выше, чем традиционные СУБД. Дальнейшая судьба H-Store и развиваемой параллельно с ней базы C-store категории shared nothing лежит в плоскости академических исследований, однако на их основе создаются коммерческие версии, в случае H-Store — это VoltDB, а в случае C-store — Vertica. Коммерческие версии представляют замороженные на какой-то момент времени срезы своих академических прототипов, которые могут периодически, но не слишком часто обновляться, а прототипы находятся в процессе перманентного развития.

***

Большие Данные и облака выявили неподготовленность индустрии ИТ к работе с невиданными прежде объемами информации [4], львиная доля которой хранится в реляционных СУБД, — господствовавшая до сих пор идея сведения всего разнообразия данных к таблицам морально устарела. Вместе с тем имеющиеся сегодня продукты, предлагаемые различными стартапами, носят фрагментарный характер и на рынке все еще нет полноценных решений для обработки огромных массивов неструктурированных данных различной природы, поступающих в режиме реального времени из многочисленных источников. С другой стороны, любая новация занимает серьезное место на рынке сразу после того, как инициатива переходит к крупным производителям — в качестве примера достаточно привести IBM PC, а сегодня подобающее место в сегменте Больших Данных решила занять корпорация Intel, поддерживающая лабораторию ISTC-BD в составе МТИ и одной из первых осознавшая, что MapReduce/Hadoop — далеко не единственная технология.

Литература

  1. Леонид Черняк. Свежий взгляд на Большие Данные // Открытые системы.СУБД. — 2013. — № 7. — С. 48–51.
  2. Леонид Черняк. Что делать с хаосом данных? // Открытые системы.СУБД. — 2013. — № 9. — С. 16–20.
  3. Леонид Черняк. Вычисления с акцентом на данные // Открытые системы.СУБД. — 2008. — № 8. — С. 36–39.
  4. Леонид Черняк. Смутное время СУБД // Открытые системы.СУБД. — 2012. — № 2. — С. 16–21.

Леонид Черняк (osmag@osp.ru) — научный редактор, «Открытые системы.СУБД» (Москва).