Банк рефератов содержит более 364 тысяч рефератов, курсовых и дипломных работ, шпаргалок и докладов по различным дисциплинам: истории, психологии, экономике, менеджменту, философии, праву, экологии. А также изложения, сочинения по литературе, отчеты по практике, топики по английскому.
Полнотекстовый поиск
Всего работ:
364139
Теги названий
Разделы
Авиация и космонавтика (304)
Административное право (123)
Арбитражный процесс (23)
Архитектура (113)
Астрология (4)
Астрономия (4814)
Банковское дело (5227)
Безопасность жизнедеятельности (2616)
Биографии (3423)
Биология (4214)
Биология и химия (1518)
Биржевое дело (68)
Ботаника и сельское хоз-во (2836)
Бухгалтерский учет и аудит (8269)
Валютные отношения (50)
Ветеринария (50)
Военная кафедра (762)
ГДЗ (2)
География (5275)
Геодезия (30)
Геология (1222)
Геополитика (43)
Государство и право (20403)
Гражданское право и процесс (465)
Делопроизводство (19)
Деньги и кредит (108)
ЕГЭ (173)
Естествознание (96)
Журналистика (899)
ЗНО (54)
Зоология (34)
Издательское дело и полиграфия (476)
Инвестиции (106)
Иностранный язык (62791)
Информатика (3562)
Информатика, программирование (6444)
Исторические личности (2165)
История (21319)
История техники (766)
Кибернетика (64)
Коммуникации и связь (3145)
Компьютерные науки (60)
Косметология (17)
Краеведение и этнография (588)
Краткое содержание произведений (1000)
Криминалистика (106)
Криминология (48)
Криптология (3)
Кулинария (1167)
Культура и искусство (8485)
Культурология (537)
Литература : зарубежная (2044)
Литература и русский язык (11657)
Логика (532)
Логистика (21)
Маркетинг (7985)
Математика (3721)
Медицина, здоровье (10549)
Медицинские науки (88)
Международное публичное право (58)
Международное частное право (36)
Международные отношения (2257)
Менеджмент (12491)
Металлургия (91)
Москвоведение (797)
Музыка (1338)
Муниципальное право (24)
Налоги, налогообложение (214)
Наука и техника (1141)
Начертательная геометрия (3)
Оккультизм и уфология (8)
Остальные рефераты (21692)
Педагогика (7850)
Политология (3801)
Право (682)
Право, юриспруденция (2881)
Предпринимательство (475)
Прикладные науки (1)
Промышленность, производство (7100)
Психология (8692)
психология, педагогика (4121)
Радиоэлектроника (443)
Реклама (952)
Религия и мифология (2967)
Риторика (23)
Сексология (748)
Социология (4876)
Статистика (95)
Страхование (107)
Строительные науки (7)
Строительство (2004)
Схемотехника (15)
Таможенная система (663)
Теория государства и права (240)
Теория организации (39)
Теплотехника (25)
Технология (624)
Товароведение (16)
Транспорт (2652)
Трудовое право (136)
Туризм (90)
Уголовное право и процесс (406)
Управление (95)
Управленческие науки (24)
Физика (3462)
Физкультура и спорт (4482)
Философия (7216)
Финансовые науки (4592)
Финансы (5386)
Фотография (3)
Химия (2244)
Хозяйственное право (23)
Цифровые устройства (29)
Экологическое право (35)
Экология (4517)
Экономика (20644)
Экономико-математическое моделирование (666)
Экономическая география (119)
Экономическая теория (2573)
Этика (889)
Юриспруденция (288)
Языковедение (148)
Языкознание, филология (1140)

Реферат: К свободе от проблемы Больших Данных

Название: К свободе от проблемы Больших Данных
Раздел: Рефераты по информатике, программированию
Тип: реферат Добавлен 13:26:20 13 января 2014 Похожие работы
Просмотров: 78 Комментариев: 13 Оценило: 0 человек Средний балл: 0 Оценка: неизвестно     Скачать

Сергей Кузнецов

Пока исследователи и разработчики умудряются справиться с вчерашними «большими данными», появляются новые Большие Данные новых видов, с которыми совладать по-прежнему невозможно. В этой связи сегодняшний всплеск ажиотажа вокруг Больших Данных во многом является искусственным. Вечность и призрачность проблемы вряд ли позволяют рассчитывать на ее полное и окончательное решение. Это плохо для пользователей и разработчиков приложений, но гарантирует постоянную занятость исследователей и разработчиков СУБД. Конечно, их деятельность напоминает попытки моряков доплыть до миража, навеянного фата-морганой, но сами эти попытки увлекательны и полезны, поскольку поддерживают само развитие человечества.

Большие Данные и перспективные СУБД

Принято считать, что традиционные РСУБД позволяют эффективно управлять транзакционными и аналитическими базами данных. Транзакционные предназначены для поддержки оперативных транзакционных приложений (системы резервирования, управления логистикой, торговые системы и т. д.), работающих с данными, отражающими текущее состояние той или иной области деятельности, причем быстро и часто обновляемыми. Аналитические базы содержат исторические данные, поступающие из разных источников, одним из которых являются транзакционные базы данных.

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

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

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

перенос вычислений как можно ближе к данным;

использование архитектуры без совместно используемых ресурсов (sharing nothing);

эффективное разделение данных по узлам системы с возможностью их репликации в нескольких узлах.

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

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

Третий принцип обеспечивает эффективную параллельную обработку транзакций или эффективную поддержку оперативной аналитической обработки данных.

Все три принципа далеко не новы и датированы 80-ми годами прошлого века. Например, на принципах sharing nothing основывается популярная и эффективная параллельная СУБД Teradata, успешно используемая уже на протяжении нескольких десятков лет. Однако именно сегодня все три принципа удалось успешно применить при создании реально масштабируемых параллельных транзакционных и аналитических СУБД.

