Экспертиза баз данных и СУБД

Судебная экспертиза базы данных MongoDB

Устанавливаем, что произошло с базой MongoDB, можно ли восстановить документы и чем вызван сбой. Для первого обращения достаточно описания — без рабочей базы и паролей.

Ориентир по стоимости экспертизы
от 100 000 ₽
Ориентир по сроку экспертизы
от 10 рабочих дней
  • Судебные экспертизы
  • Внесудебные исследования
  • Рецензирование заключений
01 Проверим компетенцию

До оплаты определим, относится ли задача к выбранному виду исследования.

02 Поможем подготовиться

Уточним вопросы и перечень материалов — готовый комплект не обязателен.

03 Работаем с регионами

Принимаем задачи из России, Казахстана и Беларуси; часть материалов можно передать электронно.

04 Сопровождаем результат

Разъясняем методику и выводы, отвечаем на вопросы суда в пределах компетенции эксперта.

О направлении

Подробно о задачах, объектах и методиках

Материал описывает типовые задачи и вопросы. Окончательные формулировки определяются с учётом компетенции эксперта, а правовую оценку обстоятельствам даёт суд.

Содержание страницы

    Экспертиза MongoDB нужна, когда спор зависит от BSON-документов, структуры коллекций, журналов, репликации, шардинга, резервных копий, сбоя или результата миграции. Специалист исследует не только выгрузку: устанавливает точную версию и уровень совместимости функций (feature compatibility version), схему развёртывания, механизм хранения, dbPath, набор реплик (replica set) или шардированный кластер, параметры подтверждения записи (write concern) и чтения (read concern), oplog, аудит и журналы приложения. Это специализированное направление экспертизы баз данных и СУБД.

    Предварительная оценка показывает, какие вопросы проверяемы и достаточно ли материалов. Для первого обращения подходят схема топологии, версии, перечень файлов данных, снимков, выгрузок и журналов, размер oplog и спорный период. Если нужные операции уже вышли из окна oplog, аудит не был включён, а сохранилась только текущая логическая выгрузка, исторический ответ может быть невозможен. Это лучше установить до полной работы, чтобы вовремя запросить дополнительные источники или уточнить вопросы.

    После сбоя или спорного удаления не запускайте mongod --repair, повторную инициализацию или синхронизацию узла, уплотнение данных и восстановление поверх единственной копии. Не копируйте отдельные файлы WiredTiger из работающего dbPath как независимую базу. Зафиксируйте роли и состояние узлов, позиции репликации (optimes), время и часовой пояс, конфигурацию и доступные резервные копии; секреты и ключи передают только согласованным защищённым способом. Выполняет это владелец системы или уполномоченный им администратор; если кластер принадлежит другой стороне, доказательство сохраняют через суд.

    Отдельно о том, что будет, если ответить не удастся. Задачу, по которой уже из присланных материалов видно, что вывода не получится, мы просто не берём в работу и говорим об этом сразу. Это не обещание положительного вывода: отказ на входе означает лишь, что невозможность видна уже из перечня материалов. Если же невозможность выясняется по итогам полноценного исследования, это результат, а не пустой счёт: заключение объясняет, почему ответа нет и чего именно не хватило. В споре такой вывод часто закрывает вопрос: обоснованный ответ, что окно oplog за спорный период закрылось, показывает суду границы имеющихся источников. Назначать ли после этого дополнительную или повторную экспертизу, решает назначивший её орган. Бывает и частичная невозможность: тогда указывают, на какие вопросы ответ получен, а на какие нет и по какой причине.

    Кто снимает копию, решают по объекту. Иногда это делает сам заказчик или его администратор по согласованному плану; иногда — наш специалист, удалённо или с выездом, как отдельная консультация; иногда фиксация входит в саму экспертизу. Выбор зависит от сложности системы, доступности и трудоёмкости: снимки узлов и границы oplog снимают по-разному на одиночном сервере и на нагруженном кластере. Если инфраструктурой управляет другая сторона, порядок доступа определяет суд, и фиксацию проводят с участием эксперта.

    Принудительная переконфигурация (rs.reconfig с force: true) откатывает записи, подтверждённые большинством, и потому меняет исследуемое состояние. Но держать боевой кластер нерабочим ради сохранности следов не нужно: до восстановления работы снимите копии файлов данных всех доступных узлов, сохраните rs.status(), rs.conf(), границы oplog и каталог отката, зафиксируйте время — и возвращайте доступность.

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

    Что именно исследуют в MongoDB

    MongoDB Community, Enterprise и Atlas имеют разные доступные источники и порядок получения. Одиночный сервер, набор реплик и шардированный кластер также нельзя сводить к одному файлу. В шардированном развёртывании документы распределены по шардам, а метаданные размещения и маршрутизации связаны с серверами конфигурации и mongos.

    В зависимости от схемы развёртывания исследуют:

    • версии исполняемых файлов, уровень совместимости функций, механизм хранения и параметры запуска;
    • базы, коллекции, представления, UUID, правила проверки, индексы, пользователей, роли и настройки профилирования;
    • файлы данных WiredTiger, журнал и контрольные точки либо логические BSON-выгрузки;
    • конфигурацию набора реплик, состояния участников, выборы, позиции репликации, откат и окно oplog;
    • для шардинга — шарды, серверы конфигурации, mongos, основную базу шарда, диапазоны данных, зоны и события их перемещения;
    • журнал аудита, диагностический журнал, коллекции профилировщика, FTDC, журналы приложения и облачные события;
    • метод резервного копирования, согласованность снимка, шифрование данных на диске и внешний KMS.

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

    Что может и чего не может установить эксперт

    При достаточных источниках можно определить данные и схему на контрольный момент, сопоставить снимки, исследовать операции в сохранённых oplog и журнале аудита, проверить восстановление, откат, настройки устойчивости, распределение данных и миграцию. Метод должен отделять наблюдаемый факт от вывода о его причине.

    При достаточных материалах эксперт может установить:

    • какие документы, поля, типы BSON, индексы и правила проверки присутствуют в заданном пространстве имён;
    • какие успешные изменения отражены в доступном диапазоне local.oplog.rs и к каким пространствам имён они относятся;
    • соответствует ли резервная копия или снимок заявленному моменту и возможно ли восстановление на заданную точку;
    • происходили ли выборы, понижение основного узла, откат, начальная синхронизация или заметное отставание репликации;
    • какие запросы и действия отражены в реально настроенных журналах аудита, профилировщика и диагностики;
    • соответствуют ли настройки шардинга и репликации требованиям и полностью ли выполнена миграция.

    Oplog не записывает неуспешные операции и чтения, не хранит бессрочную историю и не является универсальным журналом физического пользователя. Журнала аудита в редакции Community нет вовсе — он доступен только в MongoDB Enterprise и в управляемых сервисах, причём с разным набором настроек; это стоит проверить до того, как строить вопросы на записях аудита. Техническую учётную запись, метаданные клиента, адрес или соединение сопоставляют с приложением, IdP, ОС и сетью. Эксперт устанавливает связь события с техническими идентификаторами, а вопрос о том, какое физическое лицо действовало и с каким умыслом, разрешает суд или иной уполномоченный орган.

    Материалы и сохранность

    Для каждого объекта фиксируют источник, узел, путь или облачный проект, средство получения и его версию, дату, время и часовой пояс, размер и SHA-256 завершённой мастер-копии. Мастер-копию сохраняют неизменной, исследование ведут на рабочей копии; после каждой передачи повторно проверяют SHA-256 и записывают отправителя, получателя, время и носитель. Перед сбором работающего кластера согласуют минимальное воздействие и учитывают, что диагностические команды, резервное копирование и сброс данных на диск сами создают события.

    В комплект обычно включают:

    • конфигурацию mongod и mongos, параметры запуска, версии и уровень совместимости функций;
    • согласованные снимки файловой системы или томов со всеми нужными данными и журналами либо облачные резервные копии;
    • BSON-выгрузки с метаданными, команды и версии MongoDB Database Tools, а также отчёты об ошибках;
    • конфигурацию набора реплик и шардинга, состояния участников, позиции и отставание репликации, балансировщик и метаданные диапазонов;
    • копию доступного oplog с границами ts, журналы аудита и диагностики, данные профилировщика, FTDC и сведения о ротации;
    • каталог отката, события выборов, понижения основного узла, повторной и начальной синхронизации и обслуживания;
    • журналы приложения, драйвера, входного шлюза или прокси, IdP, ОС и оркестратора;
    • правила схемы, техническое задание, политику резервного копирования, карту миграции и спорный период.

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

    Передача копии, в которой есть сведения о людях или охраняемая законом тайна, требует законного основания. По назначенной экспертизе объекты поступают от назначившего органа; вне процесса — от обладателя сведений и в объёме, необходимом для ответа на поставленные вопросы. Обезличивание при этом обсуждают не как уступку, а как способ передать меньше, чем есть. Эксперт не разглашает сведения, ставшие известными ему в связи с исследованием, а рабочие копии удаляет по окончании работы.

    WiredTiger, контрольные точки и журнал

    WiredTiger создаёт согласованные контрольные точки файлов данных; после аварийного завершения MongoDB использует сохранившийся журнал, чтобы воспроизвести пригодные записи после последней контрольной точки. Попадание подтверждённой клиенту записи в восстановленное состояние зависит от действовавших writeConcern, параметра j, writeConcernMajorityJournalDefault и фактической синхронизации на диск. Журнал предназначен для устойчивости и восстановления после сбоя, но не равнозначен oplog и не является бессрочной хронологией прикладных операций.

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

    Для самостоятельно обслуживаемого шардированного кластера физический срез планируют как отдельную изменяющую операцию. Сначала фиксируют топологию и состояние репликации, останавливают балансировщик, прикладные записи, изменения схемы и топологии. Дальнейший порядок выбирают строго по фактической версии. Начиная с MongoDB 7.1, а также 7.0.2, 6.0.11 и 5.0.22, документированная процедура блокирует кластер командой db.fsyncLock() через mongos и на основном узле набора серверов конфигурации, затем создаёт снимки основного сервера конфигурации и основных узлов всех шардов. До снимка фиксируют результат проверки fsyncLocked=true, fsyncUnlocked=false на обеих точках и отсутствие незавершённых операций. После снимков выполняют db.fsyncUnlock(), подтверждают обратное состояние и возобновляют балансировщик с проверкой его работы. Для других версий используют относящееся к ним руководство или согласованный с поддержкой порядок; прямую работу с шардом не считают универсально безопасной. В MongoDB 8.0 роль directShardOperations опасна и допустима только для обслуживания или по указанию поддержки.

    Согласованность томов одного узла не доказывает единый момент всего кластера. Если записи не были приостановлены либо снимки шардов и серверов конфигурации создавались в разные интервалы, фиксируют для каждого узла начало и конец, clusterTime и границы oplog. При восстановлении отдельно проверяют пропуски и дубли документов, перемещения диапазонов и распределённые транзакции; неподтверждённый набор снимков не называют точным срезом на одну секунду.

    --repair предназначен для особых случаев восстановления повреждённого состояния и способен изменять данные. После обычной аварийной остановки WiredTiger использует контрольную точку и журнал; запуск repair «на всякий случай» не нужен и может уничтожить следы. В экспертном исследовании сначала документируют ошибку и делают копию.

    Oplog, откат и восстановление на заданную точку

    Oplog — специальная ограниченная коллекция local.oplog.rs с циклически обновляемыми записями об операциях, изменивших данные набора реплик. Вторичные узлы асинхронно копируют и применяют эти записи. Неуспешная операция или операция без изменения данных записи не создаёт; чтения в oplog не отражаются. Старые записи вытесняются по мере заполнения, поэтому на каждом узле фиксируют фактические начальную и конечную метки времени.

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

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

    Аудит, профилировщик и диагностический журнал

    Аудит MongoDB записывает выбранные события доступа и администрирования, но существует не везде: в Community его нет, в Enterprise и управляемых сервисах он включается отдельно и работает в пределах настроенного фильтра. Проверяют формат, назначение вывода, фильтр, текущую конфигурацию, ротацию и период. Отсутствие события, которое фильтр не охватывал, нельзя трактовать как доказательство отсутствия действия.

    Профилировщик базы собирает сведения об операциях в коллекции system.profile конкретной базы с учётом уровня, slowms, выборки и ограниченного размера. Он может влиять на производительность и не является неизменяемым аудитом. Диагностический журнал отражает сообщения сервера и операции в зависимости от детализации, порога медленных операций и настроек компонентов; строки могут содержать чувствительные данные и ротируются.

    Для ретроспективы сопоставляют эти источники с oplog, FTDC, журналами приложения и драйвера, входного шлюза, IdP, облачными событиями и синхронизацией часов. Форма запроса и имя пользователя помогают установить технические связи; вопрос о физическом авторстве оценивает суд или иной уполномоченный орган вместе с другими доказательствами.

    Набор реплик и шардированный кластер

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

    В шардированном кластере нужны согласованные данные всех шардов и набора серверов конфигурации. mongos маршрутизирует запросы, а балансировщик и перемещения диапазонов способны менять размещение данных. Локальная выборка с одного шарда не доказывает полноту коллекции. Для общей временной линии учитывают clusterTime, локальные oplog каждого шарда, перемещения диапазонов, распределённые транзакции и возможные расхождения часов.

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

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

    При миграции сопоставляют базы, коллекции и UUID, число и содержимое документов, типы BSON, вложенные структуры и массивы, ObjectId, Decimal128, даты и часовые пояса, двоичные данные, индексы и их параметры, правила проверки, правила сортировки, TTL и частичные индексы, пользователей, роли, представления, ключи шардинга и зоны. Проверяют отклонённые документы, преобразования, повторные попытки, переключение на новую систему и записи после контрольной точки. Равное число документов не подтверждает одинаковую семантику приложения. Когда предметом спора становится сам перенос, а не устройство базы, задачу закрывает экспертиза миграции баз данных.

    Примеры вопросов на экспертизу

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

    До назначения стороны могут использовать приведённые ниже формулировки как предложения о технических вопросах. Для MongoDB полезно указать схему развёртывания, версию, базу и коллекцию, документ или критерий, период и часовой пояс. Например, можно предложить исследовать, отражено ли удаление документа X в oplog или журнале аудита и с какими техническими идентификаторами связана операция, либо до какого момента возможно восстановление по снимку Z и непрерывному диапазону oplog. Дополнительные примеры:

    1. Какие документы и индексы содержатся в представленном состоянии пространства имён?
    2. Какие изменения конкретных документов отражены в доступном диапазоне oplog?
    3. Охватывают ли резервная копия и oplog заданный момент и возможно ли воспроизводимое восстановление?
    4. Имеются ли признаки отката, начальной синхронизации, выборов или отставания репликации?
    5. Какие действия отражены в представленном журнале аудита и с какими техническими идентификаторами?
    6. Соответствуют ли снимки серверов конфигурации и всех шардов общему подтверждаемому состоянию, исключены ли пропуски и дубли?
    7. Как распределены спорные данные между шардами и подтверждается ли полнота выборки?
    8. Каковы технические причины зафиксированной ошибки или замедления?
    9. Соответствуют ли конфигурации репликации и резервного копирования заданным требованиям?
    10. Полностью ли перенесены перечисленные документы, типы, индексы и правила проверки?

    Порядок работы, результат и стоимость

    Сначала идентифицируют топологию и версии, затем инвентаризируют и хэшируют источники, создают изолированный совместимый стенд, восстанавливают рабочую копию, анализируют данные и журналы, проверяют альтернативные причины и документируют команды. Экземпляр MongoDB не запускают с исходным каталогом dbPath; для работы используют его проверенную копию. Вывод разделяет факты, интерпретацию и ограничения полноты.

    Если судебная экспертиза уже назначена, назначенный по делу эксперт не принимает от одной стороны напрямую дополнительные выгрузки, файлы данных и записи oplog и не даёт ей частную оценку по существу поручения: вопросы, доступ и новые материалы идут через назначившего субъекта. Это не исключает обращения стороны к другому, не назначенному по делу специалисту — за консультацией или рецензией по законно полученным материалам. Предшествующую содержательную работу специалиста для одной стороны раскрывают при рассмотрении его кандидатуры; допустимость назначения и возможный отвод решает уполномоченный субъект с учётом мнения участников. Чтобы снизить риски, роли консультанта стороны и кандидата в судебные эксперты целесообразно разделять.

    Результатом может быть консультация, внесудебное исследование, заключение специалиста, судебная экспертиза или рецензия. Ориентир по стоимости — от 100 000 ₽, срок — от 10 рабочих дней; влияют объём, топология, шифрование, число снимков и узлов, состояние oplog, стенд, период и вопросы. Процессуальный статус определяется назначением, доказательственное значение — судом. Готовое чужое заключение проверяет рецензия на заключение экспертизы баз данных и СУБД.

    Проведение экспертизы по уголовному делу

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

    Негосударственными судебно-экспертными учреждениями постановление Пленума Верховного Суда Российской Федерации от 21 декабря 2010 г. № 28 «О судебной экспертизе по уголовным делам» признаёт некоммерческие организации, созданные в соответствии с Гражданским кодексом Российской Федерации и Федеральным законом «О некоммерческих организациях» и осуществляющие судебно-экспертную деятельность в соответствии с принятыми ими уставами.

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

    Актуализировано
    Форматы работы

    Стоимость и сроки

    Указан предварительный ориентир. Точный расчёт зависит от вопросов, объёма материалов, количества объектов и необходимости выезда. Начало отсчёта фиксируем после проверки необходимого комплекта.

    По договору

    Внесудебное исследование

    от 100 000 ₽
    от 10 рабочих дней
    точная стоимость будет определена после ознакомления с объектом исследования

    Итог — внесудебное исследование или документ специалиста по договору. Его наименование, представление и доказательственное значение зависят от вида процесса и оцениваются судом.

    Заказать исследование
    Проверка готового заключения

    Рецензирование

    от 50 000 ₽
    10 рабочих дней
    точная стоимость будет определена после ознакомления с заключением и приложениями

    Итог — письменная рецензия на готовое заключение. Она проверяет исходные данные, методы и выводы, но не отменяет заключение и не заменяет новое исследование объекта.

    Передать заключение на проверку
    Письменный ответ эксперта

    Консультация и справка

    от 20 000 ₽
    2-3 рабочих дня
    точная стоимость будет определена после ознакомления с объектом исследования

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

    Описать вопрос
    Разбор задачи — без оплаты

    Проверим вид исследования, комплектность материалов и возможность работы. Если по присланным материалам видно, что ответить нельзя, скажем сразу и работу не возьмём. Когда материалы структурированы, предварительный прогноз тоже бесплатный; если разбор требует долгой работы эксперта, предупредим об этом до начала — тогда это платная консультация.

    Получить предварительную оценку
    Организация исследования

    Как строится работа над экспертизой

    До начала исследования уточним предмет задачи, состав материалов и формат итогового документа.

    1. 01 Предварительный разбор

      Проверяем компетенцию и сообщаем, можно ли провести исследование по поставленной задаче.

    2. 02 Вопросы и материалы

      Уточняем вопросы и сообщаем, каких документов или объектов не хватает.

    3. 03 Экспертное исследование

      Эксперт применяет профильные методики, фиксирует ход работы и обосновывает выводы.

    4. 04 Заключение и пояснения

      Передаём результат и при необходимости разъясняем суду применённую методику и выводы.

    Документы организации

    Ответы специалистов

    Частые вопросы

    Практические пояснения о назначении, материалах и использовании экспертного заключения.

    Все вопросы по направлению
    Когда нужна экспертиза MongoDB?

    Экспертиза MongoDB нужна, когда спор зависит от BSON-документов, структуры коллекций, индексов и правил проверки, oplog, журналов аудита или диагностики, резервных копий, набора реплик либо шардированного кластера. Типичные задачи — исследовать подтверждаемое изменение, откат, потерю данных, сбой, производительность, настройки устойчивости или полноту миграции.

    Простой экспорт документов иногда достаточен для узкой сверки, но не описывает физическое состояние, топологию и историю. Специализация необходима, когда важны WiredTiger, контрольные точки, журнал, окно oplog, выборы, требование подтверждения записи (write concern), распределение по шардам или согласованность снимков. Сначала устанавливают Community, Enterprise или Atlas, точную версию, уровень совместимости функций и фактическую схему развёртывания. Порядок работы, состав материалов и сроки собраны на странице экспертизы MongoDB.

    Отдельная страница: Когда нужна экспертиза MongoDB?
    Можно ли заранее оценить перспективу экспертизы MongoDB?

    По описанию топологии, версиям, перечню снимков и выгрузок, границам oplog, журналам аудита и диагностики можно предварительно оценить проверяемость вопросов и необходимый стенд. Для первого обращения обычно не нужны рабочий dbPath и пароли; достаточно инвентаризации узлов, размера данных, спорного периода и известных событий переключения роли или миграции.

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

    Отдельная страница: Можно ли заранее оценить перспективу экспертизы MongoDB?
    Какие материалы нужны для экспертизы MongoDB?

    Нужны конфигурация и версии mongod/mongos, уровень совместимости функций, топология, согласованные файловые или облачные снимки, BSON-выгрузки с метаданными и отчёты MongoDB Database Tools. Для набора реплик собирают конфигурацию, состояния участников, позиции репликации, доступный oplog, события выборов и отката; для шардинга — также серверы конфигурации, все шарды, mongos и метаданные диапазонов.

    Полезны журналы аудита и диагностики, коллекции профилировщика, FTDC, журналы приложения, драйвера, IdP, ОС, входного шлюза и оркестратора, политика резервного копирования и карта миграции. Для каждого объекта фиксируют источник — узел и путь, средство получения и его версию, дату, время и часовой пояс, размер и SHA-256 мастер-копии. Её сохраняют неизменной, исследование ведут на рабочей копии; после каждой передачи проверяют SHA-256 и записывают отправителя, получателя, время и носитель. Ключи шифрования и KMS-сведения хранят отдельно. Согласованность даёт штатный снимок или резервная копия, снятая документированным способом; набор файлов, скопированных из работающего каталога по одному, восстановить не удастся.

    Отдельная страница: Какие материалы нужны для экспертизы MongoDB?
    От чего зависят стоимость и срок экспертизы MongoDB?

    Стоимость и срок зависят от версии, числа баз, коллекций, узлов и шардов, объёма, числа снимков, размера и сохранности oplog, шифрования, повреждения и периода. Дополнительную работу создают восстановление совместимого стенда, согласование снимков нескольких шардов, анализ отката, облачная выгрузка и сопоставление MongoDB с приложением, IdP и сетью.

    После инвентаризации специалист оценивает минимальный достаточный набор действий. Ориентиры направления: стоимость от 100 000 ₽, срок от 10 рабочих дней. Узкая сверка документов и реконструкция шардированного кластера имеют разную трудоёмкость, поэтому фиксированная цена без материалов была бы неточной. Срочность согласуют с учётом времени безопасного копирования, объёма восстановления и доступности необходимой версии. Общие для всех платформ правила — на странице экспертизы баз данных и СУБД.

    Отдельная страница: От чего зависят стоимость и срок экспертизы MongoDB?
    Можно ли восстановить удалённые или изменённые данные MongoDB?

    После аварийной остановки WiredTiger использует последнюю согласованную контрольную точку и сохранившийся журнал. Войдёт ли подтверждённая клиенту запись в восстановленное состояние, зависит от действовавших writeConcern, параметра j, writeConcernMajorityJournalDefault и фактической синхронизации. Это не произвольное историческое восстановление. Восстановление на заданную точку требует подходящей копии или снимка и непрерывной последовательности oplog после него либо штатной функции управляемого сервиса, охватывающей нужную конфигурацию.

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

    Отдельная страница: Можно ли восстановить удалённые или изменённые данные MongoDB?
    Что можно установить по oplog MongoDB?

    local.oplog.rs — ограниченная по размеру коллекция, в которой по кольцевому принципу хранятся записи об успешных операциях, изменивших данные набора реплик. По доступному диапазону можно исследовать пространство имён, тип операции, временную метку и данные записи, а также использовать журнал вместе с резервной копией для восстановления на заданный момент. Самые старые записи вытесняются, поэтому фактическое окно фиксируют на каждом узле.

    Неуспешные операции, чтения и команды без изменения данных в oplog не отражаются. Он обслуживает репликацию и не является полным аудитом пользователя. После переключения роли часть операций бывшего основного узла (primary) может попасть в откат, если не была устойчиво реплицирована. Для вывода сопоставляют номер эпохи выборов (term), позиции репликации, общую точку, файлы отката, требование подтверждения записи (write concern), аудит и журналы приложения и не отождествляют запись с конкретным человеком.

    Отдельная страница: Что можно установить по oplog MongoDB?
    Что показывают журнал аудита, профилировщик и диагностический журнал MongoDB?

    Журнал аудита может отражать выбранные события аутентификации, авторизации, доступа и администрирования в пределах возможностей редакции или сервиса и фактического фильтра. Профилировщик базы записывает операции конкретной базы в ограниченную коллекцию system.profile с учётом уровня, slowms и выборки. Диагностический журнал содержит сообщения сервера и сведения об операциях согласно настроенной детализации и порогам.

    Ни один источник не следует считать автоматически полным. Проверяют конфигурацию, период включения, фильтры, размер, ротацию, узел и синхронизацию времени. Для атрибуции сопоставляют пользователя, соединение и метаданные клиента с приложением, IdP, входным шлюзом и ОС. Границу охвата и состав учётных записей описывают в заключении отдельно: за пределами настроенного фильтра записи просто не велись, а техническая учётная запись указывает на приложение, а не на человека.

    Отдельная страница: Что показывают журнал аудита, профилировщик и диагностический журнал MongoDB?
    Как исследуют набор реплик и шардированный кластер MongoDB?

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

    Для физического среза самостоятельно обслуживаемого кластера останавливают балансировщик, записи и изменения схемы. Порядок зависит от версии: начиная с MongoDB 7.1, а также 7.0.2, 6.0.11 и 5.0.22, документированная процедура применяет db.fsyncLock() через mongos и на основном сервере конфигурации, затем охватывает снимками основной сервер конфигурации и основные узлы всех шардов. Для иных версий следуют именно их руководству; прямую работу с шардом не считают универсально безопасной. Записывают интервалы, clusterTime и границы oplog, проверяют пропуски и дубли. Без подтверждённого общего момента снимки называют интервальными. Для управляемого сервиса документируют штатную процедуру поставщика.

    Отдельная страница: Как исследуют набор реплик и шардированный кластер MongoDB?
    Какие вопросы ставят эксперту по MongoDB?

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

    Вместо «кто взломал базу?» формулируют наблюдаемую задачу: какие представленные источники отражают операцию X, какое имя пользователя, какое соединение, какой адрес и какие метаданные приложения с ней связаны. Вопросы виновности, умысла и правовой квалификации эксперт не решает. До назначения полезно проверить, существуют ли нужные источники и входит ли период в окно oplog и срок хранения других журналов.

    Отдельная страница: Какие вопросы ставят эксперту по MongoDB?
    Как проверить полноту миграции MongoDB?

    При миграции MongoDB сопоставляют базы, коллекции и UUID, документы и вложенные массивы, типы BSON, ObjectId, Decimal128, даты, часовые пояса, двоичные значения и NULL. Проверяют индексы и их параметры, уникальные, частичные и TTL-индексы, правила проверки, сортировки, представления, пользователей, роли, ключи шардинга, зоны и метаданные.

    Методика фиксирует контрольный момент, версии источника и приёмника, карту соответствия, отклонённые документы, преобразования, повторные попытки и переключение на новую систему. Равное число документов не гарантирует равное содержимое или поведение приложения. При переносе в реляционную СУБД отдельно проверяют разворачивание вложенных структур, массивы, отсутствующие поля и типы; при переносе между кластерами — UUID, индексы, права и изменения после среза. Если перенос и есть предмет спора, задачу закрывает экспертиза миграции баз данных.

    Отдельная страница: Как проверить полноту миграции MongoDB?
    Можно ли использовать заключение по базе MongoDB в суде?

    Судебное заключение готовят после назначения экспертизы уполномоченным субъектом — в пределах поставленных вопросов и переданных объектов. Внесудебное исследование сторона представляет сама; заранее установленной доказательственной силы у него нет.

    Суд смотрит, можно ли выводы проверить. Для MongoDB это значит, что в заключении названы версия и уровень совместимости, схема развёртывания, из каких узлов взяты файлы данных и какой отрезок oplog сохранился. Без границ окна oplog утверждение о том, что происходило с документом, повторить не получится.

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

    Отдельная страница: Можно ли использовать заключение по базе MongoDB в суде?
    Чем экспертиза MongoDB отличается от аудита администратора?

    Аудит администратора смотрит вперёд: схема развёртывания, индексы, размер окна oplog, план резервного копирования, параметры записи и чтения. Результат — рекомендации по надёжности и скорости.

    Экспертиза смотрит назад и обязана быть воспроизводимой: какие операции сохранились в oplog, что показывают журналы аудита и профилировщика, можно ли восстановить документ на дату. Файлы данных при этом не запускают исходным каталогом, а исследуют его проверенную копию.

    Если задача — наладить работу кластера, начинают с администратора. Если спор о содержимом коллекции или о том, кто и когда её изменил, нужна экспертная постановка задачи.

    Отдельная страница: Чем экспертиза MongoDB отличается от аудита администратора?
    Можно ли исследовать работающий кластер MongoDB, не изменяя данные?

    Собрать данные можно с минимальным воздействием, но не без него. Приложение продолжает писать, oplog вытесняет старые записи, идёт фоновая работа хранилища, а диагностические команды сами попадают в журналы.

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

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

    Отдельная страница: Можно ли исследовать работающий кластер MongoDB, не изменяя данные?
    Обращение в организацию

    Отправьте материалы на предварительную оценку

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

    Отправить материалы