BI Consult Desktop Logo BI Consult Mobile Logo
  • Russian BI Исследование российских bi
  • Перейти на Fine BI
  • Контакты
  • +7 812 334-08-01
    +7 499 608-13-06
  • Отправить сообщение
  • Главная
  • Продукты Эксперт-BI
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Сельское хозяйство
    • Энергетика
    • FMCG
    • Девелоперы
    • Маркетплейсы
    • Пищевая промышленность
    • Фармацевтика
    • Построение Data Platform
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и FP&A
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • IBP
    • ИТ (CIO)
    • Закупки
  • Платформы
    • Системы бизнес-анализа (BI)
    • Интегрированное бизнес-планирование (IBP)
    • Хранилища данных (DWH / Lakehouse)
    • Каталоги данных (Data Catalog)
    • Системы ETL и ELT
    • AI / Исскуственный интеллект
    • Шина данных (ESB)
    • Система управления мастер-данными (MDM)
    • Семантический слой
  • Услуги
    • Переход на отечественные BI и DWH системы
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений и DWH
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Курсы
    • Учебный курс Информационная грамотность (Data Literacy)
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Greenplum
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt (Data Build Tool)
  • Компания
    • Руководство
    • Новости
    • Клиенты
    • Карьера
    • Скачать
    • Контакты

BI

  • FineBI
  • FineReport
  • FineDataLink
  • FineChatBI (FineAI)
  • Коннекторы данных из 1С в BI
  • Airflow / Nifi
  • Visiology
  • PIX BI
  • Modus BI
  • Yandex.DataLens
  • Open-source BI: Superset/Metabase
  • Luxms BI
  • AW BI + Alpha BI
  • FlyBI + Форсайт. Аналитическая Платформа
  • Loginom
  • Триафлай
  • AI / Исскуственный интеллект
  • Optimacros
  • Навигатор BI
  • Семантический слой

СУБД

  • Arenadata
  • ClickHouse
  • Greenplum
  • Postgres Professional
  • TData

Другое

  • Построение Data Platform
    • Аналитическое хранилище данных
    • Data Lake и Data Engineering
    • Подробнее про Data Lake
    • Внедрение Lakehouse
      • Apache Doris
      • StarRocks
      • Trino
    • Миграция витрин из пропиетарных DWH на новый стек
    • Учебный курс "Современная архитектура хранилища данных"
Главная » Курсы по системам бизнес-анализа и методологии » Учебный курс по Data Governance, Data Quality, MDM, Data Lineage » Проверка целостности данных с помощью GX

Проверка целостности данных с помощью GX

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

Наиболее распространенные проблемы в области целостности данных:

  • Ссылочная целостность: Очень важно обеспечить корректность и последовательность  связей между таблицами. Так, например, в финансовой системе каждая операция должна быть связана с действительными счетами.
  • Строгое соответствие бизнес-правилам: Данные должны соответствовать установленной бизнес-логике и ограничениям, характерным для каждой конкретной области. Например, платформа электронной коммерции должна следить за тем, чтобы количество заказанных товаров не превышало имеющихся запасов, а адреса доставки строго соответствовали данным клиентов;
  • Согласованность между столбцами: Необходимо проверять логические связи между связанными столбцами внутри и между таблицами. Например, в системе здравоохранения коды диагнозов должны точно совпадать с назначенными лекарствами, а назначенные даты лечения должны укладываться в разрешенные сроки;
  • Зависимости значений: Необходимо поддерживать иерархии и зависимости в числовых и категориальных данных. Например, система управления проектами должна следить за тем, чтобы даты начала задач предшествовали датам окончания и чтобы родительские задачи охватывали продолжительность своих подзадач.

 

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

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

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

 

Необходимые условия

Эта статья предполагает то, что Вы уже знакомы с основными компонентами и рабочими процессами GX. 

 

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

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

 

  • transfers: В этой таблице содержится записи о каждой финансовой транзакции, включая сводную информацию о сумме и дате транзакции. Записи о ранзакциях содержат внешние ключи для записей в связанных таблицах, которые предоставляют дополнительную информацию о каждом переводе.

transfer_id

amount

transaction_date

transfer_balance_id

transfer_txn_id

1001

250.00

2024-01-15

TB099

TT1234

1002

40.00

2024-01-15

TB101

TT1235

1003

1195.00

2024-01-16

TB102

TT1236

1004

80.00

2024-01-16

TB103

TT1237

 

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

transfer_balance_id

total_amount

adjustment

sender_debit

recipient_credit

TB099

250.00

0.00

-250.00

250.00

TB101

40.00

0.00

-40.00

40.00

TB102

1195.00

5.00

-1200.00

1195.00

TB103

80.00

2.50

-82.50

