Главная » Просмотр файлов » Диссертация

Диссертация (1149731), страница 24

Файл №1149731 Диссертация (Методы и средства эффективного выполнения сценариев аналитической обработки данных на основе оптимизации и приближенных вычислений) 24 страницаДиссертация (1149731) страница 242019-06-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 24)

Это позволяет во многих случаях просто реализовывать новые трансформации путем конфигурациибазовых.5.4.2. Модели стоимостиПоскольку эффективная оптимизация запросов основана на качественныхмоделях стоимости операций (определения 2.29 и 2.30 в главе 2), архитектурадолжна поддерживать определенные пользователем модели стоимости операций, позволять настраивать модели стоимости базовых операций и определятьновые для расширений.Модель стоимости операции (интерфейс 4) реализует методы evaluateCostи evaluateStat, которые принимают на вход параметры вызова и статистикиаргументов операции и позволяют оценить, соответственно, стоимость выполнения операции и статистики результата.5.4.3.

Модели качестваПри оптимизации запросов, допускающих контролируемое приближенноеисполнение, система опирается на модели качества (определение 2.38 в главе 2),129Интерфейс 4 Интерфейс модели стоимостиi n t e r f a c e CostModel {d o u b l e e v a l u a t e C o s t (Map pars , Map [ ] s t a t s ) {// r e t u r n o p e r a t i o n c o s t e s t i m a t i o n// based on o p e r a t i o n c a l l p a r a m e t e r s p a r s// and arguments s t a t i s t i c s s t a t s ;}Map e v a l u a t e S t a t (Map pars , Map s t a t s ) {// r e t u r n e s t i m a t i o n o f r e s u l t s t a t i s t i c s ;}}описывающие связь между вычислительными ресурсами, выделенными на приближенное выполнение операции, и качеством результата.Модель качества (интерфейс 5) реализует метод evaluateCostQuality, который по неизменяемым параметрам вызова и статистикам аргументов операции вычисляет кусочно-линейное представление зависимости между выделенным количеством вычислительных ресурсов и качеством результата, и методmapCostQuality, который определяет параметры приближенного вызова операции на основе определенных условий на ее выполнение (количество вычислительных ресурсов, ожидаемое качество результата или их сочетание).Интерфейс 5 Интерфейс модели качестваi n t e r f a c e QualityModel {L i s t e v a l u a t e C o s t Q u a l i t y (Map pars , Map [ ] s t a t s ) {// r e t u r n p i e c e −w i s e l i n e a r r e p r e s e n t a t i o n// o f o p e r a t i o n q u a l i t y model// based on known p a r s and s t a t s ;}Map mapCostQuality(Map pars , Map [ ] s t a t s , d o u b l e r e s o u r c e s , d o u b l e q u a l i t y ) {// r e t u r n p a r a m e t e r s o f approximate o p e r a t i o n e v a l u a t i o n ;}}1305.4.4.

ОперацииРасширяемость алгебры реализуется в архитектуре системы с помощьюбиблиотеки операций. В этом разделе обсуждаются ее детали и основные классыопераций: первичной выборки, унарные, и бинарные.5.4.4.1. Библиотека операцийБиблиотека операций хранит множество алгебраических операций и всесвязанные с ними структуры. Для каждой операции библиотека операций хранит:∙ Отображение вызова операции внутри системы в вызов ее непосредственного исполнения на вычислителе;∙ Модель стоимости;∙ Модель качества;∙ Релевантные трансформации с участием операции.Каждый алгоритм, реализующий ту или иную алгебраическую операцию,например, соединение методом вложенных циклов или слиянием сортированных списков, регистрируется в библиотеке операций как отдельная операция.Для добавления новой операции в библиотеку необходимо также добавить соответствующие модели стоимости и качества и трансформации.Конкретные операции алгебры могут быть сконфигурированы различными параметрами, например, операция выбора лучших объектов использует параметр, определяющий число объектов, которое необходимо извлечь; операцияфильтра часто определяется соответствующими функциями вычисления значений оценки и построения набора атрибутов; а операция первичной выборкиполучает параметры, определяющие протокол доступа к данным.С точки зрения архитектуры множество алгебраических операций можноразделить на три основных класса: операции первичной выборки, унарные ибинарные.При расширении алгебры новые операции из любой из трех групп должныреализовывать предопределенный в архитектуре системы интерфейс соответствующей группы или являться конфигурацией базовой реализации.131Параметры обработчиков данных и функций, конфигурирующих базовуюреализацию, извлекаются из параметров вызова операции, передаваемых в виде отображения имен параметров на их значения.

В этом случае интерфейсбазовой реализации будет до некоторой степени универсальным, и обработчикиданных смогут работать с различными наборами специфических параметров.Все операции (интерфейс 6) реализуют метод call, который принимает параметры вызова и потоки, представляющие аргументы (число аргументов операции определяется ее арностью), и возвращает результат в виде потока.Интерфейс 6 Интерфейс операцииi n t e r f a c e Operation {I t e r a t o r c a l l (Map pars , I t e r a t o r [ ] a r g s ) {// r e t u r n i t e a r t o r t o stream o f o p e r a t i o n c a l l r e s u l t ;}}В следующих разделах обсуждаются детали реализации операций разныхклассов и приведен псевдокод процессов генерации потока, представляющегорезультат выполнения операции (псевдокод 7,8,9).5.4.4.2.

Операции первичной выборкиРабота с первичными источниками данных осуществляется через операции первичной выборки без аргументов. Например, если первичный источникданных это СУБД, то в системе может быть реализована операция первичнойвыборки, которая в качестве параметров получает информацию необходимуюдля установления соединения с СУБД и SQL запрос, описывающий извлекаемые данные.В архитектуре системы предусмотрена базовая реализация операции первичной выборки. Она может быть сконфигурирована различнымипроцессора-ми извлечения данных для построения специфических реализаций этого классаопераций.Процессор извлечения данных при каждом вызове возвращает объект данных до тех пор, пока все данные не будут извлечены из первичного источника.Базовая реализация операции первичной выборки вызывает процессор извлечения данных до тех пор, пока последний возвращает новые объекты и перена-132правляет собранные объекты в выходной поток.Псевдокод 7 описывает взаимодействие базовой реализации операции первичной выборки с процессором извлечения данных.Псевдокод 7 Операция первыичной выборкиInput: Параметры вызова операции pars.Output: Поток с результатом выполнения операции out.extr=InitilaizeExtractor(pars)out=InitilaizeOutput()loopobj = extr.get()if obj is not empty then out.put(obj)end ifend loopДля расширения алгебры новыми операциями первичной выборки можно реализовать новый процессор извлечения данных и зарегистрировать его всистеме.

После этого новая операция первичной выборки может быть созданакак конфигурация базовой реализации новым процессором извлечения данныхи зарегистрирована в библиотеке операций.5.4.4.3. Унарные операцииАрхитектура системы поддерживает базовую реализацию унарной операции, которая конфигурируетсяунарным обработчиком данных. Базовая реали-зация унарной операции читает объекты из входного потока по одному, асинхронно вызывает унарный обработчик данных, и по мере готовности результатов вычислений перенаправляет объекты в выходной поток.Унарный обработчик данных реализует 2 метода: put, get.

Метод put принимает объект и обрабатывает его определенным образом, например, добавляетновый атрибут или вставляет объект во внутренний список объектов, отсортированный по оценкам. Метод get возвращает результаты вычислений (объекты)по одному, если они доступны в момент вызова метода.Псевдокод 8 описывает взаимодействие базовой реализации унарной операции с унарным обработчиком данных:Структуру и поведение унарной операции можно проиллюстрировать напримере агрегирования. Процесс агрегирования моет быть разбит на 4 унарныеоперации:133Псевдокод 8 Унарная операцияInput: Параметры вызова операции pars, поток аргумента операции arg.Output: Поток с результатом выполнения операции out.up=InitilaizeUnaryProcessor(pars)out=InitilaizeOutput()loopobj = arg.get()if obj is not empty then up.put(obj)end ifend looploopobj = up.get()if obj is not empty then out.put(obj)end ifend loop∙ операция группировки определяет, как объекты должны быть сгруппированы, то есть добавляет метку группы каждому объекту;∙ операция агрегирования строит новые объекты, представляющие группы,на основе входящих объектов с метками группы;∙ операция вычисления оценки группы оперирует с объектами, представляющими группы, и вычисляет для них оценки по определенным правилам;∙ операция вычисления агрегата получает на вход объекты, представляющие группы, и обогащает их новым атрибутом (агрегатом) вычисленнымна основе объектов в этой группе, например, суммой значений некоторогоатрибута.Все эти унарные операции могут быть определены как специфические конфигурации базовой реализации различными унарными обработчиками данных.5.4.4.4.

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

Характеристики

Список файлов диссертации

Методы и средства эффективного выполнения сценариев аналитической обработки данных на основе оптимизации и приближенных вычислений
Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7021
Авторов
на СтудИзбе
260
Средний доход
с одного платного файла
Обучение Подробнее