Миграция устаревших программных платформ
Предложен обзор метода миграции устаревших программных платформ и их улучшений на примере баз данных. Приведены основные аспекты, которые следует учитывать при повторном использовании метода миграции для других программных платформ. Исследованы скорости выполнения запросов на программной платформе п...
Gespeichert in:
| Veröffentlicht in: | Управляющие системы и машины |
|---|---|
| Datum: | 2012 |
| 1. Verfasser: | |
| Format: | Artikel |
| Sprache: | Russisch |
| Veröffentlicht: |
Міжнародний науково-навчальний центр інформаційних технологій і систем НАН та МОН України
2012
|
| Schlagworte: | |
| Online Zugang: | https://nasplib.isofts.kiev.ua/handle/123456789/83085 |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| Назва журналу: | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| Zitieren: | Миграция устаревших программных платформ / В.В. Фальфушинский // Управляющие системы и машины. — 2012. — № 4. — С. 75-82. — Бібліогр.: 14 назв. — рос. |
Institution
Digital Library of Periodicals of National Academy of Sciences of Ukraine| _version_ | 1860120063032426496 |
|---|---|
| author | Фальфушинский, В.В. |
| author_facet | Фальфушинский, В.В. |
| citation_txt | Миграция устаревших программных платформ / В.В. Фальфушинский // Управляющие системы и машины. — 2012. — № 4. — С. 75-82. — Бібліогр.: 14 назв. — рос. |
| collection | DSpace DC |
| container_title | Управляющие системы и машины |
| description | Предложен обзор метода миграции устаревших программных платформ и их улучшений на примере баз данных. Приведены основные аспекты, которые следует учитывать при повторном использовании метода миграции для других программных платформ. Исследованы скорости выполнения запросов на программной платформе после миграции.
A brief overview of the migration of old program platforms and their improvements are described on the example of data bases The main aspects are highlighted, that can be used in re-using such a method of migration of old program platforms. Also, the research of execution speed of queries is made on a program platform after the migration.
Запропоновано огляд методу міграції застарілих програмних платформ та їх покращення на прикладі баз даних. Наведено основні аспекти, які слід враховувати при повторному застосуванні методу міграції для інших програмних платформ. Досліджено швидкості виконання запитів на програмній платформі після міграції.
|
| first_indexed | 2025-12-07T17:38:28Z |
| format | Article |
| fulltext |
УСиМ, 2012, № 4 75
УДК 681.3:002.651.028(083.73)
В.В. Фальфушинский
Миграция устаревших программных платформ
Предложен обзор метода миграции устаревших программных платформ и их улучшений на примере баз данных. Приведены основ-
ные аспекты, которые следует учитывать при повторном использовании метода миграции для других программных платформ. Ис-
следованы скорости выполнения запросов на программной платформе после миграции.
A brief overview of the migration of old program platforms and their improvements are described on the example of data bases The main as-
pects are highlighted, that can be used in re-using such a method of migration of old program platforms. Also, the research of execution speed
of queries is made on a program platform after the migration.
Запропоновано огляд методу міграції застарілих програмних платформ та їх покращення на прикладі баз даних. Наведено основні
аспекти, які слід враховувати при повторному застосуванні методу міграції для інших програмних платформ. Досліджено швидкості
виконання запитів на програмній платформі після міграції.
Введение. С развитием современных сетевых
технологий и технологий баз данных (БД) воз-
никла задача миграции устаревших программ-
ных платформ на более современные, которые
дают возможность обрабатывать и хранить боль-
шие объемы данных. Многие компании имели
свои внутренние разработки для хранения дан-
ных и БД.
Такие разработки характеризовались боль-
шой скоростью считывания данных, но не име-
ли возможности работы по сети, а также обла-
дали некоторыми ограничениями на объем фай-
ла или количество объектов для хранения. Вско-
ре такие внутренние разработки были допол-
нены поддержкой современных БД, таких как
MS SQL Server, Oracle, Mysql, MS Access и IBM
DB2. Для более специфичных задач были ис-
пользованы CouchDB, Memcached и Membase
БД – представители направления NoSQL.
Общеизвестно, что направление SQL БД
существует еще с 60-х годов и представлено
несколькими стандартами, а также уровнями,
отличающимися количеством инструкций, а
соответственно и сложностью языка. К тому
же существует язык программирования SQL,
дающий возможность управлять базой дан-
ных [1].
В отличие от SQL, подходы NoSQL несколь-
ко различны. В основу такой концепции зало-
жены такие термины:
– не реляционная модель данных;
– открытый исходный код;
– хорошая горизонтальная масштабируе-
мость.
В качестве одного из методологических обос-
нований подхода NoSQL используется эврис-
тический принцип, известный как теорема сис-
темы автоматического регулирования (CAP), ут-
верждающая, что в распределенной системе не-
возможно одновременно обеспечить согласован-
ность данных, доступность и устойчивость к
расщеплению распределенной системы на изо-
лированные части. Таким образом, при необ-
ходимости достижения высокой доступности и
устойчивости к разделению предполагается не
фокусироваться на средствах обеспечения согла-
сованности данных, обеспечиваемых традици-
онными SQL-ориентированными СУБД с тран-
закционными механизмами на принципах ACID
(атомарность, согласованность, изолирован-
ность, долговечность) [2–4].
Существует несколько направлений исполь-
зования NoSQL:
документ-ориентированные СУБД;
хранилища «ключ–значение», кортежные
хранилища;
граф базы данных;
базы данных в ОЗУ;
табличные БД.
Совсем недавно многие из NoSQL БД полу-
чили большую популярность в области задач
поиска (Memcached, BigTable, Apache Hadoop),
обработки больших объемов документов и фи-
нансовой аналитике (CouchDB).
BigTable БД – высокопроизводительная база
данных, построенная на основе Google File
System (GFS), Chubby Lock Service и некоторых
76 УСиМ, 2012, № 4
других продуктах Google, сегодня не распро-
страняется и не используется за пределами Go-
ogle, хотя Google предлагает использовать ее
как часть Google App Engine. Основное направ-
ление – задачи поиска данных в больших мас-
сивах. Работа над BigTable начата в 2004 году,
и сейчас СУБД используется в различного ро-
да приложениях Google, таких как MapReduce,
часто используемое для создания и модифика-
ции данных, хранящихся в BigTable, Google
Reader, Google Maps, Google Book Search, Se-
arch_History, Google Earth, Blogger.com, Google
Code hosting, Orkut и YouTube. Причины, побу-
дившие Google к созданию собственной базы
данных, – масштабируемость и контроль над
производительностью [5].
Apache Hadoop – проект фонда Apache Soft-
ware Foundation, свободно распространяемый
набор утилит, библиотек и программный кар-
кас для разработки и выполнения распределен-
ных программ, работающих на кластерах из
сотен и тысяч узлов. Используется для реали-
зации поисковых и контекстных механизмов
многих высоконагруженных веб-сайтов, в том
числе для Yahoo! и Facebook. Разработан в рам-
ках вычислительной парадигмы MapReduce,
согласно которой приложение разделяется на
большое количество одинаковых элементар-
ных заданий, выполнимых на узлах кластера и
естественным образом сводимых в конечный
результат.
Разработка была инициирована в начале
2005 года Дугом Каттингом с целью построе-
ния программной инфраструктуры распреде-
ленных вычислений для проекта Nutch – сво-
бодной программной поисковой машины на
Java, ее идейной основой стала публикация
сотрудников Google Джеффри Дина и Санжая
Гемавата о вычислительной концепции Map-
Reduce [6,7].
CouchDB – документо-ориентированная сис-
тема управления базами данных, не требующая
описания схемы данных. Эта программа есть
свободной, открытой и написана на языке Erlang.
CouchDB можно рассматривать как сервер веб-
приложений; для реализации этой идеи в Couch-
DB встроен производительный веб-сервер, а
программный код, как и данные, сохраняется в
той же базе данных. Для автоматизации работы
с приложениями CouchDB используется утили-
та CouchApp. В отличие от реляционных СУБД,
CouchDB предназначена для работы с полу-
структурированной информацией [8–11].
CouchDB имеет следующие особенности:
данные сохраняются не в строках и колон-
ках, а в виде JSON-подобных документов, мо-
делью которых являются не таблицы, а деревья;
типизация элементов данных, т.е. сопос-
тавление отдельным полям документов типа
INTEGER, DATE и прочих, не поддерживает-
ся – вместо этого пользователь может написать
функцию-валидатор;
целостность базы данных обеспечивается
исключительно на уровне отдельных записей
(но не на уровне связей между ними);
связи между таблицами или записями прин-
ципиально не поддерживаются, соответствен-
но, операция объединения (JOIN) между таб-
лицами не определена;
для построения индексов и выполнения
запросов используются функции-представления
(view) [1];
функции-валидаторы, функции-представ-
ления, функции-фильтры сохраняются в тек-
стовом виде в самой базе данных;
эти функции, как правило, написаны на язы-
ках JavaScript или Erlang, а для их выполнения
запускается отдельный сервер запросов, взаи-
модействие с которым происходит посредст-
вом сокетов и текстового JSON-протокола;
каждой базе данных в системе CouchDB
соответствует единственное B-дерево (не пу-
тать с двоичным деревом);
каждое B-дерево хранится в виде отдель-
ного файла на диске;
одновременно может быть запущено не-
сколько потоков для чтения базы данных и
только один – для записи.
В украинской практике задачами миграции
программного обеспечения (ПО) на разные аль-
тернативные платформы занимаются многие.
Одна из последних разработок – направления
оптимизации запросов при конвертации DL/1
(IMS) в SQL [12].
УСиМ, 2012, № 4 77
Архитектура взаимодействия програм-
мы и БД
На рисунке представлена типичная схема
взаимодействия программы с БД. В такой схе-
ме существует несколько сегментов, связан-
ных между собой – БД, где хранятся данные,
интерфейс или СУБД, куда может входить как
программный интерфейс, так и специальный
язык и программа. Так как каждый из продук-
тов, которые надо было адаптировать для но-
вой БД, имел собственный интерфейс или же
язык для доступа к БД, то это и являлось ос-
новной проблемой при переходе на новую
платформу.
И
нт
ер
ф
ей
с
\ С
У
Б
Д
Программа БД
Взаимодействие программы и БД
В процессе такой миграции программы с БД
на более новые БД возникло два подхода:
реализация типичных запросов к БД на
аналогичном языке новой БД;
реализация отдельных операторов и кон-
струкций языка взаимодействия с БД как оп-
ределенных запросов на аналогичном языке
новой БД.
Первый подход ограничивает круг выполне-
ния запросов с помощью ограничений, кото-
рые есть в БД:
запросы могут генерироваться динамиче-
ски;
в зависимости от условия критерии вы-
полнения запроса могут меняться;
может меняться порядок/приоритеты вы-
полнения запросов.
Если к БД генерируется большое количе-
ство динамических запросов, то такой подход
невозможен.
Второй подход более гибких запросов, но и
более трудоемкий, так как интерфейс содер-
жит множество функций, которые следует пе-
реписать, а некоторые даже переделать и до-
полнить в зависимости от ситуации, возника-
ющей при выполнении запроса к БД.
Так как в ГеоПоиск вызывается 1077 запросов
к БД, то решено использовать второй метод.
Постановка задачи
Существует ПО, имеющее свою собствен-
ную разработку для хранения данных, а также
множество компаний, имеющих такое ПО в
области геологии. Например:
– ГеоПоиск;
– ГЕО Прайм;
– GeoOffice Solver;
– КАМЕРТОН;
– ПАНГЕЯ.
Каждая из разработок хранения данных от-
личается достаточно быстрой системой ввода–
вывода, но параллельно имеет ряд недостатков
в сравнении с существующими современными
БД, например, ограничения на объем файла БД
и отсутствие поддержки работы по сети. Для
этого многие разработчики решаются на ми-
грацию на более новые и быстрые БД.
Для правильной миграции стоит провести
анализ структуры такого ПО (количества библи-
отек, функций, основных операторов, условных
обозначений, спецификации данных, системы
ввода-вывода данных). Для решения такой про-
блемы была взята БД «МикроПоиск». Эта БД
автоматизирует построения проблемно-ориен-
тированных систем обработки данных для на-
учных и инженерных приложений. Инстру-
ментальный характер «МикроПоиска» означа-
ет наличие в нем штатных средств проектиро-
вания и ведения реляционно-сетевых БД, под-
держки программирования и генерации при-
ложений БД, ориентированных на различные
категории пользователей.
Инструментарий базового языка программи-
рования основан на Си и включает две группы
штатных средств СУБД «МикроПоиск»: сервер
языка запросов MPSQL и средства пользова-
тельского интерфейса MPSQL (редактор запро-
сов и генератор запросов). API сервера языка
запросов реализует интерфейс с прикладными
БД для программ на разных языках програм-
мирования. Он обеспечивает обмен данными с
СУБД через массивы структур.
Модель данных реляционно-сетевой СУБД
«МикроПоиск» основана на модели Чена «сущ-
78 УСиМ, 2012, № 4
ность-связь» (ER-модели). В СУБД «Микро-
Поиск» интенсионал (схема БД) представляет-
ся графом, вершинам которого соответствуют
классы объектов (сущностей), а ребрам – клас-
сы бинарных связей между объектами. Элемен-
тарные атрибуты объектов соответствуют ос-
новным типам данных языка Си. Поименован-
ная совокупность элементарных атрибутов мо-
жет составлять повторяющуюся группу. Кроме
того, допускаются атрибуты содержащие тек-
сты произвольной длины.
Библиотека MPSQL работает с разными за-
просами. Запрос является непустой последова-
тельностью операторов, разделенных симво-
лом ';'. Каждый оператор формирует множест-
во однотипных сущностей. Допускаются вло-
женные операторы.
Пользователю разрешается присваивать мно-
жествам имена и использовать их в последую-
щих операторах запроса, что упрощает его по-
нимание, а также в большинстве случаев уско-
ряет обработку.
Допустимы строковые константы, указыва-
емые в одиночных или двойных кавычках. До-
пустимо включение в них кавычек другого ти-
па. В любом месте запроса, кроме строковых
констант, можно вставить комментарий, кото-
рый будет проигнорирован при обработке за-
проса. Вложенные комментарии недопустимы.
Пробелы, символы новой строки, перевода ка-
ретки и табуляции (а также другие символы в
ANSI-кодировке от 1 до 32) также игнорируют-
ся, если они не находятся внутри строковых
констант.
Язык запросов к СУБД «МикроПоиск» име-
ет более нижний уровень в сравнении с SQL.
Таким образом, не всегда один оператор языка
запросов соответствует только одному операто-
ру с языка SQL, потому возникает сразу несколь-
ко задач, связанных с переходом от одного язы-
ка запросов к другому. Распознавание кон-
струкций языка запросов к СУБД «МикроПо-
иск» осуществляется встроенными функциями
синтаксического анализатора, в результате стро-
ится абстрактное синтаксическое дерево (AST).
Объекты такого дерева – объекты процесса пе-
рехода от одного языка запросов к другому.
После построения синтаксического дерева
любого MPSQL-запроса выполняется последо-
вательный вызов соответствующих функций
нижнего уровня. Каждая из этих функций об-
ращается к MP-базе, читая или записывая дан-
ные в MP-файл [13–14].
Для решения задачи миграции приложений
«МикроПоиска» на современные СУБД функ-
ции нижнего уровня переделаны так, что каж-
дая из них транслируется в запрос на SQL. Та-
ким образом, каждый mpSQL-запрос СУБД
«МикроПоиск» встроенным парсетром языка
запросов преобразуется в набор последователь-
ных запросов на стандартном SQL. Рассмотрим
простейший запрос по критерию «_Таблица
(Скважина, Номер);». Данный запрос выбирает
все значения атрибута «Номер» таблицы «Сква-
жина». В преобразовании в SQL он проходит в
несколько этапов:
«select count(*) as OnesCount from [Сква-
жина]». Вызывается функция, которая получа-
ет количество записей в таблице «Скважина»;
«select * from [Скважина] where [id_well] =
= 334». Вызывается функция, формирующая оп-
ределенное количество запросов указаного ти-
па, которые выбирают все данные из таблицы
«Скважина», где «id_well» = идентификатору
скважины. В процессе выполнения такой функ-
ции накапливается определенное количество
запросов, которые потом выполняются вместе.
Спецификация данных в БД «Микро-
Поиск»
Структуры данных специфицируются на язы-
ке описания данных (DataBase Description, DBD)
с двумя основными конструкциями: объект и
атрибут. Каждый атрибут может состоять из
элементов, групп или массивов, но обязатель-
но имеет тип, формат и длину.
Объекты связываются между собой с по-
мощью связи. Связи бывают разных типов:
1:1, 1:N, N:1 и N:M. Например,
1:1 – связь «один с одним», например, связь
между объектами Человек с ролями Муж и
Жена;
1:N – связь «один с несколькими», напри-
мер, связь между объектами Человек с ролями
Мать и Ребенок;
УСиМ, 2012, № 4 79
N:M – связь «несколько с несколькими», на-
пример, связь между объектами Человек с ро-
лями Продавец и Покупатель [13].
Схема БД «МикроПоиск»
Схема прикладной БД «МикроПоиск» хра-
нится в одном файле с расширением MP. Схе-
ма БД хранится в файле с расширением dbd. К
БД положен еще словарь в файле с расши-
рением WRD. Словарь – это текстовый файл в
кодировке DOS, где хранятся словарные ста-
тьи, связанные с числами БД. Например, в РБД
насыщение – это числовой атрибут NOB таб-
лицы ГИС. При запросе к РБД значения NOB
(1, 2, 3, ) подменяются на соответствующие
строки из словаря (газ, вода, нефть, …) [13].
Схема SQL БД поставляется в файл GP8,
который содержит строку подключения, логин,
время последнего входа, строка статуса. К файлу
gp8 прилагается словарь в файле с расширени-
ем WRD. Схема SQL БД есть частью БД и пред-
ставлена в виде таблиц.
В табл. 1 приведены служебные таблицы схе-
мы БД «МикроПоиск» в SQL. В списке атри-
бутов выделены внешние и внутренние ключи
таблиц. В процессе разработки схемы БД в SQL
учтены такие особенности:
Синонимы. Добавления синонимов атри-
бутов и объектов, так как некоторые атрибуты
или объекты могут быть названы по-разному в
зависимости от используемого контекста.
Связи. В БД «МикроПоиск» есть объект
«СВЯЗЬ», который никак не может быть заме-
нен на оператор или запрос в SQL. Для этого
предложено использовать отдельную таблицу
для реализации последнего.
Форматы данных. В БД «МикроПоиск»,
каждый атрибут может отображаться по-разно-
му, для этого задействована система форматов.
В SQL такой возможности нет. Потому для ре-
шения такой проблемы было предложено до-
бавить таблицу форматов, которая будет свя-
зана с атрибутом из таблицы Gpattributes.
Типы атрибутов. В БД «МикроПоиск» су-
ществуют такие типы данных – TGROUP, TAR-
RAY. Для этих типов добавлена таблица с их
описанием. В процессе разработки схемы БД в
SQL было реализовано тип данных THIDDEN,
которые дают возможность прятать опреде-
ленные атрибуты. Например, индексные поля
таблиц.
Т а б л и ц а 1. Служебные таблицы схемы БД «МикороПоиск»
в SQL
Название таб-
лицы
Атрибуты Назначение таблицы
Gpobjects id, name таблица имен объектов
Gpattributes
id, objid, name, type,
format, data_type,
length
таблица атрибутов
Gplinks
id, name, ObjFrom,
ObjTo, type, key
таблица связей
Gpattributetypes id, name
таблица типов атрибутов
(группа, массив, скры-
тый и т.д.).
Gpdatatypes id, name таблица типов данных
Gpformat id, name
таблица форматов пред-
ставления данных
Gpindexes
id, objid, attid, Pri-
maryKey, For-
eignKey
таблица индексов
Gpsynonyms
id, objid, attid, relid,
name
таблица синонимов
Gpaliases
id, objid, attid, ta-
bleName
таблица синонимов для
таблиц
В первой версии SQL БД схема хранится от-
дельно от базы, но в процессе разработки пе-
реработано несколько типов решений:
Хранение БД в формате XML отдельно от
схемы. Такой вариант не был принят, так как
обновление схемы БД занимало много времени.
Частичное хранение БД в XML. Часть объ-
ектов хранилось в XML, а часть было записано
в свойства атрибутов таблиц. Проблема пере-
загрузки базы была решена, но появилась про-
блема с обновлением атрибутов таблиц и их
свойств, что вело за собой обновление данных
системных таблиц, что в какой-то мере могло
повлиять на общую работоспособность базы.
Полное хранение схемы БД в базе SQL.
Проблемы с перезагрузкой схемы были реше-
ны. Не нужно использовать системные табли-
цы, а значит нет зависимости от производителя
СУБД (MS SQL, MS ACCESS, MySQL). Появи-
лась возможность внедрять новые возможно-
сти и масштабировать схему без влияния на
работоспособность базы.
Последний вариант хранения схемы БД был
наиболее удачным, и было решено его оставить.
80 УСиМ, 2012, № 4
Пример разработки БД в «МикроПоиск»
и SQL
В табл. 2 описан пример схемы БД «Микро-
Поиск». В схеме представлено несколько объек-
тов – Месторождение, Скважина, Пропластки.
Каждый объект имеет несколько атрибутов раз-
ных типов. Обьект Скважина имеет групповой
атрибут Параметры. Некоторые атрибуты име-
ют синонимы, например, Месторождение – Пло-
щадь. Объекты имеют связи: МестСкважина
между Месторождение и Скважина; СквПро-
пластки между Скважина и Пропластки.
Т а б л и ц а 2. Схема БД «МикороПоиск»
Название
объекта
Атрибуты
Месторождение
Код, Шифр, Название, Xmin, Xmax, Ymin,
Ymax, Комментарий
Номер, Ствол, Куст, Назначение, Состояние,
Категория, Заказчик, Подрядчик, X, Y, Альти-
туда, Забой, Магнитное_склонение, Проект-
ный_азимут, Проектное_смещение, Азимут_
профиля, Дата_обработки, Интервал, Нача-
ло_бурения, Конец_бурения, ИмяDBMфайла,
TMP1, TMP2, Комментарий, Параметры
Скважина
Параметры:
Код, Название, Значение
Пропластки
Скважина, Куст, ИмяDBMфайла, Фрагмент,
ZK, ZP, к_ппл
В табл. 3 показан пример реализации анало-
гичной схемы БД в SQL. Аналогичная схема БД
в SQL представлена несколькими таблицами,
описывающими отдельные объекты, атрибуты.
В SQL БД добавлены внутренние и внешние
ключи, выделенные жирным. Групповые атри-
буты представлены в виде отдельных таблиц с
установленными необходимыми атрибутами в
схеме БД. Добавлены скрытые атрибуты, кото-
рыми являются внешние и внутренние ключи
таблиц и не видны пользователю. Форматы и ти-
пы атрибутов, а также связи были добавлены в
таблицы по умолчанию и не показаны в табл. 3.
Т а б л и ц а 3. Схема БД «МикроПоиск» в SQL
Название
объекта
Атрибуты Описание
1 2 3
Месторож-
дение
id_mest, Код, Шифр, Название,
ДопКод, Недропользователь, На-
чало_разработки, Подсчет_запасов,
Тип, ТипКоорд, Xmin, Xmax, Ymin,
Ymax, Пласты, Исследования, Ком-
ментарий, Файлы
Обьект «Ме-
сторождение»
с атрибутами
Продолжение табл.
1 2 3
Скважина
id_well, id_mest, Номер, Ствол,
Куст, Назначение, Состояние, Кате-
гория, Заказчик, Подрядчик, X, Y,
Альтитуда, Забой, Магнитное_
склонение, Проектный_ азимут,
Проектное_смещение, Азимут_
профиля, Дата_обработки, Интер-
вал, Начало_бурения, Конец_ буре-
ния, ИмяDBMфайла, TMP1, TMP2,
Комментарий
Обьект
«Скважина»
с атрибута-
ми
Пропластки
id_proplast, id_well, Скважина, Куст,
ИмяDBMфайла, Фрагмент, ZK, ZP,
к_ппл
Обьект
«Пропласт-
ки» с атри-
бутами
Параметры id, id_well, Код, Название, Значение
Обьект «Па-
раметры» с
атрибутами,
которые при-
надлежат
обьекту
«Скважина»
Типы данных
Для правильного представления данных в
базе используется система приведения типов
из типов данных СУБД «МикроПоиск» в SQL
[1]. В табл. 4 показано сравнение разных типов
в БД «МикроПоиск» и SQL, их размер в бай-
тах, формат данных.
Для каждого объекта и атрибута БД может
существовать синоним, потому что в некоторых
предметных областях один и тот же объект мо-
жет называться по-разному. Так же в схеме БД
появилась возможность создавать синонимы
для таблиц, потому что в SQL базе данных
групповые атрибуты могут иметь только уни-
кальные имена, а в БД «МикроПоиск» они мо-
гут быть одинаковыми, но принадлежать раз-
ным объектам.
Т а б л и ц а 4. Сопоставление типов в БД «МикроПоиск» и SQL
Тип данных СУБД
«МикроПоиск»
Тип данных SQL
Размер,
байт
Формат
TLONG int 4 %8ld
TINT smallint 2 %3d
TDOUBLE float 8 %2d
TFLOAT real 4 %10.6f
TCHARF nvarchar – %–5s
В SQL БД добавлена возможность присвое-
ния каждому атрибуту отдельного формата. Так,
УСиМ, 2012, № 4 81
в табл. 4 приведены примеры форматов, кото-
рые могут быть назначены для типов данных.
Примеры выполнения запросов
Для проверки основных операторов языка
запросов составим несколько примеров типич-
ных запросов. В табл. 5 и 6 показаны примеры
запросов к БД «МикроПоиск» и их аналоги в
SQL. Каждая таблица содержит описание запро-
са и время выполнения в миллисекундах.
Т а б л и ц а 5
Дать пользователю указать атрибут Название из таблицы Ме-
сторождение и потом присвоить атрибуту Шифр из таблицы
Месторождение значение «666»
МикроПоиск
m=_Указать ( Месторождение , Название ) ;
_Присвоить (m, Шифр =«666» ) ;
_Таблица (m )
SQL
select count(*) as OnesCount from [Место-
рождение]
select [id_mest] from [Месторождение]
select * from [Месторождение] where
[id_mest] =31
update [Месторождение] set [Шифр]= '666'
where [id_mest] =31
select * from [Месторождение] where
[id_mest] =31
select count(*) as OnesCount from [Место-
рождение]
select [id_mest] from [Месторождение]
select * from [Месторождение] where
[id_mest] =31
select * from [Пласты] where [id_mest] = 31
order by [id] ASC
select * from [Месторождение] where
[id_mest] =31
select * from [Исследования] where
[id_mest] = 31 order by [id] ASC
select * from [Месторождение] where
[id_mest] =31
Время выполне-
ния, миллисекунд
10
Просмотрев трассировку выполнения запро-
сов к БД «МикроПоиск» становится ясно, что
один запрос представлен несколькими запроса-
ми SQL, что существенно влияет на производи-
тельность. Эта проблема говорит о том, что нель-
зя в полной мере представить соотношение
один в один операторов БД «МикроПоиск» в
SQL. Потому были реализованы такие методы:
Загрузка индексов отдельно от данных. Ис-
пользование таблицы индексов и/или Recordset.
Буферизированный ввод данных.
Исследования разных методов записи дан-
ных в SQL
В процессе разработки была исследована
скорость выполнения отдельных SQL опера-
торов и их комбинаций для записи данных.
Т а б л и ц а 6
Дать пользователю указать атрибут Название из таблицы Ме-
сторождение, перейти по связи МестСкважина. Дать пользова-
телю указать атрибут Номер из таблицы Скважина. Перейти
по связи СквПропластки. Показать атрибут Скважина таблицы
Пропластки.
МикроПоиск
s=_Указать (Месторождение , Название )
/МестСкважина ;
s=_Указать (s , Номер );
g=s/СквПропластки ;
_Таблица ( g,Скважина )
SQL
select count(*) as OnesCount from [Место-
рождение]
select [id_mest] from [Месторождение]
select count([id_well]) as id_count from
[Скважина] where [id_mest]=31
select [id_well] from [Скважина] where
[id_mest]=31
select * from [Скважина] where [id_well]
=334
…
select * from [Скважина] where [id_well]
=363
select count([id_proplast]) as id_count from
[Пропластки] where [id_well]=337
select [id_proplast] from [Пропластки]
where [id_well]=337
select count(*) as OnesCount from [Пропла-
стки]
select [id_proplast] from [Пропластки]
select * from [Пропластки] where
[id_proplast] =231
select * from [Пропластки] where
[id_proplast] =232
Время выполне-
ния, миллисекунд
10
Такая проблема была вызвана малой скоро-
стью записи данных при большом количестве
запросов. Для исследования взят файл разме-
ром 324 Кб (949 строк), который был записан в
базу разными методами. Результаты исследо-
вания изложены в табл. 7.
DELETE/INSERT – сначала данные удаля-
ются из таблицы с помощью DELETE и после-
довательно вставляются с помощью INSERT;
82 УСиМ, 2012, № 4
Batch DELETE/INSERT – сначала данные
удаляются из таблицы с помощью DELETE,
далее запросы INSERT накапливаются и вы-
полняются в Batch режиме;
Последовательное выполнение UPDATE –
последовательно выполняются запросы типа
UPDATE;
Batch UPDATE – запросы типа UPDATE на-
капливаются и выполняются в Batch режиме.
Т а б л и ц а 7. Результаты разных методов записи данных в
SQL
Метод записи данных Время выполнения, секунды
DELETE/INSERT 4
Batch DELETE/INSERT 12
Последовательное выполнение
UPDATE
8
Batch UPDATE 14
На основании этого исследования был вы-
бран метод DELETE/INSERT и реализован ме-
тод буферизированного ввода данных.
Заключение. В статье описана технология
миграции устаревших программных платформ
на более современные на примере реализации
БД «МикроПоиск» в SQL. В процессе работы
реализовано схему базы данных в SQL; пере-
работаны некоторые операторы языка в соот-
ветствии с возможностями базы данных SQL;
проведено исследование по записи данных в ба-
зу данных SQL; реализован буферизированный
метод ввод данных; реализована поддержка
разных типов БД – старая БД «МикроПоиск» и
новая SQL БД «МикроПоиск»; для нахождения
разорванных связей и восстановления БД пре-
дусмотрена система восстановления после
сбоев; для удобного администрирования БД
реализован набор функций по созданию точек
восстановления; реализована встроенная сис-
тема аутентификации; проведен сравнительный
анализ выполнения запросов в БД «МикроПо-
иск» и SQL.
1. ДСТУ ISO/IEC 9075-1:2008 Інформаційні технології.
Мови баз даних – SQL. Ч. 1. – К.: Держспоживстан-
дарт України, 2003 – Нац. стандарт України. – Введ.
2003-07-01.
2. Cloud analytics: Do we really need to reinvent the storage
stack? / A. Rajagopal, G. Karan, P. Prashant et al. // Hot-
Cloud '09 the 2009 USENIX Annual Techn. Conf.
(USENIX '09), June 14–19, 2009.
3. Database-Agnostic Transaction Support for Cloud
Infrastructures / C. Navraj, C. Bunch, C. Krintz et al.
// USENIX Annual Techn. Conf. (USENIX '09), June
14–19, 2009.
4. Megastore: Providing Scalable, Highly Available Storage
for Interactive Services / J. Baker, C. Bondc, J. Corbett
et al. // Conf. on Innov. Data Syst. Res. (CIDR), Jan.
2011. – P. 223–234.
5. Bigtable: A Distributed Storage System for Structured
Data. / F. Chang, D. Jeffrey, G. Sanjay et al. // Google.
OSDI'06: Seventh Symp. on Operating Syst. Design
and Implementation, Seattle, WA, Nov. 2006.
6. Kellerman J. HBase: structured storage of sparse data
for Hadoop. – http://blog.rapleaf.com/wp-content/up-
loads/ 2007/12/hbase.pdf 22, Dec. 2011.
7. Jerey D., Sanjay G. Mapreduce: simplied data processing
on large clusters. Commun. ACM. – 2008. – P. 107–113.
8. Lakshman A., Malik P. Cassandra – A Decentralized
Structured Storage System // The 3rd ACM SIGOPS
Intern. Workshop on Large Scale Distributed Systems
and Middleware. – New York: Cornell University.
11.10.2009.
9. Sanjay G., Howard G., Shun-Tak L. The google file
system. SOSP '03: Proc. of the 19 th ACM symp. on
Operating systems principles. – New York, NY, USA,
2003. – P. 29–43.
10. Lennon J. Exploring CouchDB. IBM. 31 Mar. 2009. –
http://www.ibm.com/developerworks/opensource/library/
os-couchdb/index.html
11. Brown MC. Getting Started with CouchDB. – New
York: O'Reilly Media, – Febr. 2012. – P. 50.
12. Оптимізація запитів при конвертації DL/1 (IMS)
в SQL / А.В. Анісімов, О.П. Кулябко, П.П. Кулябко
та ін. // УкрПРОГ, 25–27 трав. 2010 р., м. Київ,
Україна.
13. Информационные хранилища в промысловой гео-
физике / В.О. Гречко , В.Г. Тульчинский, П.Г. Туль-
чинский и др. // Проблемы программирования. –
2000. – № 1–2. – С. 42–48.
14. Развитие технологии «ГеоПоиск» для изучения неф-
тегазовых и рудных месторождений. НТВ «Каротаж-
ник» / В.Д. Косаченко, М.Д. Красножон, В.Г. Туль-
чинский и др. // – Тверь: АИС, 2007. – 155. – С. 50–67.
Поступила 05.04.2012
Тел. для справок: (044) 526-3603 (Киев)
E-mail: pgt@ukr.net
© В.В. Фальфушинский, 2012
<<
/ASCII85EncodePages false
/AllowTransparency false
/AutoPositionEPSFiles true
/AutoRotatePages /None
/Binding /Left
/CalGrayProfile (Dot Gain 20%)
/CalRGBProfile (sRGB IEC61966-2.1)
/CalCMYKProfile (U.S. Web Coated \050SWOP\051 v2)
/sRGBProfile (sRGB IEC61966-2.1)
/CannotEmbedFontPolicy /Error
/CompatibilityLevel 1.4
/CompressObjects /Tags
/CompressPages true
/ConvertImagesToIndexed true
/PassThroughJPEGImages true
/CreateJobTicket false
/DefaultRenderingIntent /Default
/DetectBlends true
/DetectCurves 0.0000
/ColorConversionStrategy /CMYK
/DoThumbnails false
/EmbedAllFonts true
/EmbedOpenType false
/ParseICCProfilesInComments true
/EmbedJobOptions true
/DSCReportingLevel 0
/EmitDSCWarnings false
/EndPage -1
/ImageMemory 1048576
/LockDistillerParams false
/MaxSubsetPct 100
/Optimize true
/OPM 1
/ParseDSCComments true
/ParseDSCCommentsForDocInfo true
/PreserveCopyPage true
/PreserveDICMYKValues true
/PreserveEPSInfo true
/PreserveFlatness true
/PreserveHalftoneInfo false
/PreserveOPIComments true
/PreserveOverprintSettings true
/StartPage 1
/SubsetFonts true
/TransferFunctionInfo /Apply
/UCRandBGInfo /Preserve
/UsePrologue false
/ColorSettingsFile ()
/AlwaysEmbed [ true
]
/NeverEmbed [ true
]
/AntiAliasColorImages false
/CropColorImages true
/ColorImageMinResolution 300
/ColorImageMinResolutionPolicy /OK
/DownsampleColorImages true
/ColorImageDownsampleType /Bicubic
/ColorImageResolution 300
/ColorImageDepth -1
/ColorImageMinDownsampleDepth 1
/ColorImageDownsampleThreshold 1.50000
/EncodeColorImages true
/ColorImageFilter /DCTEncode
/AutoFilterColorImages true
/ColorImageAutoFilterStrategy /JPEG
/ColorACSImageDict <<
/QFactor 0.15
/HSamples [1 1 1 1] /VSamples [1 1 1 1]
>>
/ColorImageDict <<
/QFactor 0.15
/HSamples [1 1 1 1] /VSamples [1 1 1 1]
>>
/JPEG2000ColorACSImageDict <<
/TileWidth 256
/TileHeight 256
/Quality 30
>>
/JPEG2000ColorImageDict <<
/TileWidth 256
/TileHeight 256
/Quality 30
>>
/AntiAliasGrayImages false
/CropGrayImages true
/GrayImageMinResolution 300
/GrayImageMinResolutionPolicy /OK
/DownsampleGrayImages true
/GrayImageDownsampleType /Bicubic
/GrayImageResolution 300
/GrayImageDepth -1
/GrayImageMinDownsampleDepth 2
/GrayImageDownsampleThreshold 1.50000
/EncodeGrayImages true
/GrayImageFilter /DCTEncode
/AutoFilterGrayImages true
/GrayImageAutoFilterStrategy /JPEG
/GrayACSImageDict <<
/QFactor 0.15
/HSamples [1 1 1 1] /VSamples [1 1 1 1]
>>
/GrayImageDict <<
/QFactor 0.15
/HSamples [1 1 1 1] /VSamples [1 1 1 1]
>>
/JPEG2000GrayACSImageDict <<
/TileWidth 256
/TileHeight 256
/Quality 30
>>
/JPEG2000GrayImageDict <<
/TileWidth 256
/TileHeight 256
/Quality 30
>>
/AntiAliasMonoImages false
/CropMonoImages true
/MonoImageMinResolution 1200
/MonoImageMinResolutionPolicy /OK
/DownsampleMonoImages true
/MonoImageDownsampleType /Bicubic
/MonoImageResolution 1200
/MonoImageDepth -1
/MonoImageDownsampleThreshold 1.50000
/EncodeMonoImages true
/MonoImageFilter /CCITTFaxEncode
/MonoImageDict <<
/K -1
>>
/AllowPSXObjects false
/CheckCompliance [
/None
]
/PDFX1aCheck false
/PDFX3Check false
/PDFXCompliantPDFOnly false
/PDFXNoTrimBoxError true
/PDFXTrimBoxToMediaBoxOffset [
0.00000
0.00000
0.00000
0.00000
]
/PDFXSetBleedBoxToMediaBox true
/PDFXBleedBoxToTrimBoxOffset [
0.00000
0.00000
0.00000
0.00000
]
/PDFXOutputIntentProfile ()
/PDFXOutputConditionIdentifier ()
/PDFXOutputCondition ()
/PDFXRegistryName ()
/PDFXTrapped /False
/CreateJDFFile false
/Description <<
/ARA <FEFF06270633062A062E062F0645002006470630064700200627064406250639062F0627062F0627062A002006440625064606340627062100200648062B062706260642002000410064006F00620065002000500044004600200645062A064806270641064206290020064406440637062806270639062900200641064A00200627064406450637062706280639002006300627062A0020062F0631062C0627062A002006270644062C0648062F0629002006270644063906270644064A0629061B0020064A06450643064600200641062A062D00200648062B0627062606420020005000440046002006270644064506460634062306290020062806270633062A062E062F062706450020004100630072006F0062006100740020064800410064006F006200650020005200650061006400650072002006250635062F0627063100200035002E0030002006480627064406250635062F062706310627062A0020062706440623062D062F062B002E0635062F0627063100200035002E0030002006480627064406250635062F062706310627062A0020062706440623062D062F062B002E>
/BGR <FEFF04180437043f043e043b043704320430043904420435002004420435043704380020043d0430044104420440043e0439043a0438002c00200437043000200434043000200441044a0437043404300432043004420435002000410064006f00620065002000500044004600200434043e043a0443043c0435043d04420438002c0020043c0430043a04410438043c0430043b043d043e0020043f044004380433043e04340435043d04380020043704300020043204380441043e043a043e043a0430044704350441044204320435043d0020043f04350447043004420020043704300020043f044004350434043f0435044704300442043d04300020043f043e04340433043e0442043e0432043a0430002e002000200421044a04370434043004340435043d043804420435002000500044004600200434043e043a0443043c0435043d044204380020043c043e0433043004420020043404300020044104350020043e0442043204300440044f0442002004410020004100630072006f00620061007400200438002000410064006f00620065002000520065006100640065007200200035002e00300020043800200441043b0435043404320430044904380020043204350440044104380438002e>
/CHS <FEFF4f7f75288fd94e9b8bbe5b9a521b5efa7684002000410064006f006200650020005000440046002065876863900275284e8e9ad88d2891cf76845370524d53705237300260a853ef4ee54f7f75280020004100630072006f0062006100740020548c002000410064006f00620065002000520065006100640065007200200035002e003000204ee553ca66f49ad87248672c676562535f00521b5efa768400200050004400460020658768633002>
/CHT <FEFF4f7f752890194e9b8a2d7f6e5efa7acb7684002000410064006f006200650020005000440046002065874ef69069752865bc9ad854c18cea76845370524d5370523786557406300260a853ef4ee54f7f75280020004100630072006f0062006100740020548c002000410064006f00620065002000520065006100640065007200200035002e003000204ee553ca66f49ad87248672c4f86958b555f5df25efa7acb76840020005000440046002065874ef63002>
/CZE <FEFF005400610074006f0020006e006100730074006100760065006e00ed00200070006f0075017e0069006a007400650020006b0020007600790074007600e101590065006e00ed00200064006f006b0075006d0065006e0074016f002000410064006f006200650020005000440046002c0020006b00740065007200e90020007300650020006e0065006a006c00e90070006500200068006f006400ed002000700072006f0020006b00760061006c00690074006e00ed0020007400690073006b00200061002000700072006500700072006500730073002e002000200056007900740076006f01590065006e00e900200064006f006b0075006d0065006e007400790020005000440046002000620075006400650020006d006f017e006e00e90020006f007400650076015900ed007400200076002000700072006f006700720061006d0065006300680020004100630072006f00620061007400200061002000410064006f00620065002000520065006100640065007200200035002e0030002000610020006e006f0076011b006a016100ed00630068002e>
/DAN <FEFF004200720075006700200069006e0064007300740069006c006c0069006e006700650072006e0065002000740069006c0020006100740020006f007000720065007400740065002000410064006f006200650020005000440046002d0064006f006b0075006d0065006e007400650072002c0020006400650072002000620065006400730074002000650067006e006500720020007300690067002000740069006c002000700072006500700072006500730073002d007500640073006b007200690076006e0069006e00670020006100660020006800f8006a0020006b00760061006c0069007400650074002e0020004400650020006f007000720065007400740065006400650020005000440046002d0064006f006b0075006d0065006e0074006500720020006b0061006e002000e50062006e00650073002000690020004100630072006f00620061007400200065006c006c006500720020004100630072006f006200610074002000520065006100640065007200200035002e00300020006f00670020006e0079006500720065002e>
/DEU <FEFF00560065007200770065006e00640065006e0020005300690065002000640069006500730065002000450069006e007300740065006c006c0075006e00670065006e0020007a0075006d002000450072007300740065006c006c0065006e00200076006f006e002000410064006f006200650020005000440046002d0044006f006b0075006d0065006e00740065006e002c00200076006f006e002000640065006e0065006e002000530069006500200068006f006300680077006500720074006900670065002000500072006500700072006500730073002d0044007200750063006b0065002000650072007a0065007500670065006e0020006d00f60063006800740065006e002e002000450072007300740065006c006c007400650020005000440046002d0044006f006b0075006d0065006e007400650020006b00f6006e006e0065006e0020006d006900740020004100630072006f00620061007400200075006e0064002000410064006f00620065002000520065006100640065007200200035002e00300020006f0064006500720020006800f600680065007200200067006500f600660066006e00650074002000770065007200640065006e002e>
/ESP <FEFF005500740069006c0069006300650020006500730074006100200063006f006e0066006900670075007200610063006900f3006e0020007000610072006100200063007200650061007200200064006f00630075006d0065006e0074006f00730020005000440046002000640065002000410064006f0062006500200061006400650063007500610064006f00730020007000610072006100200069006d0070007200650073006900f3006e0020007000720065002d0065006400690074006f007200690061006c00200064006500200061006c00740061002000630061006c0069006400610064002e002000530065002000700075006500640065006e00200061006200720069007200200064006f00630075006d0065006e0074006f00730020005000440046002000630072006500610064006f007300200063006f006e0020004100630072006f006200610074002c002000410064006f00620065002000520065006100640065007200200035002e003000200079002000760065007200730069006f006e0065007300200070006f00730074006500720069006f007200650073002e>
/ETI <FEFF004b00610073007500740061006700650020006e0065006900640020007300e4007400740065006900640020006b00760061006c006900740065006500740073006500200074007200fc006b006900650065006c007300650020007000720069006e00740069006d0069007300650020006a0061006f006b007300200073006f00620069006c0069006b0065002000410064006f006200650020005000440046002d0064006f006b0075006d0065006e00740069006400650020006c006f006f006d006900730065006b0073002e00200020004c006f006f0064007500640020005000440046002d0064006f006b0075006d0065006e00740065002000730061006100740065002000610076006100640061002000700072006f006700720061006d006d006900640065006700610020004100630072006f0062006100740020006e0069006e0067002000410064006f00620065002000520065006100640065007200200035002e00300020006a00610020007500750065006d006100740065002000760065007200730069006f006f006e00690064006500670061002e000d000a>
/FRA <FEFF005500740069006c006900730065007a00200063006500730020006f007000740069006f006e00730020006100660069006e00200064006500200063007200e900650072002000640065007300200064006f00630075006d0065006e00740073002000410064006f00620065002000500044004600200070006f0075007200200075006e00650020007100750061006c0069007400e90020006400270069006d007000720065007300730069006f006e00200070007200e9007000720065007300730065002e0020004c0065007300200064006f00630075006d0065006e00740073002000500044004600200063007200e900e90073002000700065007500760065006e0074002000ea0074007200650020006f007500760065007200740073002000640061006e00730020004100630072006f006200610074002c002000610069006e00730069002000710075002700410064006f00620065002000520065006100640065007200200035002e0030002000650074002000760065007200730069006f006e007300200075006c007400e90072006900650075007200650073002e>
/GRE <FEFF03a703c103b703c303b903bc03bf03c003bf03b903ae03c303c403b5002003b103c503c403ad03c2002003c403b903c2002003c103c503b803bc03af03c303b503b903c2002003b303b903b1002003bd03b1002003b403b703bc03b903bf03c503c103b303ae03c303b503c403b5002003ad03b303b303c103b103c603b1002000410064006f006200650020005000440046002003c003bf03c5002003b503af03bd03b103b9002003ba03b103c42019002003b503be03bf03c703ae03bd002003ba03b103c403ac03bb03bb03b703bb03b1002003b303b903b1002003c003c103bf002d03b503ba03c403c503c003c903c403b903ba03ad03c2002003b503c103b303b103c303af03b503c2002003c503c803b703bb03ae03c2002003c003bf03b903cc03c403b703c403b103c2002e0020002003a403b10020005000440046002003ad03b303b303c103b103c603b1002003c003bf03c5002003ad03c703b503c403b5002003b403b703bc03b903bf03c503c103b303ae03c303b503b9002003bc03c003bf03c103bf03cd03bd002003bd03b1002003b103bd03bf03b903c703c403bf03cd03bd002003bc03b5002003c403bf0020004100630072006f006200610074002c002003c403bf002000410064006f00620065002000520065006100640065007200200035002e0030002003ba03b103b9002003bc03b503c403b103b303b503bd03ad03c303c403b503c103b503c2002003b503ba03b403cc03c303b503b903c2002e>
/HEB <FEFF05D405E905EA05DE05E905D5002005D105D405D205D305E805D505EA002005D005DC05D4002005DB05D305D9002005DC05D905E605D505E8002005DE05E105DE05DB05D9002000410064006F006200650020005000440046002005D405DE05D505EA05D005DE05D905DD002005DC05D405D305E405E105EA002005E705D305DD002D05D305E405D505E1002005D005D905DB05D505EA05D905EA002E002005DE05E105DE05DB05D90020005000440046002005E905E005D505E605E805D5002005E005D905EA05E005D905DD002005DC05E405EA05D905D705D4002005D105D005DE05E605E205D505EA0020004100630072006F006200610074002005D5002D00410064006F00620065002000520065006100640065007200200035002E0030002005D505D205E805E105D005D505EA002005DE05EA05E705D305DE05D505EA002005D905D505EA05E8002E05D005DE05D905DD002005DC002D005000440046002F0058002D0033002C002005E205D905D905E005D5002005D105DE05D305E805D905DA002005DC05DE05E905EA05DE05E9002005E905DC0020004100630072006F006200610074002E002005DE05E105DE05DB05D90020005000440046002005E905E005D505E605E805D5002005E005D905EA05E005D905DD002005DC05E405EA05D905D705D4002005D105D005DE05E605E205D505EA0020004100630072006F006200610074002005D5002D00410064006F00620065002000520065006100640065007200200035002E0030002005D505D205E805E105D005D505EA002005DE05EA05E705D305DE05D505EA002005D905D505EA05E8002E>
/HRV (Za stvaranje Adobe PDF dokumenata najpogodnijih za visokokvalitetni ispis prije tiskanja koristite ove postavke. Stvoreni PDF dokumenti mogu se otvoriti Acrobat i Adobe Reader 5.0 i kasnijim verzijama.)
/HUN <FEFF004b0069007600e1006c00f30020006d0069006e0151007300e9006701710020006e0079006f006d00640061006900200065006c0151006b00e90073007a00ed007401510020006e0079006f006d00740061007400e100730068006f007a0020006c006500670069006e006b00e1006200620020006d0065006700660065006c0065006c0151002000410064006f00620065002000500044004600200064006f006b0075006d0065006e00740075006d006f006b0061007400200065007a0065006b006b0065006c0020006100200062006500e1006c006c00ed007400e10073006f006b006b0061006c0020006b00e90073007a00ed0074006800650074002e0020002000410020006c00e90074007200650068006f007a006f00740074002000500044004600200064006f006b0075006d0065006e00740075006d006f006b00200061007a0020004100630072006f006200610074002000e9007300200061007a002000410064006f00620065002000520065006100640065007200200035002e0030002c0020007600610067007900200061007a002000610074007400f3006c0020006b00e9007301510062006200690020007600650072007a006900f3006b006b0061006c0020006e00790069007400680061007400f3006b0020006d00650067002e>
/ITA <FEFF005500740069006c0069007a007a006100720065002000710075006500730074006500200069006d0070006f007300740061007a0069006f006e00690020007000650072002000630072006500610072006500200064006f00630075006d0065006e00740069002000410064006f00620065002000500044004600200070006900f900200061006400610074007400690020006100200075006e00610020007000720065007300740061006d0070006100200064006900200061006c007400610020007100750061006c0069007400e0002e0020004900200064006f00630075006d0065006e007400690020005000440046002000630072006500610074006900200070006f00730073006f006e006f0020006500730073006500720065002000610070006500720074006900200063006f006e0020004100630072006f00620061007400200065002000410064006f00620065002000520065006100640065007200200035002e003000200065002000760065007200730069006f006e006900200073007500630063006500730073006900760065002e>
/JPN <FEFF9ad854c18cea306a30d730ea30d730ec30b951fa529b7528002000410064006f0062006500200050004400460020658766f8306e4f5c6210306b4f7f75283057307e305930023053306e8a2d5b9a30674f5c62103055308c305f0020005000440046002030d530a130a430eb306f3001004100630072006f0062006100740020304a30883073002000410064006f00620065002000520065006100640065007200200035002e003000204ee5964d3067958b304f30533068304c3067304d307e305930023053306e8a2d5b9a306b306f30d530a930f330c8306e57cb30818fbc307f304c5fc59808306730593002>
/KOR <FEFFc7740020c124c815c7440020c0acc6a9d558c5ec0020ace0d488c9c80020c2dcd5d80020c778c1c4c5d00020ac00c7a50020c801d569d55c002000410064006f0062006500200050004400460020bb38c11cb97c0020c791c131d569b2c8b2e4002e0020c774b807ac8c0020c791c131b41c00200050004400460020bb38c11cb2940020004100630072006f0062006100740020bc0f002000410064006f00620065002000520065006100640065007200200035002e00300020c774c0c1c5d0c11c0020c5f40020c2180020c788c2b5b2c8b2e4002e>
/LTH <FEFF004e006100750064006f006b0069007400650020016100690075006f007300200070006100720061006d006500740072007500730020006e006f0072011700640061006d00690020006b0075007200740069002000410064006f00620065002000500044004600200064006f006b0075006d0065006e007400750073002c0020006b00750072006900650020006c0061006200690061007500730069006100690020007000720069007400610069006b007900740069002000610075006b01610074006f00730020006b006f006b007900620117007300200070006100720065006e006700740069006e00690061006d00200073007000610075007300640069006e0069006d00750069002e0020002000530075006b0075007200740069002000500044004600200064006f006b0075006d0065006e007400610069002000670061006c006900200062016b007400690020006100740069006400610072006f006d00690020004100630072006f006200610074002000690072002000410064006f00620065002000520065006100640065007200200035002e0030002000610072002000760117006c00650073006e0117006d00690073002000760065007200730069006a006f006d00690073002e>
/LVI <FEFF0049007a006d0061006e0074006f006a00690065007400200161006f00730020006900650073007400610074012b006a0075006d00750073002c0020006c0061006900200076006500690064006f00740075002000410064006f00620065002000500044004600200064006f006b0075006d0065006e007400750073002c0020006b006100730020006900720020012b00700061016100690020007000690065006d01130072006f00740069002000610075006700730074006100730020006b00760061006c0069007401010074006500730020007000690072006d007300690065007300700069006501610061006e006100730020006400720075006b00610069002e00200049007a0076006500690064006f006a006900650074002000500044004600200064006f006b0075006d0065006e007400750073002c0020006b006f002000760061007200200061007400760113007200740020006100720020004100630072006f00620061007400200075006e002000410064006f00620065002000520065006100640065007200200035002e0030002c0020006b0101002000610072012b00200074006f0020006a00610075006e0101006b0101006d002000760065007200730069006a0101006d002e>
/NLD (Gebruik deze instellingen om Adobe PDF-documenten te maken die zijn geoptimaliseerd voor prepress-afdrukken van hoge kwaliteit. De gemaakte PDF-documenten kunnen worden geopend met Acrobat en Adobe Reader 5.0 en hoger.)
/NOR <FEFF004200720075006b00200064006900730073006500200069006e006e007300740069006c006c0069006e00670065006e0065002000740069006c002000e50020006f0070007000720065007400740065002000410064006f006200650020005000440046002d0064006f006b0075006d0065006e00740065007200200073006f006d00200065007200200062006500730074002000650067006e0065007400200066006f00720020006600f80072007400720079006b006b0073007500740073006b00720069006600740020006100760020006800f800790020006b00760061006c0069007400650074002e0020005000440046002d0064006f006b0075006d0065006e00740065006e00650020006b0061006e002000e50070006e00650073002000690020004100630072006f00620061007400200065006c006c00650072002000410064006f00620065002000520065006100640065007200200035002e003000200065006c006c00650072002000730065006e006500720065002e>
/POL <FEFF0055007300740061007700690065006e0069006100200064006f002000740077006f0072007a0065006e0069006100200064006f006b0075006d0065006e007400f300770020005000440046002000700072007a0065007a006e00610063007a006f006e00790063006800200064006f002000770079006400720075006b00f30077002000770020007700790073006f006b00690065006a0020006a0061006b006f015b00630069002e002000200044006f006b0075006d0065006e0074007900200050004400460020006d006f017c006e00610020006f007400770069006500720061010700200077002000700072006f006700720061006d006900650020004100630072006f00620061007400200069002000410064006f00620065002000520065006100640065007200200035002e0030002000690020006e006f00770073007a0079006d002e>
/PTB <FEFF005500740069006c0069007a006500200065007300730061007300200063006f006e00660069006700750072006100e700f50065007300200064006500200066006f0072006d00610020006100200063007200690061007200200064006f00630075006d0065006e0074006f0073002000410064006f0062006500200050004400460020006d00610069007300200061006400650071007500610064006f00730020007000610072006100200070007200e9002d0069006d0070007200650073007300f50065007300200064006500200061006c007400610020007100750061006c00690064006100640065002e0020004f007300200064006f00630075006d0065006e0074006f00730020005000440046002000630072006900610064006f007300200070006f00640065006d0020007300650072002000610062006500720074006f007300200063006f006d0020006f0020004100630072006f006200610074002000650020006f002000410064006f00620065002000520065006100640065007200200035002e0030002000650020007600650072007300f50065007300200070006f00730074006500720069006f007200650073002e>
/RUM <FEFF005500740069006c0069007a00610163006900200061006300650073007400650020007300650074010300720069002000700065006e007400720075002000610020006300720065006100200064006f00630075006d0065006e00740065002000410064006f006200650020005000440046002000610064006500630076006100740065002000700065006e0074007200750020007400690070010300720069007200650061002000700072006500700072006500730073002000640065002000630061006c006900740061007400650020007300750070006500720069006f006100720103002e002000200044006f00630075006d0065006e00740065006c00650020005000440046002000630072006500610074006500200070006f00740020006600690020006400650073006300680069007300650020006300750020004100630072006f006200610074002c002000410064006f00620065002000520065006100640065007200200035002e00300020015f00690020007600650072007300690075006e0069006c006500200075006c0074006500720069006f006100720065002e>
/RUS <FEFF04180441043f043e043b044c04370443043904420435002004340430043d043d044b04350020043d0430044104420440043e0439043a043800200434043b044f00200441043e043704340430043d0438044f00200434043e043a0443043c0435043d0442043e0432002000410064006f006200650020005000440046002c0020043c0430043a04410438043c0430043b044c043d043e0020043f043e04340445043e0434044f04490438044500200434043b044f00200432044b0441043e043a043e043a0430044704350441044204320435043d043d043e0433043e00200434043e043f0435044704300442043d043e0433043e00200432044b0432043e04340430002e002000200421043e043704340430043d043d044b04350020005000440046002d0434043e043a0443043c0435043d0442044b0020043c043e0436043d043e0020043e0442043a0440044b043204300442044c002004410020043f043e043c043e0449044c044e0020004100630072006f00620061007400200438002000410064006f00620065002000520065006100640065007200200035002e00300020043800200431043e043b043504350020043f043e04370434043d043804450020043204350440044104380439002e>
/SKY <FEFF0054006900650074006f0020006e006100730074006100760065006e0069006100200070006f0075017e0069007400650020006e00610020007600790074007600e100720061006e0069006500200064006f006b0075006d0065006e0074006f0076002000410064006f006200650020005000440046002c0020006b0074006f007200e90020007300610020006e0061006a006c0065007001610069006500200068006f0064006900610020006e00610020006b00760061006c00690074006e00fa00200074006c0061010d00200061002000700072006500700072006500730073002e00200056007900740076006f00720065006e00e900200064006f006b0075006d0065006e007400790020005000440046002000620075006400650020006d006f017e006e00e90020006f00740076006f00720069016500200076002000700072006f006700720061006d006f006300680020004100630072006f00620061007400200061002000410064006f00620065002000520065006100640065007200200035002e0030002000610020006e006f0076016100ed00630068002e>
/SLV <FEFF005400650020006e006100730074006100760069007400760065002000750070006f0072006100620069007400650020007a00610020007500730074007600610072006a0061006e006a006500200064006f006b0075006d0065006e0074006f0076002000410064006f006200650020005000440046002c0020006b006900200073006f0020006e0061006a007000720069006d00650072006e0065006a016100690020007a00610020006b0061006b006f0076006f00730074006e006f0020007400690073006b0061006e006a00650020007300200070007200690070007200610076006f0020006e00610020007400690073006b002e00200020005500730074007600610072006a0065006e006500200064006f006b0075006d0065006e0074006500200050004400460020006a00650020006d006f0067006f010d00650020006f0064007000720065007400690020007a0020004100630072006f00620061007400200069006e002000410064006f00620065002000520065006100640065007200200035002e003000200069006e0020006e006f00760065006a01610069006d002e>
/SUO <FEFF004b00e40079007400e40020006e00e40069007400e4002000610073006500740075006b007300690061002c0020006b0075006e0020006c0075006f00740020006c00e400680069006e006e00e4002000760061006100740069007600610061006e0020007000610069006e006100740075006b00730065006e002000760061006c006d0069007300740065006c00750074007900f6006800f6006e00200073006f00700069007600690061002000410064006f0062006500200050004400460020002d0064006f006b0075006d0065006e007400740065006a0061002e0020004c0075006f0064007500740020005000440046002d0064006f006b0075006d0065006e00740069007400200076006f0069006400610061006e0020006100760061007400610020004100630072006f0062006100740069006c006c00610020006a0061002000410064006f00620065002000520065006100640065007200200035002e0030003a006c006c00610020006a006100200075007500640065006d006d0069006c006c0061002e>
/SVE <FEFF0041006e007600e4006e00640020006400650020006800e4007200200069006e0073007400e4006c006c006e0069006e006700610072006e00610020006f006d002000640075002000760069006c006c00200073006b006100700061002000410064006f006200650020005000440046002d0064006f006b0075006d0065006e007400200073006f006d002000e400720020006c00e4006d0070006c0069006700610020006600f60072002000700072006500700072006500730073002d007500740073006b00720069006600740020006d006500640020006800f600670020006b00760061006c0069007400650074002e002000200053006b006100700061006400650020005000440046002d0064006f006b0075006d0065006e00740020006b0061006e002000f600700070006e00610073002000690020004100630072006f0062006100740020006f00630068002000410064006f00620065002000520065006100640065007200200035002e00300020006f00630068002000730065006e006100720065002e>
/TUR <FEFF005900fc006b00730065006b0020006b0061006c006900740065006c0069002000f6006e002000790061007a006401310072006d00610020006200610073006b013100730131006e006100200065006e0020006900790069002000750079006100620069006c006500630065006b002000410064006f006200650020005000440046002000620065006c00670065006c0065007200690020006f006c0075015f007400750072006d0061006b0020006900e70069006e00200062007500200061007900610072006c0061007201310020006b0075006c006c0061006e0131006e002e00200020004f006c0075015f0074007500720075006c0061006e0020005000440046002000620065006c00670065006c0065007200690020004100630072006f006200610074002000760065002000410064006f00620065002000520065006100640065007200200035002e003000200076006500200073006f006e0072006100730131006e00640061006b00690020007300fc007200fc006d006c00650072006c00650020006100e70131006c006100620069006c00690072002e>
/UKR <FEFF04120438043a043e0440043804410442043e043204430439044204350020044604560020043f043004400430043c043504420440043800200434043b044f0020044104420432043e04400435043d043d044f00200434043e043a0443043c0435043d044204560432002000410064006f006200650020005000440046002c0020044f043a04560020043d04300439043a04400430044904350020043f045604340445043e0434044f0442044c00200434043b044f0020043204380441043e043a043e044f043a04560441043d043e0433043e0020043f0435044004350434043404400443043a043e0432043e0433043e0020043404400443043a0443002e00200020042104420432043e04400435043d045600200434043e043a0443043c0435043d0442043800200050004400460020043c043e0436043d04300020043204560434043a0440043804420438002004430020004100630072006f006200610074002004420430002000410064006f00620065002000520065006100640065007200200035002e0030002004300431043e0020043f04560437043d04560448043e04570020043204350440044104560457002e>
/ENU (Use these settings to create Adobe PDF documents best suited for high-quality prepress printing. Created PDF documents can be opened with Acrobat and Adobe Reader 5.0 and later.)
>>
/Namespace [
(Adobe)
(Common)
(1.0)
]
/OtherNamespaces [
<<
/AsReaderSpreads false
/CropImagesToFrames true
/ErrorControl /WarnAndContinue
/FlattenerIgnoreSpreadOverrides false
/IncludeGuidesGrids false
/IncludeNonPrinting false
/IncludeSlug false
/Namespace [
(Adobe)
(InDesign)
(4.0)
]
/OmitPlacedBitmaps false
/OmitPlacedEPS false
/OmitPlacedPDF false
/SimulateOverprint /Legacy
>>
<<
/AddBleedMarks false
/AddColorBars false
/AddCropMarks false
/AddPageInfo false
/AddRegMarks false
/ConvertColors /ConvertToCMYK
/DestinationProfileName ()
/DestinationProfileSelector /DocumentCMYK
/Downsample16BitImages true
/FlattenerPreset <<
/PresetSelector /MediumResolution
>>
/FormElements false
/GenerateStructure false
/IncludeBookmarks false
/IncludeHyperlinks false
/IncludeInteractive false
/IncludeLayers false
/IncludeProfiles false
/MultimediaHandling /UseObjectSettings
/Namespace [
(Adobe)
(CreativeSuite)
(2.0)
]
/PDFXOutputIntentProfileSelector /DocumentCMYK
/PreserveEditing true
/UntaggedCMYKHandling /LeaveUntagged
/UntaggedRGBHandling /UseDocumentProfile
/UseDocumentBleed false
>>
]
>> setdistillerparams
<<
/HWResolution [2400 2400]
/PageSize [612.000 792.000]
>> setpagedevice
|
| id | nasplib_isofts_kiev_ua-123456789-83085 |
| institution | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| issn | 0130-5395 |
| language | Russian |
| last_indexed | 2025-12-07T17:38:28Z |
| publishDate | 2012 |
| publisher | Міжнародний науково-навчальний центр інформаційних технологій і систем НАН та МОН України |
| record_format | dspace |
| spelling | Фальфушинский, В.В. 2015-06-14T11:10:38Z 2015-06-14T11:10:38Z 2012 Миграция устаревших программных платформ / В.В. Фальфушинский // Управляющие системы и машины. — 2012. — № 4. — С. 75-82. — Бібліогр.: 14 назв. — рос. 0130-5395 https://nasplib.isofts.kiev.ua/handle/123456789/83085 681.3:002.651.028(083.73) Предложен обзор метода миграции устаревших программных платформ и их улучшений на примере баз данных. Приведены основные аспекты, которые следует учитывать при повторном использовании метода миграции для других программных платформ. Исследованы скорости выполнения запросов на программной платформе после миграции. A brief overview of the migration of old program platforms and their improvements are described on the example of data bases The main aspects are highlighted, that can be used in re-using such a method of migration of old program platforms. Also, the research of execution speed of queries is made on a program platform after the migration. Запропоновано огляд методу міграції застарілих програмних платформ та їх покращення на прикладі баз даних. Наведено основні аспекти, які слід враховувати при повторному застосуванні методу міграції для інших програмних платформ. Досліджено швидкості виконання запитів на програмній платформі після міграції. ru Міжнародний науково-навчальний центр інформаційних технологій і систем НАН та МОН України Управляющие системы и машины Программная инженерия и программные средства Миграция устаревших программных платформ The Migration of Old Program Platforms Міграція застарілих програмних платформ Article published earlier |
| spellingShingle | Миграция устаревших программных платформ Фальфушинский, В.В. Программная инженерия и программные средства |
| title | Миграция устаревших программных платформ |
| title_alt | The Migration of Old Program Platforms Міграція застарілих програмних платформ |
| title_full | Миграция устаревших программных платформ |
| title_fullStr | Миграция устаревших программных платформ |
| title_full_unstemmed | Миграция устаревших программных платформ |
| title_short | Миграция устаревших программных платформ |
| title_sort | миграция устаревших программных платформ |
| topic | Программная инженерия и программные средства |
| topic_facet | Программная инженерия и программные средства |
| url | https://nasplib.isofts.kiev.ua/handle/123456789/83085 |
| work_keys_str_mv | AT falʹfušinskiivv migraciâustarevšihprogrammnyhplatform AT falʹfušinskiivv themigrationofoldprogramplatforms AT falʹfušinskiivv mígracíâzastarílihprogramnihplatform |