80.00

 

  • transfer_transaction: В этой таблице содержатся записи, содержащие сведения о транзакциях, включая идентификаторы отправителя и получателя, временные метки транзакции, номера ссылки и подтверждения.

transf

er_txn_id

sender_id

sent_ts

sende

r_ref_no

recip

ient_id

received_ts

recipient_c

onf_code

TT1234

501

2024-11-14T01:12:45Z

ABC-01

502

2024-11-14T01:12:46Z

ABC-01

TT1235

502

2024-11-14T22:13:29Z

DEF-03

503

2024-11-14T22:14:01Z

DEF-03

TT1236

503

2024-11-15T09:47:00Z

GHI-05

501

2024-11-15T09:47:59Z

GHI-05

TT1237

504

2024-11-15T13:33:01Z

JKL-07

502

2024-11-15T13:33:36Z

JKL-07

 

Проверка целостности этих финансовых данных включает в себя проверку согласованности и точности отношений между таблицами transfer, transfer_balances и transfer_transaction, а также проверку соблюдения бизнес-правил и ограничений.

 

Основные ожидания согласованности данных

Great Expectations предоставляет комплекс ожиданий, доступных как в GX Cloud, так и в GX Core, которые проверяют отношения между различными элементами данных в одной таблице. Если Вы хотите использовать эти же ожидания для проверки отношений данных в нескольких таблицах, Вы можете воспользоваться следующими двумя вариантами:

  • Создайте представление базы данных, объединяющее таблицы, которые Вы хотите проверить, а затем используйте встроенные ожидания для проверки столбцов в представлении;
  • Создайте пользовательские SQL ожидания в GX Cloud или GX Core для проверки отношений напрямую с помощью SQL-запроса, который ссылается сразу на несколько таблиц.

 

В этом разделе описаны ожидания, которые можно применить к отдельным таблицам или SQL-представлениям, запрашивающим несколько таблиц.

Пример: Проверка целостности данных между таблицами, где показано, как можно создавать и использовать пользовательские SQL-ожидания для проверки отношений между отдельными таблицами.

 

 

Expect column pair values to be equal

Гарантирует, что все значения в одном столбце совпадают с соответствующими значениями в другом столбце.

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

gxe.ExpectColumnPairValuesToBeEqual(

     column_A="sender_ref_no", column_B="recipient_conf_code"
 )

 

Expect multicolumn sum to equal

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

Пример: Проверка суммы в таблице transfer_balances.

gxe.ExpectMulticolumnSumToEqual(
    column_list=["adjustment", "sender_debit", "recipient_credit"], sum_total=0
)
 

 

Expect column pair values A to be greater than B

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

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

gxe.ExpectColumnPairValuesAToBeGreaterThanB(
     column_A="received_ts", column_B="sent_ts", or_equal=True
 )

 

Советы GX по использованию ожиданий целостности

  • Используйте пользовательские SQL-ожидания, если встроенные ожидания не охватывают все сложные бизнес-правила;
  • Учитывайте возможные последствия для производительности при проверке по нескольким таблицам и большим наборам данных.

 

Примеры

Включение бизнес-логики в процессы проверки целостности данных

  • Контекст: Определения качества данных связаны с реальным использованием соответствующих данных, качество данных зачастую приходится определять с помощью пользовательских бизнес-правил и логики. В этом примере показано применение встроенного ожидания для проверки целостности данных, а затем использование пользовательского ожидания SQL для уточнения проверки целостности с учетом определенной бизнес-логики;
  • Цель: Используйте GX Cloud или GX Core для реализации проверки целостности с помощью встроенного ожидания. Затем для внедрения дополнительной бизнес-логики, которая определяет целостность более детально, воспользуйтесь пользовательским ожиданием SQL.

 

Пользовательские ожидания SQL

Пользовательские SQL-ожидания не срабатывают, когда предоставленный SQL-запрос возвращает одну или несколько строк. Постройте свои запросы так, чтобы выбирать строки на основе условия where.

  • GX Cloud
  • GX Core

 

Для выполнения действий, описанных ниже, воспользуйтесь пользовательским интерфейсом GX Cloud:

  1. Создайте актив данных для таблицы integrity_transfer_transaction, используя следующую строку подключения (для создания источника данных Postgres):
postgresql+psycopg2://try_gx:try_gx@postgres.workshops.greatexpectations.io/gx_learn_data_quality
 
  1. Добавьте в столбец Expect пару значений (A), которые будут больше чем ожидание B, подразумевающее, что момент получения транзакции (received_ts) наступит после момента отправки транзакции (sent_ts):
    • Столбец A: received_ts
    • Столбец B: sent_ts
  2. Проверьте актив данных integrity_transfers на предмет соответствия ожиданию и проконтролируйте полученный результат. Если ожидание проходит, то все передачи принимаются сразу же после его отправки;
  3. Используя запрос, приведенный ниже, создайте пользовательское ожидание SQL для более глубокого уточнения бизнес-логики, определяющей эту проверку. Согласно ораничению бизнес-логики все транзакции должны быть отправлены и получены в течение 45 секунд.
