Проблемы производительности и масштабируемости 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Проблемы производительности и масштабируемости



В системах РБД для выборки небольшого количества нужных записей без полного сканирования таблицы или базы данных используются различные методы доступа, такие как индексы на основе хеширования или B+-деревьев. Такие методы доступа весьма эффективны при выборке по одному ключевому полю (или небольшому числу полей), когда результаты представляют собой малую часть таблицы. Примерами подобных запросов являются: «найти всех 25-летних людей», «найти всех инженеров-программистов» или «найти всех 25-летних инженеров-программистов». Для быстрого ответа на такие запросы можно создать индексы: на столбце «Возраст» таблицы «Сотрудники», на столбце «Занимаемая должность» таблицы «Сотрудники» и на столбцах «Возраст» и «Занимаемая должность» таблицы «Сотрудники» соответственно.

Однако методы доступа в общем случае не помогают при ответе на запросы, результатами которых является значительная часть таблицы. Примерами являются запросы: «найти всех сотрудников женского пола», «найти всех некурящих сотрудников» и «найти молодых сотрудников». Кроме того, методы доступа не приносят пользы, если значения столбца часто изменяются, поскольку такие изменения требуют перестройки методов доступа. Это примеры «простых» запросов, для выполнения которых методы доступа в системах РБД оказываются бесполезными.

Помимо подобных «простых» запросов существуют два класса операций, для которых методы доступа в системах РБД становятся бессильными. К первому классу относятся операции «агрегации», предусматривающие группировку всех записей таблицы и применение к сгруппированным записям агрегатных функций (среднего значения, общего числа, суммы, минимального или максимального значения). Этот тип операций важен в таких приложениях как анализ данных Web-журналов, сегментации данных о заказчиках и т.д. Различные методы, связанные с проблемой эффективности операций этого класса, включая сжатие данных, метод хранения таблицы по полям (хранение каждого поля таблицы как отдельного файла), предварительные вычисления (гиперкубов OLAP, сводных таблиц) на основе детализированных данных, нормализацию (разбиение таблицы на несколько более мелких таблиц) и параллельную обработку. На рынке имеются продукты MaxScan и Ab Initio, предназначенные для решения проблем производительности и масштабируемости при выполнении данного типа операций. В MaxScan применяется метод хранения таблиц по полям, методы хеширования для группировки и агрегирования записей, а также методы параллельной обработки. Производительность и масштабируемость при выполнении агрегатных операций в 10-20 раз превышают показатели систем РБД. Ab Initio является средством ETL, в котором в механизме трансформации данных используются методы повышения производительности.

К другому классу относится операции «перемещения файлов», читающие и/или записывающие файл(ы) целиком. Этот тип операций важен на этапе требующем больших временных затрат «преобразования данных» при создании хранилища данных или на этапе «подготовки данных» при автоматическом извлечении знаний (добыче данных) из имеющихся источников. Этап преобразования данных включает трансформацию формата и представления данных в заданных полях (изменение единицы измерения, изменение формата даты и времени, изменение аббревиатуры и т.д.), слияние двух или более полей в одно, расщепление поля на два или более полей, сортировку таблицы, построение обобщенной таблицы из таблиц, содержащих детализированные данные, создание новой таблицы путем соединения двух или более таблиц, слияние двух или более таблиц в одну, расщепление таблицы на две или более и т.д. К этапу подготовки данных относятся преобразование данных заданного поля в цифровой код (в нейронных сетях), преобразование непрерывных цифровых данных в заданном поле в категорические данные (например, возраст, превышающий 60 лет, считается «пожилым»), добавление к записи нового поля, взятие из таблицы образцов данных, репликация в таблице некоторых записей (для достижения желаемого распределения записей) и т.д.

Сегодня операции перемещения файлов находятся в почти полной зависимости от последовательных операций систем РБД над файлами, т.е. чтения одного или более файлов, создания временного файла и записи результирующего файла или файлов. Частота выполнения подобных операций и объем используемых данных может сделать оправданным применение сервера преобразования/подготовки данных. В идеале такой сервер может состоять из нескольких параллельно работающих процессоров. Независимо от конфигурации процессора на нем должны выполняться программные средства преобразования/подготовки данных, спроектированные для параллельной обработки. Когда это оправданно, нужно применять конвейерную параллельную обработку, при которой получение частичных результатов одной операции инициируют выполнение другой операции без потребности ожидания завершения первой операции. Конвейерная параллельная обработка устраняет потребность в записи во временный файл полных результатов одной операции и в их чтении следующей операцией, что позволяет сэкономить два ввода-вывода файла. Для создания сводных таблиц вместо «родных» функций системы РБД имеет смысл использовать механизм быстрой сортировки, такой как SyncSort, или механизм быстрого агрегирования, такой как MaxScan.

Заключение

 

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

 

Список используемой литературы

1. Алексеева Т.В., Америди Ю.В., Лужецкий М.Г., Информационно-аналитические системы // Московская финансово-промышленная академия, М., 2005

2. http://bourabai.kz/tpoi/warehouse.htm

3. http://www.citforum.ru/database/articles/20030520/

4. http://www.usm.md/do/

5. http://www.bipartner.ru/

6. http://www.iso.ru/cgi-bin/main/journal.cgi?do_what=details&id=211

 



Поделиться:


Последнее изменение этой страницы: 2016-12-30; просмотров: 195; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.133.121.160 (0.005 с.)