290 likes | 544 Views
Миграция на последние версии Caché. Кудинов Сергей. План. Необходимость миграции Использование новых / усовершенствованных возможностей Использование нового оборудования Использование поддержки продуктов Быть в тонусе!!! Рекомендации по миграции Примеры миграции. Новые возможности.
E N D
Миграция на последние версии Caché Кудинов Сергей
План • Необходимость миграции • Использование новых/ усовершенствованных возможностей • Использование нового оборудования • Использование поддержки продуктов • Быть в тонусе!!! • Рекомендации по миграции • Примеры миграции
Новые возможности 2008.2 2008.1 Есть в Release Notes Остановимся на новых возможностях Caché 2008.2 2007.1 5.2 5.1 5.0
Основные новые возможности в 2008.2 • Производительность при работе с объектами • Время компиляции • Обращение к свойствам и методам объектов • Высокая надежность • Усовершенствование работы с теневым сервером • Уменьшение времени после сбоев • Управление большими конфигурациями • Увеличение производительностизадач/утилит • Незапланированных (восстановление журнала, проверка целостности, ...) • Запланированные (передача изменений, backup, ...)
Обращение к свойствам/методам • Увеличение производительности при обращении к • Методам классов • Свойствам • Методам экземпляров • Использование механизмов кеширования при обращении к методам/свойствам • Подобная модель используется для кеширования программ(2007.1) • Устранение «соревнований» между объектами на загруженных системах • Уменьшение использование CPU
Object Dispatch - итоги • Вызов методовв 2.5-3 раза быстрее, чем 2008.1 • До 5 раз быстрее, чем Caché 5.2 • Кумулятивный эффект улучшений при работе с объектами и программами • Обращение к Методам/Свойствамлучше масштабируются • при увеличении числа процессов • при увеличении числа процессоров/ядер • Уменьшение загрузки CPU Доступно в Caché 2008.2
Компиляция классов – наследование методов • До 2008.2 код наследуемых методов копировался в классах-потомках • Есликласс Patient наследует классPerson • ‘Весь’ код метода, наследуемых изPerson копировался в программ для Patient • Перекомпилировался весь наследуемый код в классе Patient
Недостатки существующего подхода • Дублирование кода • Длительное время компиляции • Время компиляции любого класса • Изменение класса вверху иерархии требует перекомпиляции всех классов ниже в иерархии • Сложности с размеромпрограмм(ранее)
Реализация в 2008.2 • Нет копирования методов супер-классов • Изменение обращенияк методам супер-класса(использование%this) • Изменение компилятора для того, чтобы супер-класс мог быть перекомпилирован без компиляции классов-потомков
Новое для отказоустойчивых систем • Более быстрые механизмы востановления после сбоев • Устранение требований к сетевым дискам • Уменьшение зависимости от ПО третьих лиц для кластеризации • Использование нескольких теневых серверов
Теневые сервера • Использование нескольких теневых сервером • Один из них основной • Другие резервные • TCP –соединения между набром теневых серверов • Основной сервер передает изменения резервным
Studio • Возможность обнаружения undefined переменных • Подсказка при вводе макросов • Подсказка при вводе параметров • Подсказка при вводе локальных переменных
Zen • Поддержка drag-and-drop • Динамическое изменение размеров групп • Усовершенствование механизма загрузки дерева • Новый tabcontrol
CSP • Поддержка программной http аутентификации из Cache • Новый интерфейс к IIS 7 • Поддержка пула соединений при работе с Apache • Поддержка http 1.1 • Передача сообщений >32K с помощью chunks
Работа с потоками • Усовершенствование механизма поиска текста в потоках (%CONTAINS и %SIMILARITY) • Усовершенствование планов SQL запросов при поиске текста в потоках (потоки могут индексироваться) • Поток может возвращаться SQL функцией • Поток может быть аргументом SUBSTRING
Безопасность • Супер-сервер может работать с SSL соединениями • Telnet через SSL для Windows • Усовершенствование безопасности для таблиц на уровне столбцов
Разное • Усовершенствование light c++ binding • Поддержка JIS2004 • Профилирование кода на уровне подпрограмм • Усовершенствование NLS • Бинарный SOAP
Итого • Более широкие возможности построения интерфейса (Zen+новые bindings) • Увеличение производительности • Использование новых конструкций (try…catch,…) • Новые технологии (DeepSee)
Использование нового оборудования • 2008.1 • Windows Server 2008 • AIX 6.1 • RedHat 5* • SuSe 10 • 2007.1.1 • Windows Vista
Использование технической поддержки • Версии 5.x не поддерживаются • Трудности при решении проблем через WRC • Большие трудности при заказе Adhoc
Быть в тонусе • Миграция с 2008.1 на 2008.2 значительно легче, чем с 4.1 на 2008.2 • Возможность использования новых технологий • Совершенствование процесса разработки/тестирования ПО
Рекомендации по миграции • Анализ Release Notes • Анализ Upgrade CheckList • Анализ кодапрограмм, классов, сsp-страниц, хранимого в глобалах кода • Использование $ZU() • Использование системных классов • Использование системных программ • …
Ошибки компиляции • Требования к корректности описания классов стали жестче • Может потребоваться незначительная модификация для исправления ошибок • Существуют изменения в описании структуры данных (например, в SQLStorage)
Ошибки исполнения • Ошибки исполнения намного опаснее ошибок компиляции!!! Надо стараться их предотвратить • Гораздо проще сравнить результат вызова системной функции в разных версиях Cache, чем протестировать работу всего приложения • Есть сомнения – лучше перепроверить
Примеры миграции • НПЦ «Аир» (MSM-Cache 4.1-Cache 5.0-Cache 2007.1) • ЭКО-М (DTM-Cache 5.0-Cache 5.2-Cache 2007.1) • Порт Владивостока (Cache 4.1-2008.1) • SolidWorks (Cache 5.0-Cache 5.2-Cache 2008.1) • Registru (Cache 5.0-2008.1) • Летограф (Cache 5.0-2008.1) • …
Спасибо за внимание! Вопросы? Кудинов Сергей sergey.kudinov@intersystems.com