select *
 from {batch}
 where extract(epoch from (age(received_ts, sent_ts))) > 45
 
  1. Проверьте актив данных integrity_transfers еще раз - теперь он содержит уже два ожидания;
  2. Проверьте результаты проверки. Повышенная точность пользовательского SQL-запроса позволяет увидеть, что одна из записей транзакции не соответствует определению целостности, основанному на применяемой бизнес-логике.

 

Решение GX: Как GX Cloud, так и GX Core предлагают определенные сочетание встроенных ожиданий и пользовательской проверки SQL, обеспечивая тем самым гибкость при соблюдении общих и индивидуальных требований, предьявляемых к качеству данных.

 

Проверка межтабличной целостности данных

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

Цель: Используйте GX Cloud или GX Core для реализации пользовательского ожидания SQL для проверки целостности данных, содержащихся в таблицах. Убедитесь в том, что сумма в таблице транзакций совпадает с соответствующей суммой total_amount в таблице transfer_balance:

  • GX Cloud
  • GX Core

 

Используйте пользовательский интерфейс GX Cloud для выполнения следующих действий:

1. Используя следующую строку подключения для создания источника данных Postgres, создайте активы данных для таблиц integrity_transfers и integrity_transfer_balance:

postgresql+psycopg2://try_gx:try_gx@postgres.workshops.greatexpectations.io/gx_learn_data_quality

 

2.Добавьте пользовательский SQL-запрос на объект данных integrity_transfers для того, чтобы проверить, что столбец amount в integrity_transfers полностью совпадает со столбцом total_amount (в таблице integrity_transfer_balance). Соединение в SQL-запросе позволит GX Cloud проверить целостность данных, охватывающих сразу несколько таблиц:

select *
 from {batch} t
 join integrity_transfer_balance b using (transfer_balance_id)
 where t.amount <> b.total_amount

 

Проверьте таблицу integrity_transfers и просмотрите результаты проверки.

Решение GX: Как GX Cloud, так и GX Core можно использовать для реализации комплексных проверок целостности, охватывающих сразу несколько таблиц и проверяющих сложные бизнес-правила.

 

Случаи применения

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

 

Межсистемная финансовая проверка

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

Решение GX: Используйте пользовательские SQL-ожидания для сравнения данных о транзакциях в разных системах. Для проверки баланса бухгалтерских проводок в каждой системе используйте ExpectMulticolumnSumToEqual. Для обеспечения согласования итогов транзакций во всех системах создайте дополнительные пользовательские SQL-ожидания.

 

Инвентаризация продукции и проверка заказов

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

Решение GX: Для проверки соответствия размещенных заказов складским запасам используйте ExpectColumnPairValuesAToBeGreaterThan. Для гарантии того, что адреса доставки строго соответствуют данным о клиентах используйте пользовательские SQL ожидания. Для проверки соответствия итоговой стоимости заказов общей сумме каждого заказа по отдельности используйте ExpectMulticolumnSumToEqual.

 

Соблюдение требований, предъявляемых к данным в области здравоохранения

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

Решение GX: Используйте пользовательские SQL-ожидания для обеспечения связи процедур с актуальными записями пациентов и соответствия кодов счетов разработанным планам лечения. Для проверки соответствия ключевых идентификаторов пациентов, занесенных в разные системы, используйте ExpectColumnPairValuesToBeEqual. Для проверки соответствия кодов  диагнозов назначенным лекарственным средствам задействуйте дополнительные пользовательские SQL-ожидания.

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

  1. Отсутствие проверки данных, занесенных в разные системы: многие организации уделяют особое внимание проверке данных в разных системах, не следя при этом за  согласованностью при интеграции или передаче данных между ними. Это может привести к нежелательным расхождениям и неточностям, влияющим на последующие процессы и принятие решений в целом;
  2. Игнорирование важности ссылочной целостности: несоблюдение ссылочной целостности может привести к появлению лишних ненужных записей, недействительных ссылок и несоответствию данных. Команды по работе с данными должны уделять первоочередное внимание проверке связей между таблицами и обеспечению строго соблюдения ограничений внешних ключей;
  3. Проверки исключительно на уровне приложений: несмотря на всю важность проверок на уровне приложений, одних только их может быть недостаточно для решения потенциально возможных проблем с целостностью данных. Особенно это касается тех случаев, когда данные изменяются за пределами приложений или при интеграции информации, содержащейся во внешних источниках. Реализация ограничений и проверок на уровне БД имеет решающее значение для поддержания целостности данных.
  4. Неправильная обработка значений NULL: значения NULL могут вносить двусмысленность в записи и усложнять проверку целостности данных в целом. Командам по работе с данными настоятельно рекомендована разработка четкой политики работы с NULL;
  5. Отсутствие комплексного мониторинга качества данных: проблемы с целостностью данных могут возникать постепенно в силу изменений в исходных системах, пайплайнах или бизнес-правилах. Внедрение регулярного мониторинга качества данных и оповещений необходимо для проактивного выявления и устранения проблем с целостностью данных;
  6. Неполное тестирование преобразований данных: преобразования данных и процессы ETL могут вызывать проблемы с целостностью, особенно в том случае, если их не протестировать тщательным образом. Команды по работе с данными должны проверять точность и согласованность преобразованных данных, обеспечивать сохранность бизнес-правил и взаимосвязей на протяжении всего пайплайна.

 

