Научная статья на тему 'Создание трассы при миграции базы данных'

Создание трассы при миграции базы данных Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
122
21
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СУБД / БАЗА ДАННЫХ / МАССИВ / УТИЛИТА / ПРИКЛАДНАЯ ПРОГРАММА / ИДЕНТИФИКАТОР / ТАБЛИЦЫ / DATABASE / DATABASE ARRAY UTILITY / AN APPLICATION IDENTIFIER TABLE

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Грушицын А.С.

В статье рассматривается работа с большими и сложными массивами данных при переносе баз данных.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The article discusses the work with large and complex data sets when migrating databases.

Текст научной работы на тему «Создание трассы при миграции базы данных»

Н.К. Расулов, А.А. Нурмагомедов. Об изометрической классификации...

и поэтому отображение /': S7 ^ 54 является квадратичным отображением над 2. Тогда, как показано в [5], отображение /' изометрично расслоениюХопфа Р4.

Наконец, рассмотрим случай g1 = Т о И о Н , где Т, Н е 0(4). Как и выше, получаем равенства: (А + А*)/2 = Е 4; ,

(А + А*)/2 = 04, г = 2, 3,4

из которых легко выводится, что Д = £4, с1к = (1кп = 0 при г * у , 7 = 3,4 и (к = 0 в остальных случаях, где к = 2,3,4. Тогда из условий сферичности, совершенно аналогично предыдущему случаю, находим:

А = E4; А =

' 0 1 -1 0

O2

V

O2

01 -1 0

A3 =

V- E2 O2 J

А =

O2 01 -1 0

01 -1 0

O2

Они при подстановке в формулу (*) определяют в точности расслоение Р4 (см. [5]). Теорема 3.3 доказана.

Литература

1. Милнор Дж. Особые точки комплексных гиперповерхностей. М., «Мир», 1971.

2. Расулов Н.К. Квадратичные отображения сфер в сферы. XXX Герценов-ские чтения. Математика. ЛГПИ, 1977. С. 34-39.

3. Расулов Н.К. Растяжение и изометрическая классификация квадра-тич-ных отображений сфер. Деп. ВИНИТИ, РЖМат. 12А711, 1983.

4. Расулов Н.К. Изометричекая классификация квадратичных отображений S3 в S3. Деп. ВИНИТИ, РЖМат. 12А597. 1985.

5. Turisco J. Quadratic mappings of spheres. Linear Algebra and Appl. № 23, 1979. С. 261-274.

6. Turisco J. A family of quadratic forms associated to a quadratic mappings of spheres. Linear Algebra and Appl. №№ 65, 1985. С. 249-260.

7. Wood R. Polynomial maps from spheres to spheres. Invent. Math. №№ 5, 1968. С. 163-168.

УДК 004.623 A.C. Грушицын, Московский авиационный институт (национальный исследовательский университет), г. Москва

СОЗДАНИЕ ТРАССЫ ПРИ МИГРАЦИИ БАЗЫ ДАННЫХ

В статье рассматривается работа с большими и сложными массивами данных при переносе баз данных.

Ключевые слова: СУБД, база данных, массив, утилита, прикладная программа, идентификатор, таблицы.

The article discusses the work with large and complex data sets when migrating databases. Keywords: database, database array utility, an application identifier table.

Разработка новых методик при работе в сфере компьютерных технологий значительно облегчает информатизацию трудового процесса [1,2]. Данные методы так же необходимо учитывать в процессе преподавания дисциплины «Базы данных» у инженерных специальностей [3]. Кроме того, это непосредственно может быть связано с обработкой баз статистических

данных в научно-технических направлениях [4-7].

Тестирование мигрированного кода проверяет соответствие друг другу начальной и перенесенной базы данных путем подготовленных методик. Вместе с начальной базой данных предоставляются тестовые сценарии, на основе которых создаются первые запросы.

Первый этап тестирования основывается на том, что сравниваются

Рис. 1. Миграция базы данных

Рис. 2. Модули инструмента для

результаты работы исходной и ми-грированной базы данных - подготавливаются трассы (Рис. 1). Модули, которые используются для создания, а так же последовательность их применения, изображены на рисунке 2.

Вместе с базой данных представляются тестовые сценарии, кото-

создания и воспроизведения трасс

рые являются основным источником трасс. Эти сценарии представлены на естественном языке, так что автоматизировать полностью процесс создания трасс из них не является возможным. Основная методика для записи трасс из конкретных сценариев основывается на использова-

нии SQL Server Profiler, который встроен в MS SQL Server. Перед тем как начнется запись трассы, в SQL ServerProfiler создается трассировка и выбираются данные или события, которые будут наблюдаться, а так же собираемая о них информация. Следующие события наблюдаются для создания трассы: вызовы процедур, которые были удалены, работа с курсорами, выполнений инструкций T-SQL, выполнение пакета запросов и т.д. Данные о каждом запросе группируются во время работы через клиентское приложение пользователя и базу данных, а после сохраняются в файл трассы.

Трассы из формата SQL Server Profiler конвертируются после записи в унифицированное представление на основе XML. Структура оригинальной трассы отражается в унифицированном представлении в виде пакета запросов, которые разделены на запросы. Его тип и исходный текст, выполнявшийся на SQL Server,сохраняется для каждого запроса. Необходимая информация из файла читается благодаря встроенным средствам SQL Server Profiler, XML файл создается по этой информации. Трасса сохраняется тогда, когда закончится этот этап, а все дальнейшие запуски тестирования будут начинаться со следующего этапа.

Для дальнейшей возможности работы с Oracle необходима конверта-

ция, которая будет являться следующим этапом. Во время трансляции хранимых процедур автоматически проводится преобразование, причем, по правилам для обычных процедур. Это необходимо для того, чтобы учесть в сигнатурах процедур все изменения и переименования. Перед трансляцией из кодов запросов с помощью скрипта из трассы создаются процедуры специального вида на T-SQL, которые подаются на вход вместе с хранимыми процедурами исходной БД к инструменту трансляции. Сгенерированный код на PL-SQL будет конвертироваться после трансляции в аналогичное представление на основе XML, а затем будет добавляться к исходной трассе. От текущего состояния инструмента миграции (постоянно совершенствующегося) зависит трасса после данного этапа, а для использования трасс, которые являются самыми корректными на текущий момент, перед каждым запуском тестирования должны пересоздаваться запросы для Oracle.

В результате, в каждой трассе хранится ее тип для каждого этапа, который зависит от запросов - исходного и нового, текст, который сгенерирован и будет выполняться в Oracle, а так же текст для SQLServer. Для того, чтобы иметь возможность удобно воспроизводить подготовленную трассу, система хра-

нения запросов устроена таким образом, что способ хранения зависит от их типа данных.

Типы запросов:

• Login;

• Logout;

• Batch;

• Block;

• Procedure.

Login и Logout не возвращают никаких результатов, и не участвуют в дальнейшей работе инструмента. Единственное, что некоторые инструкции set, выполняемые инструментом, может содержать в себе Login. Параллельно производится подсчет количества текущих соединений с базой данных, прямо во время выполнения данных запросов. На этапе конвертации в унифицированный формат из SQL Server Profiler определяется принадлежность запросов к этим типам.

Во время добавления для Oracle созданного запроса происходит подразделение запросов на следующие типы.

Batchи Block различаются между собой тем, что в Block находится более одной инструкции для Oracle и при этом инструкция открытия курсора есть среди них. Чтобы можно было получить значение, после выполнения запроса, требуется добавить output параметр, который име-

ет тип Ref Cursor. Инструкцию открытия курсора в запросе необходимо модифицировать в таких случаях, для этого добавляется « : » перед именем курсора, чтобы связать созданным параметром вызов запроса с ним.

Для того, чтобы вызывать хранимые процедуры и функции, предназначен тип процедура. В XML для них хранится элемент, который содержит имя хранимой функции или процедуры, а так же список параметров, с которыми они должны вызываться. Для того, чтобы корректно вызывать в Oracle этот список должен хранить в себе все параметры, являющиеся out или inout. Поэтому необходимо указывать все такие параметры во время создания в унифицированном формате трассы, а если они с каким-нибудь значением не вызываются, указывается их значение по умолчанию. Размеры для типов Char и Var Char 2 необходимо указывать для возвращаемых параметров, точность и масштаб необходимо указывать в Decital в MS SQL Server.

В модуль воспроизведения трасс передается набор в унифицированном формате созданных трасс. Для Oracle и MS SQL Server запросы воспроизводятся синхронно. Две команды, которые исполняются в базе данных, создаются для каждого элемента трассы. Результаты их выполнения, соответственно, собираются после выполнения. Какие результа-

ты при этом будут рассматриваться, зависит от типа запроса, а различные дополнительные параметры могут добавляться для разных типов запросов в команды. После того, как запрос выполнится, возвращаемые наборы данных (их схема тоже), значения выходных параметров для процедур, коды возврата, а также изменения, произошедшие внутри базы данных, собираются. Перед тем, как воспроизводить трассы, создаются таблицы аудита, для записи изменений внутри БД, и триггера для других таблиц на события insert/ update/delete, записывающие факты операции с данными. Информация о таблице, где изменение произошло, число строк, которые были затронуты и событие сохраняется. Таблицы эти очищаются перед каждым запросом из трассы, для последующего сравнения данные выгружаются по окончании его выполнения.

Список литературы:

1. Нефедова И.В. Методика конфигурации ядра Linux // Современные образовательные технологии в мировом учебно-воспитательном пространстве,. - 2015. - № 2. - С. 49-53.

2. Курбанмагомедов К.Д. Разработка модели и процедур тестирования кэш-

памяти компьютерных систем с разряд-но-модульной организацией. Часть 1. Описание функционирования и разработка диагностической модели// Системные технологии. - 2016. - №3(20). - С. 53-634.

3. Нефедова И.В. Тестирование кода при переносе базы данных// Системные технологии. - 2016. - №3(20). - С. 96-100

4. Раджабов 3. Р., Курбанмагомедов А.К. Расчет вязко-упругих свойств слоистых органопластиков// Системные технологии. - 2016. - №3(20). - С. 101-104

5. Макаров Е.В., Монахов И.А., Нефедова И.В. Двуосное растяжение пластины с круговым отверстием//Вестник российского университета дружбы народов. Серия: Инженерные исследования. - М.: Издательство: Российский университет дружбы народов. - 2015. -№ 1. - С. 100-105, ISSN: 2312-8143.

6. Канаев М.М., Курбанмагомедов К.Д. О стабилизации положения робота с учетом результатов координат центра масс // Системные технологии. - 2016, - №3(16). - С. 104-110.

7. К.Н. Лунгу, Е.В. Макаров, Нефедова И.В. Основы проектирования учебно-методического комплекса по математике для студентов технических специальностей // «Наука и современность», Новосибирск: ООО ЦРНС, №>27, 2014, С. 70-74.

i Надоели баннеры? Вы всегда можете отключить рекламу.