Смекни!
smekni.com

Компьютерное моделирование для исследования физических явлений в нефтедобыче (стр. 2 из 5)

Постановка задачи

Даже с успешно введенным в эксплуатацию приложением со временем возникают проблемы производительности, так как меняется сама система: происходит рост хранимой информации, появляются новые пользователи, изменяется состав данных. Поэтому, чтобы не допустить ухудшения характеристик как отдельных приложений, так и всей системы в целом, требуется исследование ИС и использование специальных методов, повышающих скорость доступа к данным. Управление большими и сверхбольшими базами данных, проектирование и разработка приложений для них имеет свои особенности.

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

Реализация

Основные технологические системы «Татнефть» это OilServer - информационно-аналитический комплекс управления нефтедобывающим производством. Это самая большая БД «Татнефти». В её состав входит более 450 таблиц. Объем хранящейся в ней информации занимает около 40Гб. Энергосервер – это прикладная система, предназначенная для информационного обеспечения процессов, связанных с энергоснабжением. В её состав входит более 150 таблиц. Объем хранящейся в ней информации занимает около 20Гб.

Этапы оптимизации производительности
Локализация проблем производительности Анализ
проблемных запросов
Устранение проблем производительности

1. Регистрация обращений пользователей.

2. Мониторинг выполнения запросов (с помощью StatsPack).

1.Анализ плана выполнения запроса (с помощью ExplainPlan)

2.Анализ характери-стик объектов (таблиц, индексов и триггеров), используемых в процессе выполнения запроса.

3.Анализ настроек сервера БД.

1.Настройка индексов (селективность, эффектив-ность, оптимизация группы индексов).

2.Оптимизация параметров объектов (фрагментация, сцепление).

3.Оптимизация параметров сервера (буферный кэш, разделяемый пул, размер области сортировки и т.п.)


Средства Oracle для оптимизации производительности

StatsPack

(сбор статистики)

ExplainPlan

(анализ запросов)

Оптимизатор

(эффективность доступа к данным)


Пример процесса оптимизации

1) Процесс установки пакета StatsPack

С:\oracle\RDBMS\ADMIN>sqlplusinternal

SQL*PLUS: Release 8.1.6.0.0 - ProductiononSunMar18 11:52:32 2001

(c) Copyright 1999 Oracle Corporation. All rights reserved.

Connected to:

Orade8i Enterprise Edition Release 8.1.6.0.0 – Production

With the Partitioning option

JServer Release 8.1.6.0.0 – Production

sya@TKYTE816> @statsere

... Installing Required Packages

2) Организация сбора статистической информации каждые 10 минут

3) Выявленный в отчете StatsPack ресурсоемкий запрос

CPU Elapsd

Buffer Gets Executions Gets per Exec %Total Time(s) Time(s) Hash Value

----------------------------------------------------------------------------

334,030 1 334,030.0 0.4 55.33 90.89 2322365808

Module: C:\PROGRA~1\MICROS~1\MSSQL\binn\sqlservr.exe

select substr(b.источник,instr(b.источник,'КНС',1,1)+3,instr(b.и

сточник,',',1,1)-instr(b.источник,'КНС',1,1)-3) as kns, substr(

b.источник,instr(b.источник,'НА',1,1)+2,instr(b.источник,',',1,2

)-instr(b.источник,'НА',1,1)-2) as na, b.значение_сигнала as ra

b,b.кон_дата as dat from telemetry.события_телеметрии b where

b.КОН_ДАТА>to_date('30/12/2005 15:33:41','DD/MM/YYYY HH24:MI:SS'

) and b.КОН_ДАТА<trunc(sysdate,'HH24') and SUBSTR(b.источник,1,

5)='А КНС' and SUBSTR(b.тг_наименование,22,5)='NAON_' and b.знач

ение_сигнала in (1,0) orderbyb.тг_наименование,b.источник,b.

КОН_ДАТА

4) Запрос после форматирования

SELECT SUBSTR(b.источник, INSTR(b.источник, 'КНС', 1, 1) + 3, INSTR(b.источник,

',', 1, 1) - INSTR(b.источник, 'КНС', 1, 1) - 3) kns, SUBSTR(b.источник,

INSTR(b.источник, 'НА', 1, 1) + 2, INSTR(b.источник, ',', 1, 2) -

INSTR(b.источник, 'НА', 1, 1) - 2) na, b.значение_сигнала rab, b.

кон_дата dat

FROMtelemetry.события_телеметрии b

WHERE b.кон_дата > TO_DATE('30/12/2005 15:42:29', 'DD/MM/YYYY HH24:MI:SS')

