Миграция на последние версии Caché Кудинов Сергей.

Презентация:



Advertisements
Похожие презентации
Новые возможности Егоров Борис «Школа Инноваций InterSystems 2007»
Advertisements

1 ИССЛЕДОВАНИЕ ВОЗМОЖНОСТЕЙ COM- ТЕХНОЛОГИИ ДЛЯ ПОСТРОЕНИЯ РАСПРЕДЕЛЕННЫХ ПРОГРАММНЫХ ПРОДУКТОВ Component Object Model Министерство образования и науки.
Симпозиум 2008 Сергей Шутов, ДИМАС Борис Егоров, Интерсистемс Практика использования Zen и Прототип-6.
Программное обеспечение как услуга (SaaS) Подготовлено для сайта SaaSCatalog.ru.
Опыт реализации отказоустойчивого сервера приложений и хранилища данных на базе СУБД ЛИНТЕР Михаил Ермаков, Дмитрий Мухоедов, РЕЛЭКС.
Анализатор веб-страниц Участники Дмитрий Манаев Осечкина Мария СПбГУ Мат-мех, 3 курс Руководители Н.П. Дубчук Д.В. Копаев ЗАО «Ланит-Терком»»
Владимир Костюков, АлтГТУ АлтГТУ им И. И. Ползунова Распределенная система мониторинга и диспетчерезации процессов гетерогенной среды.
Учебный курс Технологии и средства разработки корпоративных систем Лекция 1 Открытые системы. Клиент и сервер Лекции читает кандидат технических наук,
Технические возможности. Наши цели Максимальная гибкость Максимальная скорость считывания и обработки данных Стабильность работы Максимальная простота.
Разработка аппаратно-программных средств имитационного комплекса моделирования микропроцессора Выполнил: студент 515 группы МФТИ Иванов С.С Научный руководитель:
Проблемы обеспечения безопасности приложений Тема 20.
Технология MVC в высоконагруженных проектах Андрей Шетухин Илья Космодемьянский.
Проблемы обеспечения безопасности приложений Тема 20.
Обнаружение уязвимостей в web- приложениях, написанных на Python, средствами динамического анализа исходных кодов Заливин Д.А. Козлов Д.Д. Петухов А.А.
Конфигурируемая модульная система мониторинга поведения транспортного протокола на уровне ядра операционной системы В. А. Пономарев О. Ю. Богоявленская.
Решения виртуализации для IT Платонов Евгений. Технологические тенденции архитектуры x86 Многоядерные процессоры развиваются 2 ядра в , 4 ядра в.
Сервисы сетевых операционных систем : web- сервер Seti.ucoz.ru.
ЧАСТНОЕ ОБЛАКО – СОЗДАНИЕ ДИНАМИЧЕСКОГО ДАТАЦЕНТРА Гайдар Магдануров, Microsoft e: | | p: +7 (905)
Разработка сред управляемого исполнения на примере виртуальной машины Java Занятие 2 Салищев С.И.
Администрирование информационных систем Лекция 4. Система управления базами данных.
Транксрипт:

Миграция на последние версии Caché Кудинов Сергей

План Необходимость миграции Необходимость миграции –Использование новых/ усовершенствованных возможностей –Использование нового оборудования –Использование поддержки продуктов –Быть в тонусе!!! Рекомендации по миграции Рекомендации по миграции Примеры миграции Примеры миграции

Новые возможности Есть в Release Notes Остановимся на новых возможностях Caché

Работа с локальными массивами

Работа с глобальными массивами

Основные новые возможности в Производительность при работе с объектами Производительность при работе с объектами –Время компиляции –Обращение к свойствам и методам объектов Высокая надежность Высокая надежность –Усовершенствование работы с теневым сервером –Уменьшение времени после сбоев Управление большими конфигурациями Управление большими конфигурациями –Увеличение производительности задач/утилит Незапланированных (восстановление журнала, проверка целостности,...)Незапланированных (восстановление журнала, проверка целостности,...) Запланированные (передача изменений, backup,...)Запланированные (передача изменений, backup,...)