Применение этих принципов является необходимым, но не достаточным для реализации обеих категорий систем, и в каждом случае приходится прибегать к дополнительным идеям. В частности, транзакционные параллельные СУБД оказывается выгодно основывать на давно известных идеях обработки в основной памяти, а для обеспечения надежности данных применять развитую репликацию. В аналитических же системах более эффективна технология хранения табличных данных во внешней памяти по столбцам в совокупности с поддержкой разнообразных избыточных структур данных (идеи хранения данных по столбцам не новы и использовались, например, в аналитической СУБД Sybase IQ).

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

Масштабируемая параллельная серверная бизнес-аналитика

Итак, сообщество разработчиков баз данных сравнительно хорошо научилось строить горизонтально масштабируемые параллельные аналитические СУБД, способные поддерживать эффективное выполнение стандартных аналитических запросов. Но как быть с принципом приближения вычислений к данным? Если на сервере СУБД работают лишь базовые средства аналитики, то в любом мало-мальски серьезном аналитическом приложении придется перетягивать крупные объемы аналитических данных на рабочие станции или в лучшем случае — на промежуточные аналитические серверы. Единственным способом устранения этого дефекта является расширение серверных аналитических средств новыми аналитическими функциями, поставляемыми бизнес-аналитиками. На первый взгляд, соответствующие возможности предоставляют средства SQL, позволяющие пользователям определять собственные функции, процедуры и типы данных, но SQL не обеспечивает распараллеливания программ. Другими словами, аналитик вынужден писать параллельные программы для выполнения на стороне сервера при обработке будущих аналитических запросов, причем кусочки этих программ должны будут выполняться поблизости от соответствующих кусочков данных. Как это сделать?

Единственным распространенным методом параллельного программирования в кластерной среде является MPI — интерфейс передачи сообщений, позволяющий программисту указать расположение параллельно выполняемых частей программы в узлах кластеров и обеспечить их взаимодействие для формирования окончательного результата. Программирование с использованием MPI представляет собой сложность даже для профессиональных программистов. Можно ли сделать профессиональными программистами бизнес-аналитиков, которым ближе математическая статистика, а не методы параллельного программирования? Скорее всего, типичный аналитик, которому будет предложено приступить к решению такой задачи, предпочтет пользоваться старыми пакетами на своей рабочей станции, что загубит всю идею горизонтальной масштабируемости. На первый взгляд, проблема кажется неразрешимой, равно как неразрешимой кажется и более общая проблема обеспечения удобных и эффективных средств параллельного программирования для программистов широкого профиля. Недавно удалось найти подход и к решению этой проблемы, по крайней мере первой ее части (здесь следует отметить заслуги разработчиков параллельных СУБД Greenplum и Asterdata), — это MapReduce.

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

MapReduce концептуально несравненно проще, чем MPI, — программисту нужно понимать только одну идею того, что данные надо сначала распределить по узлам кластера, а потом обработать. Результат обработки можно снова распределить по узлам кластера и снова обработать и т. д. От программистов приложений требуется лишь обеспечить код двух функций: map — разделение данных по узлам кластера и reduce — обработка данных в полученных разделах. Такая парадигма программирования гораздо проще, чем MPI, но, что важно, она понятийно близка аналитикам.

Традиционная аналитика имеет дело с данными, явно или неявно представляемыми в виде многомерного куба. Первый и, по-видимому, революционный шаг на пути к обеспечению аналитической обработки табличных SQL-ориентированных данных в свое время обеспечивала работа Джима Грея, предложившего оператор roll up динамического построения многомерного куба в реляционной базе данных. Именно Грей, во-первых, понял, что традиционный оператор group by позволяет получить грань многомерного куба, а общая процедура построения многомерного куба сводится к повторному выполнению оператора group by до тех пор, пока не будет получено нужное число измерений. Во-вторых, Грей первым понял, что для выполнения операции roll up требуется столько же усилий, сколько и для выполнения простого group by. Что же такое тогда аналитика в контексте SQL-ориентированной СУБД? Грубо говоря, она сводится к применению различных агрегатных аналитических функций к граням куба.

Операцию group by можно было бы с успехом считать операцией «партиционирования» таблицы в соответствии со значениями заданного столбца группировки, а после этого можно было бы легко обрабатывать полученные группы параллельно. Можно считать, что функция map в программе MapReduce — это обобщенный оператор group by, обеспечивающий разделение исходных данных по некоторым явно запрограммированным пользователем правилам. Функцию reduce можно считать обобщением агрегатной функции в SQL. Получается, что аналитик при написании новой аналитической функции не обязан выходить за пределы того набора понятий, к которому он привык, работая с традиционной аналитической СУБД.

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

Оценить/Добавить комментарий
Имя
Оценка
Комментарии:
Хватит париться. На сайте FAST-REFERAT.RU вам сделают любой реферат, курсовую или дипломную. Сам пользуюсь, и вам советую!
Никита02:28:03 06 ноября 2021
.
.02:28:02 06 ноября 2021
.
.02:28:00 06 ноября 2021
.
.02:27:58 06 ноября 2021
.
.02:27:56 06 ноября 2021

Смотреть все комментарии (13)
Работы, похожие на Реферат: К свободе от проблемы Больших Данных

Назад
Меню
Главная
Рефераты
Благодарности
Опрос
Станете ли вы заказывать работу за деньги, если не найдете ее в Интернете?

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



Результаты(294399)
Комментарии (4230)
Copyright © 2005 - 2024 BestReferat.ru / реклама на сайте