AND b.кон_дата < TRUNC(SYSDATE, 'HH24')

AND (SUBSTR(b.источник, 1, 6) = 'Аз КНС'

OR SUBSTR(b.источник, 1, 6) = 'Ак КНС')

AND SUBSTR(b.тг_наименование, 22, 5) = 'NAON_'

ANDb.значение_сигнала IN (1, 0)

ORDERBYb.тг_наименование, b.источник, b.кон_дата

5) Разбор запроса в Explain Plan

6) Создание функционального индекса

CREATE INDEX "TELEMETRY"."I1_TEL"

ON "TELEMETRY"."СОБЫТИЯ_ТЕЛЕМЕТРИИ" (SUBSTR(источник, 1, 6),

SUBSTR(тг_наименование, 22, 5), "КОН_ДАТА")

Обновлениестатистикииндекса:analyze index I1_TEL compute statistics

7) Проверка результативности в ExplainPlan

Вывод: в результате произведенных действий стоимостная оценка запроса (Cost) уменьшилась с 58095 до 7.

Полученные результаты

Всего была собрана информация об около 600 запросах, из них было отобрано 9 и оптимизировано 5. Наряду с разобранным примером был создан эффективный Bitmap-индекс к другой таблице - время выполнения проблемного запроса сократилось более чем в 40 раз. Результатом изменения ключевых подсказок стало ускорение выполнения запроса более чем в 13 раз. Помимо этого на системах Татнефти были оптимизированы настройки параметров памяти, выявлены неселективные запросы и жесткие разборы и минимизировано их количество. Но все же наибольшую результативность в повышении производительности показала работа с индексами.

Заключение

Была изучена проблема производительности этих БД и разработана методика оптимизации производительности серверов Oracle, а затем применена к базам данных ОАО «Татнефть», благодаря чему существенно ускорилась работа некоторых запросов.

Значительной пользой является то, что разработанная методика может быть успешно применена для оптимизации любых информационных систем на базе ORACLE.

моделирование в МЕДИЦИНСКой физике

Одним из перспективных направлений изучения физиологии и патофизиологии сложных физиологических систем организма человека является математическое моделирование. Математическая модель несет в себе знания о закономерностях взаимодействия отдельных звеньев сложной системы и позволяет исследовать поведение сложной физиологической системы при патологических нарушениях отдельных ее звеньев.

Медицинская кибернетика - научное направление, связанное с проникновением идей, методов и технических средств кибернетики в медицину. Развитие идей и методов кибернетики в медицине осуществляется в основном в направлениях создания диагностических систем для различных классов заболеваний с использованием универсальных или специализированных ЭВМ; создания автоматизированного электронного медицинского архива; разработки математических методов анализа данных обследования больного; разработки метода математического моделирования на ЭВМ деятельности различных функциональных систем; использования математических машин для оценки состояния больного.

Диагностика онкологических заболеваний

Ключевое значение для медицины имеет диагностика. Диагностика онкологических заболеваний осуществляется с применением математических методов описания и анализа сложных явлений при помощи вычислительных систем с применением современных методов магнитно-резонансной спектроскопии и фундаментальными знаниями о метаболизме (его регуляции).

Магнитно-резонансная томография (МРТ) - это метод отображения, используемый для получения высококачественных изображений органов человеческого тела. МРТ основана на принципах ядерно-магнитного резонанса (ЯМР), методе спектроскопии, используемом учеными для получения данных о химических и физических свойствах молекул. МРТ находит все более широкое применение в медицинской практике и отличается от других методов высоким контрастом мягких тканей и безопасностью воздействия на организм человека.

В лаборатории методов медицинской физики КФТИ КНЦ РАН им. Е.К.Завойского разрабатываются, изготавливаются и запускаются в эксплуатацию медицинские магнитно-резонансные томографы "ТМР-КФТИ", которые предназначены для диагностики патологий головного мозга, позвоночника и суставов.

Постановка задачи

Важным этапом в процессе производства является диагностика и проверка работоспособности изготовленных приборов. Мною была разработана система, тестирующая блок радиоэлектроники МР-томографа – спектрометр. Система реализована средствами Visual C++ (MFC). Сопряжение спектрометра с ПК происходит через параллельный интерфейс XB (на плате ISA). В программном комплексе реализована работа с портами ввода/вывода, используются несколько видов обмена данных с устройствами (через драйверы нижнего, верхнего уровня), различные алгоритмы тестирования, уровни доступа в зависимости от используемой ОС. Применяются Grid, CtrlTab, drivers, threads, I/O ports; представление чисел в Hex Dec Bin. Организован класс работы с устройствами.

Реализация