- •Введение
- •1 Информационные технологии
- •1.1 Практическая работа №1 «Методы композиции и декомпозиции в информационных технологиях»
- •1.1.1 Самостоятельная работа
- •1.1.2 Порядок выполнения работы
- •1.1.2.1 История вопроса
- •1.1.2.3 Тестовая программа анализа zip-архива
- •1.1.2.4 Анализ структуры архива
- •1.1.3 Список использованных источников
- •1.2 Практическая работа №2 «Офисные технологии»
- •1.2.1 Самостоятельная работа
- •1.2.2 Порядок выполнения работы
- •1.2.2.1 История вопроса
- •1.2.2.2 Стандарты XML-форматов офисных документов
- •1.2.2.3 Учебные задания
- •1.2.3 Список использованных источников
- •1.3 Практическая работа №3 «Технологии хранения данных»
- •1.3.1 Самостоятельная работа
- •1.3.2 Порядок выполнения работы
- •1.3.2.1 История вопроса
- •1.3.2.2 Встраеваемая СУБД проекта SQLite
- •1.3.2.3 Учебные задания
- •1.3.3 Список использованных источников
- •2 Сетевые технологии
- •2.1 Практическая работа №4 «Основные сетевые концепции»
- •2.1.1 Самостоятельная работа
- •2.1.2 Порядок выполнения работы
- •2.1.2.1 История вопроса
- •2.1.2.2 Технология сокетов на примере протокола SCTP
- •2.1.2.3 Учебные задания
- •2.1.3 Список использованных источников
- •2.2 Практическая работа №5 «Технологии Internet»
- •2.2.1 Самостоятельная работа
- •2.2.2 Порядок выполнения работы
- •2.2.2.1 История вопроса
- •2.2.2.2 Технологии Internet на примере протокола WebSocket
- •2.2.2.3 Учебные задания
- •2.2.3 Список использованных источников
- •2.3 Практическая работа №6 «Технологии мультимедиа»
- •2.3.1 Самостоятельная работа
- •2.3.2 Порядок выполнения работы
- •2.3.2.1 История вопроса
- •2.3.2.2 Технология мультимедиа на примере формата SVG
- •2.3.2.3 Учебные задания
- •2.3.3 Список использованных источников
- •3 Интеллектуальные технологии
- •3.1 Практическая работа №7 «Инженерия знаний»
- •3.1.1 Самостоятельная работа
- •3.1.2 Порядок выполнения работы
- •3.1.2.1 История вопроса
- •3.1.2.2 Установка редактора онтологий - Protege
- •3.1.2.3 Учебные задания
- •3.1.3 Список использованных источников
- •3.2 Практическая работа №8 «Язык описания онтологий (OWL)»
- •3.2.1 Самостоятельная работа
- •3.2.2 Порядок выполнения работы
- •3.2.2.1 История вопроса
- •3.2.2.2 Пример постронения онтологии в системе Protege
- •3.2.2.3 Учебные задания
- •3.2.3 Список использованных источников
- •3.3 Практическая работа №9 «Технология применения семантики языка OWL 2»
- •3.3.1 Самостоятельная работа
- •3.3.2 Порядок выполнения работы
- •3.3.2.1 Конкретизация базовых средств языка OWL 2
- •3.3.2.2 Онтология «Список дисциплин»
- •3.3.2.3 Онтология «Сотрудники кафедры»
- •3.3.2.4 Онтология «Учебные планы»
- •3.3.2.5 Учебные задания
- •3.3.3 Список использованных источников
- •4 Организация самостоятельной работы аспирантов
- •4.1 Самостоятельная работа аспирантов при выполнении практических работ
- •4.2 Тестовые задания
- •Список использованных источников
31
1.3 Практическая работа №3 «Технологии хранения данных»
Цель работы: практическое освоение технологии хранения и обработки данных на основе использование встроенной СУБД SQLite.
1.3.1 Самостоятельная работа
Понятие информационной системы, банки и базы данных. Логическая и физическая организация баз данных. Модели представления данных, архитектура и основные функции СУБД. Распределенные БД. Принципиальные особенности и сравнительные характеристики файл-серверной, клиент-серверной и интранет технологий распределенной обработки данных. Реляционный подход к организации БД. Базисные средства манипулирования реляционными данными. Методы проектирования реляционных баз данных (нормализация, семантическое моделирование данных, ЕR-диаграммы). Языки программирования в СУБД, их классификация и особенности. Стандартный язык баз данных SQL. Перспективные концепции построения СУБД (ненормализованные реляционные БД, объектно-ориентированные базы данных и др.).
Литература: [2, 8 или 9].
1.3.2 Порядок выполнения работы
Основы технологии хранения данных аспирант начал изучать на уровне бакалавриата в дисциплине «Базы данных». Более широко эти технологии были изучены в дисциплине «Современные компьютерные технологии» (см. [2], раздел 3). Наконец, по материалу предыдущего подраздела, на примере пакета LibreOffice, мы видим, что технологии хранения информации стали частью офисных технологий (см. таблицу 1.2).
Вцелом, можно отметить, что современные приложения становятся все более и более информационно насыщенными, а также - инфраструктурно сложными. На практике это требует все более сложных и разнообразных вариантов их использования, которые по традиции отражаются в разлиных параметрах настройки приложений. Стремление делать приложения все более универсальными и гибкими только увеличивает количество настроечных параметров, нелинейно влияющих на качество их работы.
Втакой ситуации возникает настоятельная потребность в специальных средствах хранения конфигурационных файлов и сопутствующих настроек приложений. И такие средства уже созданы в достаточном количестве. Фактически каждый, пусть даже не очень большой проект, имеет свои средства конфигурирования и часто — уникальные. Следовательно, актуальным является вопрос об использовании универсальных хранилищ данных, какими являются СУБД.
32
1.3.2.1 История вопроса
Наиболее известными в настоящее время компаниями, реализующими технологии хранения информации уровня предприятия, являются Oracle и Microsoft.
Исторически, общепризнанным лидером создания средств СУБД является корпорация Oracle, основанная 1977 году [1.3.1]: «Oracle (Oracle Corporation) — американская корпорация, второй по величине доходов производитель программного обеспечения (после Microsoft), крупнейший производитель программного обеспечения для организаций, крупный поставщик серверного оборудования.
Компания специализируется на выпуске систем управления базами данных, связующего программного обеспечения и бизнес-приложений (ERP- и CRMсистем, специализированных отраслевых приложений). Наиболее известный продукт компании — Oracle Database, который компания выпускает с момента своего основания. С 2008 года корпорация освоила выпуск интегрированных аппаратнопрограммных комплексов, а с 2009 года в результате поглощения Sun Microsystems стала производителем серверного оборудования, до этого компания выпускала исключительно программное обеспечение. ...».
В апреле 1989 года корпорация Microsoft создала свою реляционную СУБД [1.3.2]: «Microsoft SQL Server — система управления реляционными базами данных (РСУБД), разработанная корпорацией Microsoft. Основной используемый язык запросов — Transact-SQL, создан совместно Microsoft и Sybase. Transact-SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями. Используется для работы с базами данных размером от персональных до крупных баз данных масштаба предприятия; конкурирует с другими СУБД в этом сегменте рынка. ...».
В 1995 году Apache Software Foudation выпустила свой знаменитый Вебсервер: Apache HTTP Server [1.3.3]. В качестве СУБД в ней использовался продукт MySQL [1.3.4]: «MySQL — свободная реляционная система управления базами данных. Разработку и поддержку MySQL осуществляет корпорация Oracle, получившая права на торговую марку вместе с поглощённой Sun Microsystems, которая ранее приобрела шведскую компанию MySQL AB. Продукт распространяется как под GNU General Public License, так и под собственной коммерческой лицензией. Помимо этого, разработчики создают функциональность по заказу лицензионных пользователей. Именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации. ...». Позднее, MySQL стал заменяться СУБД MariaDB [1.3.5]: «MariaDB — ответвление от системы управления базами данных MySQL, разрабатываемое сообществом под лицензией GNU GPL. Разработку и поддержку MariaDB осуществляет компания MariaDB Corporation Ab и фонд MariaDB Foundation.
Толчком к созданию стала необходимость обеспечения свободного статуса, в противовес политике лицензирования MySQL компанией Oracle. Основателями проекта выступили первоначальные разработчики MySQL. ...».
На этом примере хорошо прослеживаются две тенденции:
33
1)появляются программные системы, использующие СУБД, которым не требуются столь мощные средства как Oracle или MS SQL Server;
2)основным доводом для выбора СУБД становятся не качества продукта, а лицензионные ограничения на его использование.
В2003 году появляется международный стандарт ISO/IEC TR 10032-2003 на эталонную модель управления данными [1.3.5]. В 2007 году появляется ГОСТ Р ИСО/МЭК 10032-2007 - Эталонная модель управления данными [8 или 9]. Эти документы стали определять современные тенденции развития СУБД.
ВРоссии большой популярностью пользуется PostgreSQL [1.3.6], которой в 2015 году был посвящен цикл статей [1.3.7, 1.3.8]. Общая тема связана с импортозамещением программного обеспечения. Как конкурент, рассматривается СУБД Firebird [1.3.9]: «Firebird (FirebirdSQL) — свободная кроссплатформенная реляционная система управления базами данных (РСУБД), работающая на macOS, Linux, Microsoft Windows и разнообразных Unix платформах.
Firebird используется в различных промышленных системах (складские и хозяйственные, финансовый и государственный сектора) с 2001 г. Это коммерчески независимый проект C и C++ программистов, технических советников. ...».
В связи с высокой переносимостью ПО на языке Java, большой популярностью пользуются СУБД Apache Derby [1.3.10]: «Apache Derby — реляционная СУБД, написанная на Java, предназначенная для встраивания в Java-приложения или обработки транзакций в реальном времени. Занимает 2 MB на диске. Распространяется на условиях лицензии Apache 2.0. Ранее известна как IBM Cloudscape. Oracle распространяет те же бинарные файлы под именем Java DB. ...».
В рамках проекта OpenDocument Format используется СУБД HSQLDB [1.3.11]: «HSQLDB — реляционная СУБД с открытым исходным кодом. Распространяется по собственной лицензии, близкой к лицензии BSD. Поддерживает стандарты SQL-92, SQL:1999, SQL:2003 и SQL:2008.
HSQLDB полностью написана на Java и отличается небольшим размером (размер около 1100 кБ для версии 2.0). Может использоваться и как отдельный сервер с поддержкой сетевых соединений по JDBC, и в виде библиотеки для использования непосредственно в коде программы.
HSQLDB используется во многих известных программных продуктах, в частности, в LibreOffice, OpenOffice.org, Jboss, Openfire, JAMWiki. ...».
Кроме реляционных СУБД набирают популярность проекты, поддерживающие древовидные модели данных XML. Одним из таких проектов является СУБД Sedna [1.3.12]: «Sedna — система управления базами данных, изначально спроектированная для хранения и обработки XML-данных. Разработана и развивается Отделом управления данными и информационных систем Института системного программирования РАН. Система распространяется в открытых исходных текстах. Существуют версии под Windows, Linux, Mac OS и FreeBSD.
СУБД Sedna поддерживает древовидную модель данных (хранимых в
34
двоичном виде), которые загружаются и извлекаются в виде XML-документов. Данные оптимизируются и индексируются для рационального хранения и быстрого доступа.
Прирождённые XML-СУБД в настоящее время активно развиваются — в ряде применений они начинают конкурировать с традиционными реляционными СУБД. СУБД Sedna выглядит достойно в сравнении с другими XML-СУБД: вопервых, за счёт эффективных внутренних механизмов (например, собственного 64разрядного диспетчера памяти, адресации и подкачки), во-вторых, из-за полного соответствия стандарту на язык запросов XQuery, в третьих, за счёт возможности интеграции в XML БД наследованных реляционных источников данных ... ».
В современных программных проектах все чаще начинают использовать встроенные СУБД, обеспечивающие не только поддержку обрабатываемых данных самого приложения, но и данные, относящиеся к инфраструктуре прикладного использования этого приложения. Примером такого решения является использование СУБД SQLite [1.3.13]: «SQLite — компактная встраиваемая СУБД. Исходный код библиотеки передан в общественное достояние. В 2005 году проект получил награду Google-O’Reilly Open Source Awards. …
Слово «встраиваемый» (embedded) означает, что SQLite не использует парадигму клиент-сервер, то есть движок SQLite не является отдельно работающим процессом, с которым взаимодействует программа, а представляет собой библиотеку, с которой программа компонуется, и движок становится составной частью программы. Таким образом, в качестве протокола обмена используются вызовы функций (API) библиотеки SQLite. Такой подход уменьшает накладные расходы, время отклика и упрощает программу. SQLite хранит всю базу данных (включая определения, таблицы, индексы и данные) в единственном стандартном файле на том компьютере, на котором исполняется программа. Простота реализации достигается за счёт того, что перед началом исполнения транзакции записи весь файл, хранящий базу данных, блокируется; ACID-функции достигаются в том числе за счёт создания файла журнала.
Несколько процессов или потоков могут одновременно без каких-либо проблем читать данные из одной базы. Запись в базу можно осуществить только в том случае, если никаких других запросов в данный момент не обслуживается; в противном случае попытка записи оканчивается неудачей, и в программу возвращается код ошибки. Другим вариантом развития событий является автоматическое повторение попыток записи в течение заданного интервала времени.
В комплекте поставки идёт также функциональная клиентская часть в виде исполняемого файла sqlite3, с помощью которого демонстрируется реализация
функций основной библиотеки. Клиентская часть является кроссплатформенной утилитой командной строки. ...».
СУБД SQLite используется во многих проектах, например, Mozilla Fiefox (браузер), Mozilla Thunderbird (почтовый клиент), Skype и других. Таким образом, аспиранту крайне необходимо освоить работу с ней.
