Распределенные хранилища данных

advertisement
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
«ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»
Институт математики и компьютерных наук
Кафедра программного обеспечения
Ялдыгин Валерий Борисович
РАСПРЕДЕЛЕННЫЕ ХРАНИЛИЩА ДАННЫХ
Учебно-методический комплекс.
Рабочая программа для студентов направления
02.04.03 Математическое обеспечение и администрирование информационных систем.
Магистерская программа «Высокопроизводительные вычислительные системы»
(очная форма обучения)
Тюменский государственный университет
2015
2
Ялдыгин В.Б. Распределенные хранилища данных. Учебно-методический
комплекс. Рабочая программа для студентов направления 02.04.03 Математическое
обеспечение и администрирование информационных систем, магистерская программа
«Высокопроизводительные вычислительные системы» (очная форма обучения). Тюмень,
2015, 16 стр.
Рабочая программа составлена в соответствии с требованиями ФГОС ВО с учетом
рекомендаций и ПрОП ВО по направлению подготовки.
Рабочая программа дисциплины опубликована на сайте ТюмГУ: Распределенные
хранилища данных [электронный ресурс] / Режим доступа: http://www.umk3plus.utmn.ru,
свободный.
Рекомендовано к изданию кафедрой программного обеспечения. Утверждено
директором Института математики и компьютерных наук.
ОТВЕТСТВЕННЫЙ РЕДАКТОР: Захарова И.Г., д.п.н., профессор.
© Тюменский государственный университет, 2015.
© Ялдыгин В.Б., 2015.
3
1. Пояснительная записка.
1.1. Цели и задачи дисциплины
Цель дисциплины: дать знания, умения и навыки, позволяющие реализовывать,
администрировать и разрабатывать системы на основе распределенных хранилищ
данных.
Задачи дисциплины:
- дать знания в области теоретических основ распределенных хранилищ данных;
- научить принимать решение о целесообразности применения распределенных
хранилищ данных;
- дать навыки работы с распределенными хранилищами данных на базе СУБД Oracle,
Apache HBase, Apache Cassandra.
1.2. Место дисциплины в структуре основной образовательной программы
Дисциплина «Распределенные хранилища данных» относится к дисциплинам по
выбору вариативной части блока 1 Федерального государственного образовательного
стандарта высшего образования направления подготовки 02.04.03 Математическое
обеспечение и администрирование информационных систем. В соответствии с учебным
планом образовательной программы изучение данной дисциплины предусмотрено в 2-м
семестре 1-го года обучения. Дисциплина «Распределенные хранилища данных»
опирается на материалы таких дисциплин, как «Иностранный язык профессиональной
коммуникации», «Иностранный язык в компьютерных технологиях», «Алгоритмы и
технологии разработки параллельных программ», «Администрирование распределенных
систем», а также использует знания в области баз данных и систем управления базами
данных.
Таблица 1.
Разделы дисциплины и междисциплинарные связи с обеспечиваемыми
(последующими) дисциплинами
№
п/п
Наименование обеспечиваемых
(последующих) дисциплин
1.
2.
3.
Управление проектами
Преддипломная практика
Научно-исследовательская
работа
Выпускная квалификационная
работа
4.
Темы дисциплины, необходимые для
изучения обеспечиваемых (последующих)
дисциплин
1.1
1.2
1.3
1.4
1.5
2.1
2.2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
1.3. Компетенции обучающегося, формируемые в результате освоения данной
дисциплины.
В результате освоения дисциплины «Распределенные хранилища данных» выпускник
должен обладать следующими компетенциями:
4
- владение теоретическими основами информатики как науки; знание проблем
современной информатики, ее категорий и связей с другими научными дисциплинами,
понимание основных этапов и тенденций развития программирования, математического
обеспечения и информационных технологий (ОПК-4);
- владение навыками выбора, проектирования, реализации, оценки качества и анализа
эффективности программного обеспечения для решения задач в различных предметных
областях (ОПК-12).
1.4. Перечень планируемых результатов обучения по дисциплине:
В результате освоения дисциплины обучающийся должен:
Знать: определения из области распределенных хранилищ данных, основные цели и
проблемы использования распределенных хранилищ данных, перспективы
использования распределенных хранилищ данных.
Уметь: оценивать достоинства и недостатки применения распределенных хранилищ
данных, разрабатывать распределенные системы на основе баз данных Oracle, Apache
HBase, Apache Cassandra.
Владеть: навыками администрирования распределенных хранилищ данных Oracle,
HBase, Cassandra, разработки приложений для работы с распределенными хранилищами
данных.
2. Структура и трудоемкость дисциплины.
Семестр 2. Форма промежуточной аттестации – зачет. Общая трудоемкость
дисциплины составляет 3 зачетные единицы, 108 академических часов, из них 69,9 часов,
выделенных на контактную работу с преподавателем (34 часа лекций, 34 часа
лабораторных занятий, 1,9 часа – иные виды работ), 38,1 часа, выделенных на
самостоятельную работу.
Таблица 2.
Вид учебной работы
Контактная работа:
Аудиторные занятия (всего)
В том числе:
Лекции
Практические занятия (ПЗ)
Семинары (С)
Лабораторные работы (ЛР)
Иные виды работ
Самостоятельная работа (всего)
Общая трудоемкость
зач. ед.
часов
Вид промежуточной аттестации
5
Всего
часов
69,9
68
34
34
1,9
38,1
3
108
Семестры
2
69,9
68
34
34
1,9
38,1
3
108
зачет
3. Тематический план.
Таблица 3.
Из них в интерактивной форме
Формы
контроля
Итого часов по теме
Самостоятельная работа
Лабораторные занятия
Лекции
Семинарские
(практические) занятия
Виды
учебной
работы и СРС (в
часах)
Неделя семестра
№ Тема
1
2
3
4
5
6
7
8
9
Модуль 1. Основные сведения о распределенных хранилищах данных
1.1 Предварительные
1-2
4
4
2
10
2
сведения
о
распределенных
хранилищах данных
Опрос
при
сдаче
лабораторной
работы
1.2 Основные
цели
создания
распределенных
хранилищ данных
3-4
4
4
4
12
2
Опрос
при
сдаче
лабораторной
работы
1.3 Проблемы
распределенных систем
5-6
4
4
4
12
2
Опрос
при
сдаче
лабораторной
работы
1.4 Независимость
СУБД
7-8
4
4
2
10
2
Опрос
при
сдаче
лабораторной
работы
9-10
4
4
4
12
2
Опрос
при
сдаче
лабораторной
работы
20
20
16
56
10
1.5 Базы данных NoSQL
Всего
от
6
10
Модуль 2. Администрирование распределенных хранилищ данных и разработка
приложений
2.1 База данных
HBase
Apache
11-13
6
6
10
22
6
Опрос
при
сдаче
лабораторной
работы
2.2 База данных
Cassandra
Apache
14-17
8
8
12,1
28,1
4
Опрос
при
сдаче
лабораторной
работы
Всего
14
14
22,1
50,1
10
Итого (часов)
34
34
38,1
Из
них
в
интерактивной форме
18
Иные виды работ
1,9
Итого
(часов),
с
учетом иных видом
работ
108
4. Содержание дисциплины.
Модуль 1.
Тема 1.1. Предварительные сведения о распределенных хранилищах данных.
Система распределенных баз данных. Узлы. Распределенная система управления
базами данных (РСУБД). Однородность. Преимущества распределенных хранилищ
данных. Примеры распределенных систем. Основной принцип распределенных систем.
Тема 1.2. Основные цели создания распределенных хранилищ данных.
Локальная независимость. Отсутствие зависимости от центрального узла.
Непрерывное функционирование. Независимость от расположения. Независимость от
фрагментации. Независимость от репликации. Обработка распределенных запросов.
Управление распределенными транзакциями. Аппаратная независимость. Независимость
от операционной системы. Независимость от сети. Независимость от типа СУБД.
Тема 1.3. Проблемы распределенных систем.
Проблема скорости обработки. Минимизация использования сетей. Обработка
запросов, глобальная и локальная оптимизация запросов. Управление каталогом.
7
Распространение обновлений. Управление восстановлением, двухфазная фиксация
транзакций. Управление параллельностью. Глобальная взаимоблокировка.
Тема 1.4. Независимость от СУБД.
Шлюзы. Проблемы семантического несоответствия. Промежуточное программное
обеспечение для доступа к данным.
Тема 1.5. Базы данных NoSQL.
Основные характеристики. NoSQL и SQL. Виды баз данных NoSQL. Документоориентированные СУБД. Базы данных на основе графов. Базы данных с хранением
данных на основе семейства столбцов. Хранилища «ключ-значение».
Модуль 2.
Тема 2.1. База данных Apache HBase.
Основные возможности HBase. Файловая система HDFS. Поддержка компрессии
столбцов. Операции в памяти со столбцами. Фильтр Блума.
Тема 2.2. База данных Apache Cassandra.
Основные возможности Apache Cassandra. Hash-система Dynamo. Модель хранения
данных на основе семейства столбцов. Механизмы устойчивости к сбоям. Язык Cassandra
Query Language.
Установка Oracle Data Provider for .NET (ODP .NET). Использование Oracle
Developer Tools for Visual Studio. Получение и обновление данных с помощью ODP .NET.
Вызов хранимых процедур из приложения ODP .NET. Разработка хранимых процедур
.NET.
5.
Планы семинарских занятий.
Семинарские занятия учебным планом не предусмотрены
6.
Темы лабораторных работ (Лабораторный практикум).
Тема 1.1. Использование распределенного хранилища данных на базе СУБД Oracle.
Использование связей с базами данных (database links).
Тема 1.2. Администрирование распределенных хранилищ данных на базе СУБД
Oracle. Автономность баз данных. Аудит связей с базами данных. Инструменты для
администрирования (Enterprise Manager, поддержка SNMP).
Тема 1.3. Анализ скорости обработки данных в распределенном хранилище данных
(на примере системы на базе СУБД Oracle). Сравнение скорости обработки данных,
распределенных между двумя серверами баз данных Oracle, и данных, находящихся на
одном сервере. Применение методов увеличения производительности.
Тема 1.4. Реализация неоднородного (гетерогенного) распределенного хранилища
данных на базе СУБД Oracle и СУБД MS SQL Server. Анализ возникающих сложностей.
8
Тема 1.5. Установка и настройка базы данных Apache HBase. Администрирование
базы данных Apache HBase.
Тема 2.1. Разработка приложений на языке Java для работы с базой данных HBase.
Тема 2.2. Установка и настройка базы данных Apache Cassandra. Основные запросы
на языке Cassandra Query Language.
7.
Примерная тематика курсовых работ
Курсовые работы учебным планом не предусмотрены.
8.
Учебно-методическое обеспечение и планирование самостоятельной работы
студентов
Таблица 5.
Планирование самостоятельной работы студентов
№
Модули и темы
Виды СРС
обязательные
дополнит.
Неделя
семестра
Объем
часов
1-2
2
3-4
4
5-6
4
7-8
2
9-10
4
Модуль 1. Основные
сведения
о
распределенных
хранилищах данных
1.1
1.2
1.3
1.4
1.5
Предварительные
сведения
о
распределенных
хранилищах данных
Выполнение
практических
заданий, тестовых
и контрольных
работ
Работа с
литературой,
источниками
Интернет
Основные
цели
создания
распределенных
хранилищ данных
Выполнение
практических
заданий, тестовых
и контрольных
работ
Работа с
литературой,
источниками
Интернет
Проблемы
распределенных
систем
Выполнение
практических
заданий, тестовых
и контрольных
работ
Выполнение
практических
заданий, тестовых
и контрольных
работ
Выполнение
практических
заданий, тестовых
и контрольных
работ
Работа с
литературой,
источниками
Интернет
Независимость
СУБД
от
Базы данных NoSQL
Всего
Работа с
литературой,
источниками
Интернет
Работа с
литературой,
источниками
Интернет
16
9
Модуль 2.
Администрирование
распределенных
хранилищ данных и
разработка
приложений
2.1
2.2
База данных Apache
HBase
База данных Apache
Cassandra
Выполнение
практических
заданий, тестовых
и контрольных
работ
Выполнение
практических
заданий, тестовых
и контрольных
работ
Работа с
литературой,
источниками
Интернет
Работа с
литературой,
источниками
Интернет
11-13
10
14-17
12,1
Всего
22,1
Итого
38,1
10
9.
Фонд оценочных средств для проведения промежуточной аттестации по итогам освоения дисциплины
9.1. Перечень компетенций с указанием этапов их формирования в процессе освоения образовательной программы (выдержка из
семестр
матрицы компетенций):
1
2
3
4
ОПК-4 – владение теоретическими основами информатики как науки;
ОПК-12 – владение навыками выбора, проектирования, реализации,
знание проблем современной информатики, ее категорий и связей с
оценки качества и анализа эффективности программного
другими научными дисциплинами, понимание основных этапов и
обеспечения для решения задач в различных предметных областях
тенденций развития программирования, математического обеспечения и
информационных технологий
Дисциплины учебного плана
Б1 История и методология компьютерных наук
Б1 Методика преподавания компьютерных наук
Б1 Алгоритмы и технологии разработки параллельных программ
Б1 Системы компьютерной математики
Б1 Вычислительный эксперимент c использованием пакета MatLab
Б1 Дополнительные главы дискретной математики
Б1 Дополнительные главы математической логики
Б1 Современные технологии программирования
Б1 Алгоритмы и технологии разработки параллельных программ
Б1 Распределенные хранилища данных
Б1 Современные технологии программирования
Б1 Построение информационных приложений на базе
Б1 Распределенные хранилища данных
промышленных СУБД
Б1 Построение информационных приложений на базе промышленных
СУБД
Б1 Системы имитационного моделирования
Б1 Управление проектами
Б1 Задачи оптимального управления
Б1 Метрология качества программного обеспечения
Б1 Открытые технологии разработки программного обеспечения
Б1 Экономико-правовые основы рынка программного обеспечения
Б1 Разработка мобильных приложений
(продвинутый курс)
Б2 Преддипломная практика
Код
компетенции
9.2. Описание показателей и критериев оценивания компетенций на различных этапах их формирования, описание шкал
оценивания
ОПК-4
ОПК12
Критерии в соответствии с уровнем освоения ОП
пороговый
базовый (хор.)
(удовл.)
Оценочные
средства
Лекции,
лабораторные
работы
Опрос на
лекциях
Проекты по
разработке
программного
продукта
Зачет
Лекции,
лабораторные
работы
Опрос на
лекциях
Проекты по
разработке
программного
продукта
повышенный
(отл.)
Знает: основные
тенденции развития
технологий
распределенных
хранилищ данных.
Знает: проблемы и
тенденции развития
технологий
распределенных
хранилищ данных.
Знает: проблемы и
тенденции развития
технологий
распределенных хранилищ
данных на различных
платформах.
Умеет: осуществлять
выбор технологий для
создания приложений на
базе распределенных
хранилищ данных.
Умеет: осуществлять
выбор технологий для
создания приложений на
базе распределенных
хранилищ данных с
учетом тенденций их
развития.
Умеет: осуществлять выбор
технологий для создания
приложений на базе
распределенных хранилищ
данных с учетом их
проблем и тенденций
развития.
Владеет: теоретическими
основами технологий
распределенных
хранилищ данных.
Владеет: теоретическими
основами технологий
распределенных
хранилищ данных на
различных платформах.
Знает: принципы и
критерии выбора
программного
обеспечения
распределенных
хранилищ данных.
Владеет: теоретическими
основами технологий и
подходов распределенных
хранилищ данных на
различных платформах.
Знает: принципы, критерии
и подходы к выбору
программного обеспечения
распределенных хранилищ
данных.
Знает: основные
принципы выбора
программного
обеспечения
распределенных
хранилищ данных.
Виды занятий
12
Зачет
Умеет: осуществлять
выбор программного
обеспечения
распределенных
хранилищ данных.
Умеет: осуществлять
выбор программного
обеспечения
распределенных
хранилищ данных, с
учетом особенностей
имеющихся задач.
Умеет: осуществлять
выбор программного
обеспечения
распределенных хранилищ
данных, с учетом
особенностей имеющихся
задач и ограничений.
Владеет: основными
навыками
проектирования и
реализации приложений,
использующих
распределенные
хранилища данных.
Владеет: навыками
проектирования и
реализации приложений,
использующих
распределенные
хранилища данных для
различных платформ.
Владеет: навыками
проектирования и
реализации приложений,
использующих
распределенные хранилища
данных для различных
платформ и различных
объемов задач.
13
9.3. Типовые контрольные задания или иные материалы, необходимые для оценки
знаний, умений, навыков и (или) опыта деятельности, характеризующей этапы
формирования компетенций в процессе освоения образовательной программы
Задание для проверки знаний, умений и навыков по теме «База данных Apache
Cassandra»
По предложенной предметной области необходимо разработать приложение, использующее
СУБД Apache Cassandra, выполнив следующие этапы.
1. Установка СУБД Apache Cassandra.
2. Конфигурирование Apache Cassandra.
3. Создание таблиц, заполнение данными с использованием CQL (Cassandra Query Language).
4. Разработка приложения на платформе .NET или на языке Java.
Вопросы к зачету
1. Узлы в системах распределенных хранилищ данных.
2. Распределенная система управления базами данных (РСУБД).
3. Однородность и неоднородность распределенных хранилищ данных.
4. Преимущества распределенных хранилищ данных.
5. Основной принцип распределенных систем.
6. Основные цели создания распределенных хранилищ данных.
7. Проблема скорости обработки в распределенных хранилищах данных.
8. Минимизация использования сетей в распределенных хранилищах данных.
9. Шлюзы в распределенных хранилищах данных.
10. Проблемы семантического несоответствия.
11. Промежуточное программное обеспечение для доступа к данным.
12. Базы данных NoSQL.
13. Виды баз данных NoSQL.
14. Документо-ориентированные СУБД.
15. Базы данных на основе графов.
16. Базы данных с хранением данных на основе семейства столбцов.
17. Хранилища «ключ-значение».
18. Файловая система HDFS.
19. Основные возможности Apache HBase.
20. Администрирование Apache HBase.
21. Основные возможности Apache Cassandra.
22. Механизмы устойчивости к сбоям в Apache Cassandra.
23. Язык Cassandra Query Language.
24. Возможности СУБД Oracle по созданию распределенных хранилищ.
25. Разработка приложений для обращения к распределенным хранилищам данных.
9.4. Методические материалы, определяющие процедуры оценивания знаний, умений,
навыков и (или) опыта деятельности характеризующих этапы формирования
компетенций.
Форма промежуточной аттестации – зачет.
Зачет проводится в устно-письменной форме. Билет содержит 3 вопроса: на 1–2 вопросы
необходимо дать ответ с практической иллюстрацией, 3-й вопрос представляет собой
практическое задание по одному из вопросов. При выставлении итоговой оценки учитывается
качество выполненных в течение семестра лабораторных работ. При необходимости
экзаменатор может задавать вопросы по существу выполненных и (или) невыполненных работ.
10. Образовательные технологии.
Для реализации компетентностного подхода используются как традиционные формы и
методы обучения, так и интерактивные формы (круглый стол, взаиморецензированиие,
представление и обсуждение проектных разработок), направленные на формирование у
магистрантов навыков коллективной работы, умения анализировать технологии для
оптимального их использования при разработке программных продуктов.
11. Учебно-методическое и информационное обеспечение дисциплины.
11.1. Основная литература:
1. Агальцов, В.П. Базы данных. В 2-х кн. Кн. 2. Распределенные и удаленные базы
данных [Электронный ресурс]: учебник / В.П. Агальцов. – Электрон. текстовые дан.
– М.: ИД ФОРУМ: НИЦ Инфра-М, 2013. – Режим доступа:
http://znanium.com/bookread.php?book=372740 (дата обращения: 15.04.2015).
2. Затонский, А.В. Информационные технологии: разработка информационных моделей
и систем [Электронный ресурс]: учеб. пособие / А.В. Затонский. – Электрон.
текстовые дан. – М.: ИЦ РИОР: НИЦ ИНФРА-М, 2014. Режим доступа:
http://znanium.com/bookread.php?book=400563 (дата обращения: 15.04.2015).
11.2. Дополнительная литература:
1. Стасышин, В.М. Проектирование информационных систем и баз данных: учебное
пособие / В.М. Стасышин. – Электр. текст. дан. – Новосибирск: НГТУ, 2012. - 100 с.
Режим доступа: http://biblioclub.ru/index.php?page=book&id=228774 (дата обращения:
15.04.2015).
2. Заботина, Н.Н. Проектирование информационных систем [Электронный ресурс]:
учеб. пособие / Н.Н. Заботина. – Электрон. текстовые дан. – М.: НИЦ ИНФРА-М,
2014. Режим доступа: http://znanium.com/bookread.php?book=454282 (дата обращения:
15.04.2015).
11.3. Интернет – ресурсы:
1. http://biblioclub.ru – Электронно-библиотечная система «Университетская библиотека
он-лайн»:
2. http://znanium.com – Электронно-библиотечная система издательства «Инфра».
3. http://docs.oracle.com – Документация по продуктам Oracle.
15
4. http://apache.org – Интернет-сайт организации Apache Software Foundation.
12. Технические средства и материально-техническое обеспечение дисциплины:
Для чтения лекций используется аудитория, оборудованная мультимедиа-проектором и
персональным компьютером. Для выполнения лабораторных работ необходим компьютерный
класс с установленными программными продуктами Microsoft Visual Studio 2013, Microsoft
Office Visio, Microsoft SQL Server 2014, Oracle Database 12c, Apache HBase, Apache Cassandra.
16
Download