Дальнейшие шаги

Целостность данных - важнейший аспект реализации комплексной стратегии качества данных. Используя встроенные и пользовательские возможности проверки Great Expectations, Вы сможете обеспечить точное соблюдение правил целостности, гарантируя при этом согласованность и точность данных, а также соответствие нормативным требованиям. Поскольку поддержание целостности данных - процесс непрерывный,  крайне важно обеспечить регулярную проверку и мониторинг информации. Только так Вы сможете достичь поставленных целей.

Однако целостность данных – далеко не единственный аспект качества данных. Для обеспечения достоверности используемых наборов данных необходимо учитывать и другие компоненты, такие как схема, полнота, распределение и объем. Начните с определения приоритетов и постепенно расширяйте охват проверки для того, чтобы учесть все эти показатели.

Узнать стоимость решенияЗапросить видео презентацию

← Предыдущая статья
Проверка свежести данных с помощью GX
Следующая статья →
Работа с полями с отсутствующими значениями с использованием GX
Запросить видео презентацию Запросить доступ к демо стенду online Узнать стоимость лицензий

Задать вопрос

loading...

Решения

Анализировать ФинансыУвеличивайте ПродажиОптимальный Склад и ЛогистикаМаркетинговые Метрики

Клиенты
  • ПАО АНК «Башнефть» — российская вертикально-интегрированная нефтяная компания, с 2016 года входит в ПАО НК «Роснефть». Главный офис расположен в городе Уфе (Башкортостан). Добыча углеводородов – более 21 млн тонн нефти в год. Объем переработки – более 18 млн тонн нефти в год. Число сотрудников – более 33 тыс. человек.

  • КАМИ – компания-лидер по поставкам тяжёлых станков в России, занимающаяся продажей и обслуживанием оборудования для обработки металла и дерева, изготовления мебели и не только. На сегодняшний день в компании работают более 1300 человек, запущено 10 обучающих центров, в продаже более 7000 единиц техники. 

  • НПФ «Будущее» — один из крупнейших негосударственных пенсионных фондов России, предоставляющий услуги по пенсионному обеспечению и накоплениям. Фонд активно внедряет цифровые технологии для повышения качества обслуживания клиентов.

  • ГК «Акрон Холдинг», одно из крупнейших в России промышленно-металлургических предприятий, запустил проект по модернизации управления данными. В качестве целевого решения для анализа ключевых данных компания выбрала систему PIX BI. В компании уже более 100 пользователей PIX BI, и в этом году в планах увеличить их число в два раза.

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Энергетика
    • Фармацевтика
  • Услуги
    • Переход на отечественные BI и DWH
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Техническая поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Платформы
    • FineBI
    • FineReport
    • FineDataLink
    • Коннекторы данных из 1С в BI
    • Airflow + NiFi
    • Visiology
    • Luxms BI
    • Modus BI
    • PIX BI
    • Arenadata
    • ClickHouse
    • Greenplum
    • Postgres Professional
    • Open-source BI: Superset/Metabase
    • Loginom
    • Yandex.DataLens
    • AI / Исскуственный интеллект
    • Optimacros
    • Шины данных
  • Курсы
    • Учебный курс Информационная грамотность
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt
  • Функциональные решения
    • Создание Data Lake
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и прогнозная аналитика
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • Сквозная аналитика
  • Компания
    • О нас
    • Руководство
    • Новости
    • Клиенты
    • Скачать
    • Контакты
    • Политика конфиденциальности
RutubeVkontakteLinkedInYouTube
ООО "Би Ай Консалт",
ИНН: 7811437757,
ОГРН: 1097847154184
199178, Россия,
Санкт-Петербург,
6-ая линия В.О., Д. 63, 4 этаж
Тел: +7 (812) 334-08-01
Тел: +7 (499) 608-13-06
E-mail: info@biconsult.ru

 

 

 

 

 

×

Пользуясь сайтом, вы соглашаетесь с использованием cookies и политикой конфиденциальности.