После миграции система может запускаться, хотя часть строк или документов потеряна, ключи изменены, даты смещены, значения усечены либо нарушены связи. В рамках этого направления экспертизы БД и СУБД эксперт сопоставляет исходное и целевое состояния с согласованными правилами преобразования. Задача исследования — установить конкретные расхождения, этап, на котором они впервые фиксируются, и пределы возможной проверки.
До повторного запуска миграции или массового исправления важно зафиксировать исходную и целевую базы, журналы переноса, карты соответствия и версии скриптов. Если вы уполномочены управлять системой, согласуйте способ фиксации с владельцем, администраторами и специалистом. Материалы, находящиеся у другой стороны, получают с её согласия либо через назначивший орган. Позднейшая синхронизация способна скрыть исходное расхождение.
Когда нужна экспертиза миграции
Исследование проводят после выполненного переноса между версиями, движками, приложениями или провайдерами, если его результат или качество оспаривается. Это не услуга планирования будущей миграции: эксперт работает с зафиксированным результатом и сохранившимися техническими источниками.
- после перехода отсутствуют строки, документы, ключи или связи;
- суммы, даты, кодировки, статусы или идентификаторы отличаются;
- исходная и целевая базы имеют разные схемы и правила преобразования;
- часть данных переносилась повторно или через промежуточные системы;
- возникли дубли, нарушения ключей, последовательностей или идентификаторов;
- стороны спорят о составе и качестве выполненных работ;
- нужно отделить ошибку миграции от последующих изменений.
Если основной вопрос — выполнены ли требования проекта в целом, выбирают экспертизу соответствия БД техническому заданию. Историю изменения отдельных объектов после переноса исследуют в рамках экспертизы изменений и удаления данных. Переезд между облачными провайдерами может потребовать также экспертизы облачных сервисов.
Предмет и границы исследования
Эксперт проверяет полноту переноса схемы, данных и других согласованных объектов из названного исходного состояния в заданное целевое. Он выявляет отсутствующие и лишние объекты, несовпадающие значения, нарушения связей и отклонения от правил преобразования. Техническую причину указывают только тогда, когда её можно отличить от последующих изменений и исключить иные объяснения.
Байтовое различие не всегда означает ошибку: изменение типа, формата, степени нормализации или модели данных могло быть предусмотрено правилами. Совпадение количества строк также не доказывает равенства содержимого. Эксперт не определяет ответственность, нарушение договора и размер убытков; правовое значение технического результата оценивает уполномоченный орган или суд.
Какие объекты исследуются
Сначала уточняют, какие исходное и целевое состояния заданы для сравнения; в судебной экспертизе объекты определяет назначивший орган. Если во время переноса системы продолжали принимать записи, устанавливают контрольные точки, позиции журналов и правила сведения изменений к общему моменту. Две выгрузки с разным временем создания нельзя сравнивать как одновременные.
Исходная и целевая базы
Исследуются физические или логические копии, схемы, таблицы и коллекции, ключи, ограничения, индексы, представления, процедуры и метаданные. Для каждой копии фиксируют источник, версию СУБД, кодировку, локаль, часовой пояс и настройки. Также указывают время начала и окончания, команду, параметры и версию средства получения, контрольную точку или позицию журнала, охват узлов и контрольные суммы с алгоритмом. Способ обеспечения и результат проверки согласованности описывают по правилам конкретной архитектуры.
Правила преобразования и код
Согласованные карты соответствия, ТЗ и правила преобразования задают допустимые различия. ETL/ELT-скрипты, конвертеры схем и их конфигурация являются объектами проверки: поведение самого кода не определяет, какой результат допустим. Нужны точные версии кода, зависимости и параметры запуска. Без этого можно зафиксировать расхождение, но не всегда установить, соответствует ли оно заданному преобразованию.
Журналы и контрольные отчёты
Журналы миграции, CDC, ошибок, повторов и отката, протоколы сверки, счётчики, контрольные суммы и реестры исключений отражают ход операций только в объёме, предусмотренном настройками инструмента. Статус «успешно» не заменяет сравнения данных. Отдельно проверяют пропущенные и повторно обработанные пакеты, ошибки, карантинные записи, ручные исправления и изменения вне миграционного контура.
Материалы для экспертизы
Комплект должен позволять восстановить границы переноса и отличить предусмотренное преобразование от расхождения. Для первого обращения достаточно описания и перечня источников. Полные базы и исходный код передают после согласования объёма и защищённого канала. Необходимость и способ доступа к системе согласуют отдельно; действующие пароли и ключи в комплект материалов не включают.
- исходная и целевая базы для заданных контрольных точек с протоколами получения и контрольными суммами;
- версии СУБД, схема размещения, кодировки и часовые пояса;
- план миграции, карты соответствия и правила преобразований;
- версии средств и кода ETL/ELT, скрипты схемы, конфигурация и версия средств CDC и репликации;
- журналы выполнения, ошибок, повторов и отката, полный перечень обработанных пакетов;
- критерии полноты, отчёты проверки и реестры исключений или карантинных записей;
- исходная контрольная позиция, последняя захваченная и последняя применённая позиция CDC, величина задержки и незавершённые транзакции;
- интервал двойной записи и операции между остановкой изменений, завершением CDC и запуском целевой системы;
- ТЗ, договор, акты, протоколы испытаний и переписка об отклонениях.
Если исходная база недоступна, используют резервные копии, выгрузки, отчёты, журналы и первичные источники, сформированные независимо от целевой базы. Для каждого указывают происхождение, охват и способ формирования. Целевую базу нельзя считать единственным эталоном полноты миграции, а вывод обо всём переносе без исходного состояния может оказаться невозможным.
Как проводится сравнение
Эксперт устанавливает представленную согласованную редакцию карты соответствия и формализует содержащиеся в ней правила идентификации объектов. Неопределённые правила уточняет назначивший орган или согласованное внесудебное задание. Затем проверяются состав схемы, множество ключей, значения, связи, агрегаты и зависимые сущности.
До сравнения значения приводят к согласованной форме. Правило канонизации версионируют и фиксируют полностью: формат сериализации, порядок полей и строк, экранирование, нормализацию Unicode и представление NULL, чисел и временных значений. Иначе технически равные данные могут дать разные контрольные суммы.
Для больших объёмов применяют воспроизводимое пакетное сравнение с реестром каждого расхождения. Контрольная выборка пригодна для предварительной оценки, выявления повторяющегося типа ошибки или статистического вывода, если методика обоснована. Для статистического вывода указывают дизайн и размер выборки, генератор и seed случайного отбора, доверительный уровень, оценку доли ошибок и доверительный интервал.
Если вывод нужен обо всём массиве, метод должен охватывать заданную генеральную совокупность целиком либо прямо описывать статистическую погрешность и ограничения. Повторный запуск, возобновление после ошибки и идемпотентность проверяют, если они предусмотрены планом или фактически выполнялись. Перед каждым тестом восстанавливают исходное состояние, а нагрузочные и исправляющие действия выполняют на стенде, не на доказательственных копиях.
Какие вопросы поставить перед экспертом
Вопрос должен называть исходное и целевое состояния, объекты, контрольные точки и правила сопоставления. Полноту, преобразования, причины расхождений и возможность восстановления лучше разделить на самостоятельные задачи.
Укажите ключи, допустимые исключения и критерий сравнения. Не поручайте эксперту решать, «успешна ли миграция» в правовом смысле или «виновен ли подрядчик». Окончательный круг вопросов и материалов судебной экспертизы определяет назначающий орган.
- Соответствуют ли множества исходных и целевых ключей согласованной карте идентификации с учётом предусмотренных замен, исключений, объединения и разделения объектов?
- Какие строки, документы или ключи отсутствуют в целевой базе либо появились дополнительно?
- Какие значения различаются для сопоставленных объектов после применения согласованных преобразований?
- Соответствуют ли преобразования согласованным правилам сопоставления?
- Реализованы ли в целевой системе предусмотренные картой правила формирования ключей и идентификаторов, связей и ограничений?
- Имеются ли признаки усечения, недопустимого округления либо неверного преобразования кодировок и временных значений?
- Какие ошибки, повторы и пропуски отражены в журналах, счётчиках и сопоставлении фактически обработанных пакетов?
- На каком этапе расхождения впервые фиксируются, какой механизм их возникновения подтверждён и какие альтернативные объяснения проверены?
- Возможно ли восстановить недостающие данные из доступных источников?
- Какие части миграции невозможно проверить представленным комплектом?
Вопрос «все ли данные на месте?» уточняют перечнем сущностей, правилами и контрольными точками. Размер ущерба отделяют от технического реестра расхождений. Отдельно исследуют этап и механизм появления различия.
Если заключение прямо устанавливает виновность подрядчика, его мотив или размер юридически значимого ущерба, следует проверить пределы компетенции автора и обоснованность соответствующего ответа. Дальнейшие действия — допрос эксперта, постановка вопроса о дополнительной или повторной экспертизе либо о допустимости заключения как доказательства — зависят от вида процесса и существенности недостатка.
Ограничения при продолжающейся записи
Если исходная или целевая база менялась во время переноса и проверки, одинаковые ключи могли относиться к разным фактическим состояниям системы. Нужны согласованное окно фиксации, исходная, последняя захваченная и последняя применённая позиции CDC или других журналов, сведения о задержке, непротиворечивые снимки либо правило сведения изменений к общей точке. Операция в целевой базе после переключения способна скрыть или создать расхождение.
При миграции между разнородными системами учитывают различия типов данных, правил сортировки и сравнения, точности чисел, обработки NULL, часовых поясов, транзакций и ограничений. Объекты без прямого аналога проверяют по согласованному функциональному результату, а не по сходству названий.
Предварительный прогноз и результат
Для предварительной оценки выбирают несколько критичных сущностей и сопоставляют их в обеих базах по карте преобразований. Это помогает выявить типы расхождений, проверить пригодность ключей и сопоставимость контрольных точек, а также оценить ресурсы для полной проверки. Результат выборки нельзя переносить на весь массив без обоснования.
После процессуального назначения результат оформляется как заключение эксперта; работа по договору завершается внесудебным документом. В соответствующем итоговом документе приводят карту соответствия, контрольные точки, фактический охват генеральной совокупности, метод, реестр расхождений, проверенные причины и ограничения выводов. Дополнительные копии и пояснения по назначенной экспертизе поступают через назначивший орган.
От чего зависят срок и стоимость
На трудоёмкость влияют объём и число сущностей, наличие надёжных ключей, различия схем, количество правил преобразования, активность обеих баз, сохранность журналов, необходимость развернуть две среды и требуемый охват проверки. Точные условия определяются после просмотра материалов. Если нужна отдельная предварительная сверка данных, заранее согласуют её объём, формат результата, стоимость и срок; такой результат не является заключением эксперта.
Проведение экспертизы по уголовному делу
Судебная экспертиза по уголовному делу производится государственными судебными экспертами и иными экспертами из числа лиц, обладающих специальными знаниями.
Согласно постановлению Пленума Верховного Суда Российской Федерации от 21 декабря 2010 г. № 28 «О судебной экспертизе по уголовным делам», негосударственными судебно-экспертными учреждениями признаются некоммерческие организации, созданные на основании Гражданского кодекса Российской Федерации и Федерального закона «О некоммерческих организациях» и ведущие судебно-экспертную деятельность согласно своим уставам.
По сведениям организации, проведение судебных экспертиз предусмотрено её уставом (см. действующую редакцию в разделе «Документы организации»). Это само по себе не означает автоматического поручения любой экспертизы. Возможность поручить конкретное исследование определяет назначающий орган.
В случаях, перечисленных пунктом 5 постановления № 28, когда экспертизу по уголовному делу назначает суд, ему следует мотивировать в определении или постановлении поручение исследования учреждению либо конкретному лицу. Пункт 5 постановления № 28 связывает выбор негосударственного учреждения с невозможностью провести исследование в государственном учреждении, обслуживающем соответствующую территорию: например, из-за отсутствия нужного специалиста, материально-технической базы или специальных условий, либо с отводом компетентных государственных учреждений. Дополнительно учитываются квалификация эксперта, основания для отвода и действующий перечень экспертиз, выполняемых только государственными судебно-экспертными организациями.