Обращение к свойствам/методам Увеличение производительности при обращении к Увеличение производительности при обращении к –Методам классов –Свойствам –Методам экземпляров Использование механизмов кеширования при обращении к методам/свойствам Использование механизмов кеширования при обращении к методам/свойствам –Подобная модель используется для кеширования программ (2007.1) Устранение «соревнований» между объектами на загруженных системах Устранение «соревнований» между объектами на загруженных системах –Уменьшение использование CPU

Результаты тестирования

Object Dispatch - итоги Вызов методов в раза быстрее, чем Вызов методов в раза быстрее, чем До 5 раз быстрее, чем Caché 5.2 До 5 раз быстрее, чем Caché 5.2 –Кумулятивный эффект улучшений при работе с объектами и программами Обращение к Методам/Свойствам лучше масштабируются Обращение к Методам/Свойствам лучше масштабируются –при увеличении числа процессов –при увеличении числа процессоров/ядер Уменьшение загрузки CPU Уменьшение загрузки CPU Доступно в Caché

Компиляция классов – наследование методов До код наследуемых методов копировался в классах-потомках До код наследуемых методов копировался в классах-потомках Если класс Patient наследует класс Person Если класс Patient наследует класс Person –Весь код метода, наследуемых из Person копировался в программ для Patient –Перекомпилировался весь наследуемый код в классе Patient

Недостатки существующего подхода Дублирование кода Дублирование кода Длительное время компиляции Длительное время компиляции –Время компиляции любого класса –Изменение класса вверху иерархии требует перекомпиляции всех классов ниже в иерархии Сложности с размером программ(ранее) Сложности с размером программ(ранее)

Реализация в Нет копирования методов супер-классов Нет копирования методов супер-классов Изменение обращения к методам супер-класса (использование %this) Изменение обращения к методам супер-класса (использование %this) Изменение компилятора для того, чтобы супер-класс мог быть перекомпилирован без компиляции классов- потомков Изменение компилятора для того, чтобы супер-класс мог быть перекомпилирован без компиляции классов- потомков

Новое для отказоустойчивых систем Более быстрые механизмы востановления после сбоев Более быстрые механизмы востановления после сбоев Устранение требований к сетевым дискам Устранение требований к сетевым дискам Уменьшение зависимости от ПО третьих лиц для кластеризации Уменьшение зависимости от ПО третьих лиц для кластеризации Использование нескольких теневых серверов Использование нескольких теневых серверов

Теневые сервера Использование нескольких теневых сервером Использование нескольких теневых сервером –Один из них основной –Другие резервные TCP –соединения между набром теневых серверов TCP –соединения между набром теневых серверов Основной сервер передает изменения резервным Основной сервер передает изменения резервным

Studio Возможность обнаружения undefined переменных Возможность обнаружения undefined переменных Подсказка при вводе макросов Подсказка при вводе макросов Подсказка при вводе параметров Подсказка при вводе параметров Подсказка при вводе локальных переменных Подсказка при вводе локальных переменных

Zen Поддержка drag-and-drop Поддержка drag-and-drop Динамическое изменение размеров групп Динамическое изменение размеров групп Усовершенствование механизма загрузки дерева Усовершенствование механизма загрузки дерева Новый tab control Новый tab control

CSP Поддержка программной http аутентификации из Cache Поддержка программной http аутентификации из Cache Новый интерфейс к IIS 7 Новый интерфейс к IIS 7 Поддержка пула соединений при работе с Apache Поддержка пула соединений при работе с Apache Поддержка http 1.1 Поддержка http 1.1 Передача сообщений >32K с помощью chunks Передача сообщений >32K с помощью chunks

Работа с потоками Усовершенствование механизма поиска текста в потоках (%CONTAINS и %SIMILARITY) Усовершенствование механизма поиска текста в потоках (%CONTAINS и %SIMILARITY) Усовершенствование планов SQL запросов при поиске текста в потоках (потоки могут индексироваться) Усовершенствование планов SQL запросов при поиске текста в потоках (потоки могут индексироваться) Поток может возвращаться SQL функцией Поток может возвращаться SQL функцией Поток может быть аргументом SUBSTRING Поток может быть аргументом SUBSTRING

Безопасность Супер-сервер может работать с SSL соединениями Супер-сервер может работать с SSL соединениями Telnet через SSL для Windows Telnet через SSL для Windows Усовершенствование безопасности для таблиц на уровне столбцов Усовершенствование безопасности для таблиц на уровне столбцов

Разное Усовершенствование light c++ binding Усовершенствование light c++ binding Поддержка JIS2004 Поддержка JIS2004 Профилирование кода на уровне подпрограмм Профилирование кода на уровне подпрограмм Усовершенствование NLS Усовершенствование NLS Бинарный SOAP Бинарный SOAP

Итого Более широкие возможности построения интерфейса (Zen+новые bindings) Более широкие возможности построения интерфейса (Zen+новые bindings) Увеличение производительности Увеличение производительности Использование новых конструкций (try…catch,…) Использование новых конструкций (try…catch,…) Новые технологии (DeepSee) Новые технологии (DeepSee)

Использование нового оборудования –Windows Server 2008 –AIX 6.1 –RedHat 5* –SuSe –Windows Vista

Использование технической поддержки Версии 5.x не поддерживаются Версии 5.x не поддерживаются –Трудности при решении проблем через WRC –Большие трудности при заказе Adhoc

Быть в тонусе Миграция с на значительно легче, чем с 4.1 на Миграция с на значительно легче, чем с 4.1 на Возможность использования новых технологий Возможность использования новых технологий Совершенствование процесса разработки/тестирования ПО Совершенствование процесса разработки/тестирования ПО

Рекомендации по миграции Анализ Release Notes Анализ Release Notes Анализ Upgrade CheckList Анализ Upgrade CheckList Анализ кода программ, классов, сsp-страниц, хранимого в глобалах кода Анализ кода программ, классов, сsp-страниц, хранимого в глобалах кода –Использование $ZU() –Использование системных классов –Использование системных программ –…

Ошибки компиляции Требования к корректности описания классов стали жестче Требования к корректности описания классов стали жестче Может потребоваться незначительная модификация для исправления ошибок Может потребоваться незначительная модификация для исправления ошибок Существуют изменения в описании структуры данных (например, в SQLStorage) Существуют изменения в описании структуры данных (например, в SQLStorage)

Ошибки исполнения Ошибки исполнения намного опаснее ошибок компиляции!!! Надо стараться их предотвратить Ошибки исполнения намного опаснее ошибок компиляции!!! Надо стараться их предотвратить Гораздо проще сравнить результат вызова системной функции в разных версиях Cache, чем протестировать работу всего приложения Гораздо проще сравнить результат вызова системной функции в разных версиях Cache, чем протестировать работу всего приложения Есть сомнения – лучше перепроверить Есть сомнения – лучше перепроверить

Примеры миграции НПЦ «Аир» (MSM-Cache 4.1-Cache 5.0-Cache ) НПЦ «Аир» (MSM-Cache 4.1-Cache 5.0-Cache ) ЭКО-М (DTM-Cache 5.0-Cache 5.2-Cache ) ЭКО-М (DTM-Cache 5.0-Cache 5.2-Cache ) Порт Владивостока (Cache ) Порт Владивостока (Cache ) SolidWorks (Cache 5.0-Cache 5.2-Cache ) SolidWorks (Cache 5.0-Cache 5.2-Cache ) Registru (Cache ) Registru (Cache ) Летограф (Cache ) Летограф (Cache ) …

Спасибо за внимание! Вопросы? Кудинов Сергей