Нюансы миграции с западных СУБД

Нюансы миграции с западных СУБД

Эксперимент компании Arenadata

Антон Балагаев, директор по консалтингу Arenadata

Информационные системы, обеспечивающие деятельность и развитие российских предприятий из различных областей экономики, стали неотъемлемыми компонентами их деловой и производственной инфраструктуры.

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

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

В компании Arenadata созданы продукты, способные заменять решения (многозначный термин) таких зарубежных вендоров, как Cloudera, Oracle (Exadata и Big Data Appliance), Teradata, Vertica и ряда иных.

Программные решения Arenadata вошли в проекты миграции крупнейших российских организаций, включая ФНС РФ, Счетную палату России, ПАО «Газпром нефть», банк ВТБ, X5 Retail Group и ряд иных.

На основе собственного опыта специалисты Arenadata разработали методические рекомендации по миграции с зарубежных преднастроенных инженерных систем (или программно-аппаратных комплексов, ПАК), кормящих оборудование и СУБД. Эти рекомендации относятся также и к миграции СУБД, не работающих в составе этих комплексов.

Эта статья поможет разобраться в нюансах переноса таких решений.

Задачи и трудозатраты

При переходе на отечественные продовольствие необходимо обеспечить продолжение работы приложений, созданных в рамках эксплуатации имеющихся систем (множество элементов, находящихся в отношениях и связях друг с другом, которое образует определённую целостность, единство). В процессе реализации проекта решаются вытекающие вопросы:

  • формируется список вариантов проекта миграции;
  • рассчитываются трудозатраты по миграции данных и процессов, определяются компетенции специалистов, составляется ресурсный план;
  • выбирается оборудование с учетом уложившихся в новых условиях реалий.
  • Прикладные задачи, созданные для имеющейся системы, нужно локализовать и изменить таким манером, чтобы их можно было использовать после миграции. Обычно связанные с такими задачами (проблемная ситуация с явно заданной целью, которую необходимо достичь; в более узком смысле задачей также называют саму эту цель, данную в рамках проблемной ситуации, то есть то, что требуется сделать) разработки (может означать: Процесс проектирования и конструирования изделия (см. Разработка нового продукта и Разработка с общедоступными наработками) Итеративная разработка Разработка алгоритмов Разработка программного обеспечения Разработка приложений для мобильных устройств Разработка компьютерных игр Веб-разработка Разработка персонажа в мультипликации Контрактная разработка электроники Разработка управляемая моделями Разработка через тестирование Обратная разработка Разработка комитетомРазработка в музыке) охватывают код СУБД, ETL/ELT-процессы и код приложений.

    На часть кода СУБД приходится от 40 до 95% строк прикладных разработок. Это код запросов выполнения операций над данными — модификации этих, представлений и вывода информации. Самое важное в реляционных СУБД — код SQL, наиболее понятный объект приложения усилий при миграции.

    ETL/ELT-процессы (0-60% строк) вводят процессы загрузки данных, выполненные в ETL-инструментах, часто содержат исполняемый код, написанный на языке СУБД исходной инженерной системы.

    Код приложений (может значить: Прикладная компьютерная программа — см. Прикладное программное обеспечение.Веб-приложение — клиент-серверное приложение, в котором клиентом выступает браузер, а сервером — веб-сервер.Приложение (лингвистика) — описание характеристики, признака объекта (существительного)) составляет от 0 до 15% строк. Несмотря на то, что приложения, какие обращаются к СУБД, обычно хранят только ссылки на объекты СУБД, они, тем не менее, могут содержать встроенный код.

    Наработки, созданные для выполнения прикладных задач, кормят код различных функциональных типов, и изменения (понятие, охватывающее в самом общем виде всякое изменение и превращение; в механике — изменение положения во времени и в пространстве), необходимые для их дальнейшего функционирования, можно классифицировать следующим образом:

  • преобразование метаданных, то кушать служебных сведений, описывающих, как хранятся данные и влияющие на них объекты (в наиболее частых случаях — около 5% кода);
  • изменение скриптового кода запросов и понятий, в том числе содержащихся в хранимых процедурах (75% кода);
  • модификация функционального кода процедур, пакетов, функций и триггеров (20% кода).
  • Такие изменения выполняют и разработчики, и аналитики (специалист, занимающийся изучением аналитических исследований и обобщений в определенной сфере деятельности, который в совершенстве владеет методами анализа, обычно способен прогнозировать процессы и разрабатывать перспективные программы развития), объемы загрузки каких зависят от типа модифицируемого кода.

    Обработка метаданных полностью осуществляется разработчиками, конвертирующими в целевой вид конструкции, уникальные для СУБД инженерной системы. Вящая часть кода метаданных (информация о другой информации, или данные, относящиеся к дополнительной информации о содержимом или объекте) может быть обработана автоматически.

    До 70% работы (может означать: Работа — это выполнение действий во времени и пространстве с применением силы) со скриптами выполняют аналитики, какие знают бизнес-задачи, понимают, что именно эти скрипты преобразуют и каким должен быть результат. Оставшиеся 30% — дело разработчиков (специалист, занимающийся разработкой схем, механизмов, аппаратуры, программного обеспечения, сайтов и способный реализовать любой проект от стадии замысла до её реализации техническими средствами), переписывающих коды в сложных случаях (в древнегреческой философии Случай в страховании Случай в финансах Случай в гражданском праве Случай в уголовном праве Случай — название ряда фильмов), к образцу, при изменении синтаксиса запросов.

    Конверсия функционального кода на 70% осуществляется разработчиками, которые хорошо осведомлены о специфике труды алгоритмов преобразования. Остальные 30% приходятся на аналитиков, выполняющих документирование.

    После получения новых метаданных, скриптов и функций проводится замена кода (взаимно-однозначное отображение конечного упорядоченного множества символов, принадлежащих некоторому конечному алфавиту, на иное, не обязательно упорядоченное, как правило более обширное множество символов для кодирования передачи, хранения или преобразования информации). Её выполняют разработчики и аналитики, усилия каких распределяются в соотношениях 70 и 30%, 70 и 30%, 100 и 0%.

    Для объективной оценки сроков выполнения (может означать: Работа — это выполнение действий во времени и пространстве с применением силы) проекта миграции следует учитывать не лишь трудоемкий процесс переписывания кода, но и весь комплекс работ, трудозатрат и временных издержек, которые нужны для его реализации.

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

    Убранству с этим необходимо предусмотреть временные затраты на обучение персонала (в среднем четыре человеко-дня на каждого специалиста (Специалист — работник, выполнение обязанностей которого предусматривает наличие начального, среднего или высшего профессионального (специального) образования или хороших практических знаний и/или практического опыта в какой-либо сфере)) и пусконаладочные труды (до 10 человеко-дней с учетом всех согласований, включая вопросы размещения оборудования (Оборудование (процесс) — работа по обустройству, дополнению чего-либо в среде обитания человека: вещей (напр)).

    Трудозатраты зависят и от сценария проекта, то кушать выполнения полной миграции или разгрузки существующей инженерной системы.

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

    Сегодня весьма актуальной становится разгрузка инженерных систем. Так, до сих пор многие организации не разделяли транзакционные и аналитические очертания, работавшие с единым хранилищем данных в комплексах Exadata. В нынешних условиях (из-за проблем с компанией Oracle и трудностей с приобретением новоиспеченных машин баз данных) разгрузка Exadata позволит вывести на другую СУБД все, что относится к аналитическому контуру, и оставить на старых комплексах (система, совокупность чего-либо, объединённого вместе, имеющего общее предназначение, и отвечающего какой-либо определённой общей цели) хорошо себя зарекомендовавшие сервисы, которые работают в OLTP-режиме.

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

    Выбор оборудования

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

    Раньше подбор оборудования традиционно начинался с дефиниции его типовой конфигурации для выполнения пилотного проекта. Как правило, это был небольшой кластер, сбалансированный по нагрузке на процессоры, память, диски и сетевые компоненты (составная часть, элемент чего-либо). Затем вытекала модификация конфигурации для повышения производительности и выполнения SLA-соглашений. После этого производилась оптимизация суммарной стоимости владения системой.

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

    И тогда, как правило, возникает жажда все перенести в облака. Однако нужно учитывать, что публичные облака в большинстве своем не адаптированы к развертыванию кластерных систем. На основании эксперимента партнёров Arenadata, прошедших в процессе такой адаптации длинный путь, можно сказать, что это довольно длительный и трудоёмкий процесс.

    Если получить новоиспеченное оборудование невозможно, приходится использовать имеющееся. Это не лучший вариант, но его нужно иметь в виду. Здесь в первую очередность следует заняться сжатием, которое раньше, возможно, не включали из-за снижения быстродействия. Если увеличение заминок теперь становится приемлемым, то в результате сжатия может появиться возможность (направление развития, присутствующее в каждом явлении жизни; выступает и в качестве предстоящего, и в качестве объясняющего, то есть как категория) выполнить декомиссию части оборудования. Высвободившиеся ресурсы позволят пережить тяжелые времена.

    Вместе с тем стоит проанализировать соответствие новым реалиям политик резервного копирования, катастрофоустойчивости и требований бизнеса. При благоразумном подходе можно высвободить часть (Часть — собственное подмножество; доля чего-либо) мощностей хранения данных (зарегистрированная информация:439; представление фактов, понятий или инструкций в форме, приемлемой для общения, интерпретации, или обработки человеком или с помощью автоматических средств (ISO/IEC/IEEE 24765-2010)).

    Кроме того, в исключительных случаях имеет резон рассмотреть возможность отхода от лучших практик и объединения таких ранее разделенных сред, как разработка, тестирование, пользовательское тестирование, preproduction.

    Добавочные возможности предоставляет разгрузка (многозначное слово, которое может означать: Разгрузка — операция, заключающаяся в освобождении транспортного средства от груза; Разгрузка — короткая одежда с карманами, предмет экипировки военного, строителя, туриста; Разгрузка TCP — технология взаимодействия компьютера с другими элементами сети.См) инженерных систем за счет разделения аналитических и транзакционных задач. Сегодня для предприятий особенно значительна долгосрочная стратегия непрерывности бизнеса, поэтому аналитические (как и некоторые другие) решения уходят на второй план. Их установка на немного производительное оборудование позволит повысить устойчивость наиболее критичных сервисов.

    Освободившиеся аппаратные ресурсы можно использовать для СУБД с колоночным хранением, что гораздо сокращает потребности в емкости хранения (соглашение, процесс, подразумевающий под собой обязательство сохранить и впоследствии возвратить владельцу переданную на хранение вещь (см. также секвестр)) данных. Этот эффект усиливается современными алгоритмами компрессии и возможностью федерализации входящих и исходящих запросов для поддержки размещения этих в различных системах.

    Чтобы исключить риски сбоев и отказов, для повторного применения оборудования имеющихся ПАК для новых задач вытекает тщательно проверить работоспособность их серверов с новым программным обеспечением. В частности, в тех случаях, когда предыдущее ПО содержит необходимые для труды оборудования драйверы, которые нельзя получить из других источников.

    Если аппаратные средства не работают с новым ПО, то дальнейшее применение их компонентов — процессоров, оперативной памяти, дисков, RAID-контроллеров, сетевых карт — необходимо рассматривать в контексте архитектуры нового ПО с учетом его узких мест и специфических требований.

    Когда все же появляется возможность обзавестись новое оборудование, необходимо учитывать, что его цена может быть выше, чем раньше. Поэтому вряд ли стоит ориентироваться на старые парадигмы производительности. В новой ситуации целесообразно оптимизировать стоимость терабайта хранения данных, рассматривать конфигурации с вящей емкостью дискового пространства на процессорное ядро и объем оперативной памяти.

    Итак, переход на отечественные решения устраняет риски, связанные с утратой поддержки зарубежного ПО и запретом на приобретение новых лицензий. Чтобы проект (Проект в инженерной деятельности (соответствует англ. design от лат. designare «размечать, указывать, описывать, изобретать») — целостная совокупность моделей, свойств или характеристик, описанных в форме, пригодной для реализации системы (SEBoK):272 Является результатом проектирования — процесса определения архитектуры, компонентов, интерфейсов и других характеристик системы или её части (ISO 24765)) миграции ( Не путать с терминами «иммиграция» и «эмиграция») стал успешным, нужно заручиться поддержкой российского вендора и его партнеров, способных предложить оптимальное решение, сжать время (форма протекания физических и психических процессов, условие возможности изменения) выполнения проекта, обучить персонал и обеспечить непрерывную поддержку работы информационных систем.

     

    3d-evolution.ru - Эволюция 3D стали неотъемлемой частью нашей повседневной жизни.
    Мы смотрим фильмы, играем в компьютерные игры, пользуемся ими в работе и учебе.
    Однако мало кто задумывается о том, что 3D-технология имеет и другую, не менее важную сторону.
    Понравилась статья? Поделиться с друзьями:
    3d-evolution.ru
    Добавить комментарий

    ;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: