- Дипломы
- Курсовые
- Рефераты
- Отчеты по практике
- Диссертации
Основные понятия хранилища данных и принцип его построения
Внимание: Акция! Курсовая работа, Реферат или Отчет по практике за 10 рублей!
Только в текущем месяце у Вас есть шанс получить курсовую работу, реферат или отчет по практике за 10 рублей по вашим требованиям и методичке!
Все, что необходимо - это закрепить заявку (внести аванс) за консультацию по написанию предстоящей дипломной работе, ВКР или магистерской диссертации.
Нет ничего страшного, если дипломная работа, магистерская диссертация или диплом ВКР будет защищаться не в этом году.
Вы можете оформить заявку в рамках акции уже сегодня и как только получите задание на дипломную работу, сообщить нам об этом. Оплаченная сумма будет заморожена на необходимый вам период.
В бланке заказа в поле "Дополнительная информация" следует указать "Курсовая, реферат или отчет за 10 рублей"
Не упустите шанс сэкономить несколько тысяч рублей!
Подробности у специалистов нашей компании.
Только в текущем месяце у Вас есть шанс получить курсовую работу, реферат или отчет по практике за 10 рублей по вашим требованиям и методичке!
Все, что необходимо - это закрепить заявку (внести аванс) за консультацию по написанию предстоящей дипломной работе, ВКР или магистерской диссертации.
Нет ничего страшного, если дипломная работа, магистерская диссертация или диплом ВКР будет защищаться не в этом году.
Вы можете оформить заявку в рамках акции уже сегодня и как только получите задание на дипломную работу, сообщить нам об этом. Оплаченная сумма будет заморожена на необходимый вам период.
В бланке заказа в поле "Дополнительная информация" следует указать "Курсовая, реферат или отчет за 10 рублей"
Не упустите шанс сэкономить несколько тысяч рублей!
Подробности у специалистов нашей компании.
Код работы: | W005089 |
Тема: | Основные понятия хранилища данных и принцип его построения |
Содержание
ВВЕДЕНИЕ К середине 80-х гг. XX в. практически полностью завершился первый этап оснащения бизнеса и государственных структур средствами вычислительной техники и начался период бурного развития информационных систем для организации сбора и хранения больших массивов различного рода деловой и служебной информации. В основном это были корпоративные системы, предназначенные для оперативной обработки информации, которые обслуживали бухгалтерию, информационные архивы, телефонные сети, регистрацию документов, банковские операции и т.д. С появлением персональных компьютеров такие системы стали доступными для множества мелких и средних фирм, предприятий и организаций. Системы оперативной обработки информации получили название OLTP (On-Line Transaction Processing — оперативная, то есть в режиме реального времени, обработка транзакций) [2]. К настоящему времени во многих организациях накоплены значительные объемы данных, на основе которых имеется возможность решения разнообразных аналитических и управленческих задач. Проблемы хранения и обработки аналитической информации становятся все более актуальными и привлекают внимание специалистов и фирм, работающих в области информационных технологий. Именно на достижение этих целей и направлены информационные технологии, объединяющиеся под общим названием корпоративные хранилища данных. Хранилище данных — разновидность систем хранения, ориентированная на поддержку процесса анализа данных, обеспечивающая целостность, непротиворечивость и хронологию данных, а также высокую скорость выполнения аналитических запросов. [1]. Одной из главных целей разработки хранилища данных веб-портала является информационное обеспечение компьютерной поддержки принятия решений по всем или по основным видам деятельности организации. Этим обусловливается актуальность темы курсовой работы. Следовательно, требуется создать систему ключевых показателей эффективности (КПЭ), которая консолидирует данные для анализа. Если прибегнуть к созданию классического хранилища данных, то возникнут трудности в поддержке большого числа источников данных. 1 АНАЛИТИЧЕСКИЙ ОБЗОР Объектом автоматизированной системы является корпоративное хранилище данных и база данных выпускников кафедры САПРиУ. Тип автоматизированной системы – автоматизированная информационно-поисковая система (АИПС). Основные понятия хранилища данных и принцип его построения Хранилища данных – это процесс сбора, отсеивания и предварительной обработки данных с целью представления результирующей информации пользователям для статистического анализа и аналитических отчетов. Ральф Кинболл (автор концепции хранилища данных) описывал хранилища данных как «место, где люди могут получить доступ к своим данным». Он же сформулировал основные требования к хранилищам данных: – поддержка высокой скорости данных из хранилища; – поддержка внутренней непротиворечивости данных; – возможность получения и сравнения данных; – наличие удобных утилит просмотра данных хранилища; – полнота и достоверность хранимых данных; – поддержка качественного процесса пополнения данных. Всем перечисленным требованиям удовлетворять зачастую не удается, поэтому для реализации хранилищ данных используют несколько продуктов. Одни из которых представляют средства хранения данных, другие – средства их извлечения и просмотра, в-третьих – средства пополнения хранилища данных [3]. Типичное хранилище данных как правило отличается от реляционной базы данных: 1) Обычная база данных предназначена для того, чтобы помочь пользователям выполнять повседневную работу, тогда как хранилища данных предназначены для принятия решений; 2) Обычная база данных подвержена постоянным изменениям в процессе работы пользователей, а хранилища данных относительно стабильно; данные в нем обновляются согласно расписанию (например, ежечасно, ежедневно, ежемесячно), в идеале, процесс пополнения данными за определенный период времени без изменения прежней информации, находящейся уже в хранилище. 3) Обычная база данных чаще всего является источником данных попадающих в хранилище, кроме того хранилище может пополняться за счет внешних источников (например, сжатия данных). Информация, которая загружается в хранилище, должна интегрироваться в целостную структуру, отвечающую целям анализа данных. При этом минимизируются несоответствия между данными из различных оперативных систем, в хранилище именуются и выражаются единым образом. Данные интегрированы на множестве уровней: на уровне ключа, атрибута, на описательном, структурном уровне и так далее. Общие данные и общая обработка данных консолидированы и являются единообразным для всех данных, которые подобны или схожи в хранилище данных. При этом информация структурируется по разным уровням детализации: – высокая степень суммаризации; – низкая степень суммаризации; – текущая детальная информация. Хранилища можно рассматривать как набор моментальных снимков состояния данных: можно восстановить картинку на любой момент времени. Атрибут времени всегда явно присутствует в структурах данных хранилища. Попав однажды в хранилище, данные уже никогда не изменяются, а только пополняются новыми данными из оперативных систем, где данные постоянно меняются. Новые данные по мере поступления обобщаются с уже накопленной информацией в хранилище данных. Сравнительный обзор СУБД, представленных на рынке специализированного программного обеспечения Рассмотрим основные характеристики некоторых СУБД - лидеров на рынке программ, предназначенных как для разработчиков информационных систем, так и для конечных пользователей. В рассматриваемую группу программных продуктов вошли: MySQL Workbench 6.3; Oracle database 11g; dBASE IV 2.0; PostgreSQL 9.6; В таблице 1 показаны места (условные), которые занимают рассматриваемые программные средства относительно друг друга. Например, 1 означает, что в указанной позиции данная программа обладает лучшими характеристиками, 5 - худшими, нет - указанной характеристикой данная программа не обладает. Таблица 1 – Характеристики СУБД Наименование dBASE IV 2.0 MySQL Workbench 6.3 PostgreSQL 9.6 Oracle database 11g Производительность 4 3 2 1 Обеспечение целостности данных на уровне базы данных нет 2 3 2 Обеспечение безопасности 3 2 2 1 Работа в многопользовательских средах 3 2 1 1 Импорт-экспорт 3 1 1 2 Доступ к данным SQL 2 1 2 2 Возможности запросов и инструментальные средства разработки прикладных программ 3 3 1 2 Описание и сравнение кэш серверов для хранения данных Кэш - промежуточный с быстрым доступом, содержащий информацию, которая может быть запрошена с наибольшей вероятностью. Доступ к данным в кэше осуществляется быстрее, чем выборка исходных данных из более медленной памяти или удаленного источника, однако ее объем существенно ограничен по сравнению с хранилищем исходных данных. Redis (REmote DIctionary Server) — это нереляционная высокопроизводительная СУБД. Redis хранит все данные в памяти, доступ к данным осуществляется по ключу. Опционально копия данных может храниться на диске. Этот подход обеспечивает производительность, в десятки раз превосходящую производительность реляционных СУБД, а также упрощает секционирование (шардинг) данных. В первом приближении может показаться, что Redis мало чем отличается от Memcached. И действительно, как Redis, так и Memcached хранят данные в памяти и осуществляют доступ к ним по ключу. Оба написаны на Си и распространяются под лицензией BSD. Но в действительности, между Redis и Memcahced больше различий, чем сходства. В первую очередь, Redis умеет сохранять данные на диск. Можно настроить Redis так, чтобы данные вообще не сохранялись, сохранялись периодически по принципу copy-on-write, или сохранялись периодически и писались в журнал (binlog). Таким образом, всегда можно добиться требуемого баланса между производительностью и надежностью. Redis, в отличие от Memcached, позволяет хранить не только строки, но и массивы (которые могут использоваться в качестве очередей или стеков), словари, множества без повторов, большие массивы бит (bitmaps), а также множества, отсортированные по некой величине. Разумеется, можно работать с отдельными элементами списков, словарей и множеств. Как и Memcached, Redis позволяет указать время жизни данных (двумя способами — «удалить тогда-то» и «удалить через …»). По умолчанию все данные хранятся вечно. Интересная особенность Redis заключается в том, что это — однопоточный сервер. Такое решение сильно упрощает поддержку кода, обеспечивает атомарность операций и позволяет запустить по одному процессу Redis на каждое ядро процессора. Разумеется, каждый процесс будет прослушивать свой порт. Решение нетипичное, но вполне оправданное, так как на выполнение одной операции Redis тратит очень небольшое количество времени (порядка одной стотысячной секунды). В Redis есть репликация. Репликация с несколькими главными серверами не поддерживается. Каждый подчиненный сервер может выступать в роли главного для других. Репликация в Redis не приводит к блокировкам ни на главном сервере, ни на подчиненных. На репликах разрешена операция записи. Когда главный и подчиненный сервер восстанавливают соединение после разрыва, происходит полная синхронизация (resync). Также Redis поддерживает транзакции (будут последовательно выполнены либо все операции, либо ни одной) и пакетную обработку команд (выполняем пачку команд, затем получаем пачку результатов). Притом ничто не мешает использовать их совместно. Еще одна особенность Redis — поддержка механизма publish/subscribe. С его помощью приложения могут создавать каналы, подписываться на них и помещать в каналы сообщения, которые будут получены всеми подписчиками. Также хотелось бы отметить следующее: Redis очень прост и полностью документирован; На данный момент длина ключа в Redis может составлять до 231 байт, длина строки — до 512 Мб, списки и множества могут содержать до 232 элементов, один экземпляр Redis может хранить до 232 ключей; На одном сервере можно держать несколько пронумерованных баз данных, по умолчанию их число равно 16-и. Приложения, использующие Redis, удобно профилировать (команда slowlog) и отлаживать (команда monitor); Redis написан таким образом, что резервную копию его базы данных можно сделать простым копированием файла дампа, даже во время работы сервера; Официально Windows не поддерживается, но есть неофициальные сборки Redis для Windows; Доступ к серверу можно защитить паролем; Разработка спонсируется компанией VMWare; В настоящее время ведется работа над Redis Cluster; Redis используется в Tumblr, Disqus, Skype, StackOverflow, Instagram, GitHub, Flickr, Digg и много где еще; Варианты использования Redis: Хранилище сессий и профилей пользователей; Сервер очередей, плюс держим в уме механизм publish/subscribe; Полноценная замена Memcached, притом в случае с Redis мы получим репликацию, более длинные ключи и значения, возможность восстановления кэша с диска и тп; Место для хранения количества пользователей онлайн, кодов капч, различных флагов, саджестов поисковых запросов; СУБД для небольших приложений — сокращалок ссылок, имиджбордов, возможно даже блогов; Роль «словаря» в шардинге, то есть сервер, который знает, какие шарды на каких серверах искать; Хранилище промежуточных результатов вычислений при обработке больших объемов данных; Memcached — программное обеспечение, реализующее сервис кэширования данных в оперативной памяти на основе хеш-таблицы. С помощью клиентской библиотеки (для C/C++, Ruby, Perl, PHP, Python, Java, .Net и др.) позволяет кэшировать данные в оперативной памяти множества доступных серверов. Распределение реализуется путём сегментирования данных по значению хэша ключа по аналогии с сокетами хэш-таблицы. Клиентская библиотека, используя ключ данных, вычисляет хэш и использует его для выбора соответствующего сервера. Ситуация сбоя сервера трактуется как промах кэша, что позволяет повышать отказоустойчивость комплекса за счет наращивания количества memcached серверов и возможности производить их горячую замену. Сравнение кэш серверов представлено в таблице 3. Таблица 3 — Сравнение кэш серверов Характеристика/Название Redis Memcached Скорость чтения/записи + + Персистентность + - Структуры данных + - Репликация + + Проанализировав сравниваемые кэш серверы по таблице 3, был выбран кэш сервер Redis. Основными критериями являются скорость чтения и записи, использование структур данных, включающих хранение массивов, и персистентность, позволяющая периодически сбрасывать данные из оперативной памяти в постоянную, что исключит потерю данных при «падении» сервера. 1.5 Проектирование архитектуры корпоративного хранилища данных веб-портала При проектировании информационного обеспечения для Интернет-ресурса с ограниченным кругом пользователей, к числу которых относится портал выпускников института, существует ряд особенностей: необходимо обеспечить организацию хранения данных двух типов – интегрированную и распределенную; тип данных в системе относится к классу гипермедиа; с учетом латентности сети Интернет данные портала относятся к классу больших данных; наличие персональных данных требует проектирования дополнительного модуля безопасности в общей системе информационной безопасности [1]. Отдельной задачей является проверка достоверности информации. Для реализации поставленной задачи с учетом перечисленных особенностей была разработана архитектура консолидированного хранилища данных, позволяющая использовать произвольные источники данных (мультимедиа любого типа, документирование любых форматов, комбинирование разнородных источников информации – гипертекстовые данные и т.д.). Для создания модуля безопасности выполнено определение круга пользователей базы данных и проведена оценка возможности разграничения полномочий пользователей. Архитектура корпоративного хранилища веб-портала, протестированная на примере выпускников кафедры САПРиУ 1997 года, представлена на рисунке. Рисунок 2 – Архитектура организации областей хранения данных в корпоративном хранилище веб-портала САПРиУ Архитектура организации областей хранения данных в корпоративном хранилище включает: - область временного хранения данных (СУБД, csv, xml-файлов, web-сервисов и т.д.) - предназначена для временного хранения данных, извлеченных из систем-источников; - область постоянного хранения данных (детальные данные, агрегаты, витрины данных (общая информация о выпускниках и т.д.) - детальные данные (System of records) – область хранения детальных данных, приведенных к структуре модели данных корпоративного хранилища, прошедших сортировку; агрегаты (Summary area) – сгруппированные по времени (чаще просуммированные) детальные данные; витрины данных (Data Marts) – тематические наборы данных, хранящиеся в виде пригодном для их анализа; - область интерфейсов обмена данными (таблицы баз данных, в которых хранятся данные, подготовленные для передачи) - таблицы БД, в которых храняться подготовленные для передачи в другие информационные системы данных из области постоянного хранения данных; - область метаданных, содержащих информацию для настройки и использования (описание структур таблиц, взаимосвязей между ними) - являются важной частью архитектуры хранилища данных. Метаданные - это данные, описывающие правила, по которым «живет» хранилище. Например, с точки зрения базы данных хранилища, метаданными является описание структур таблиц, взаимосвязей между ними, правил секционирования, описание витрин данных и т.п. 2 1 12....................... |
Для получения полной версии работы нажмите на кнопку "Узнать цену"
Узнать цену | Каталог работ |
Похожие работы: