본문으로 건너뛰기

공장 정보 시스템: 히스토리안, MES, LIMS, ELN

📍 현재 위치: 우리는 자동화 계층보다 한 층 위로 올라가, 각자 공장 데이터의 한 조각씩을 소유한 네 개의 정보 시스템 — 히스토리안(historian), MES, LIMS, ELN — 을 만납니다.

앞 장 자동화와 공정 제어 데이터에서 우리는 기계실 바닥에 자리를 잡았습니다. 공정을 운전하며 설정값, 알람, 이벤트, 레시피를 ISA-88 배치 제어 표준에 따라 구조화하여 내보내는 PLC, DCS, SCADA 시스템들이 거기 있었지요. 이 시스템들은 그 순간에 행동 하는 데에는 뛰어납니다. 하지만 단 1초어치의 센서 측정값도 무언가가 그것을 붙잡아, 저장하고, 의미를 부여하며, 여러 해 동안 보관해 주지 않는다면 쓸모가 없습니다. 그 "무언가"는 하나의 시스템이 아닙니다 — 그것은 제어기들 위층에 자리 잡은 시스템들의 성좌(星座)이며, 저마다 자기만의 방언을 씁니다.

이 장은 그 성좌의 네 구성원을 소개합니다. 공정 히스토리안(process historian)(시계열 데이터), MES(배치 실행), LIMSELN(실험실의 세계), 그리고 몇몇 중요한 친척들입니다. 각자는 진실의 서로 다른 조각을 소유합니다. 그리고 그것들 사이 의 틈새 — 통합의 이음매(integration seam) — 야말로 이 책 전체가 자신의 핵심 문제를 발견하는 곳입니다.

쉽게 말하면

한 명의 환자를 기록하는 병원을 상상해 보세요. 침대 곁의 심장 모니터는 매초 끊임없는 곡선을 그려 냅니다(이것이 히스토리안입니다). 간호사는 공식 치료 차트를 채우며, 의사의 지시에 맞춰 단계마다 서명으로 확인합니다(이것이 MES입니다). 실험실은 혈액 검사 결과를 자기만의 시스템에 정리해 둡니다(이것이 LIMS입니다). 그리고 연구자는 그 과정에서 시도한 실험들을 노트에 적어 둡니다(이것이 ELN입니다). 넷 모두 같은 환자를 묘사하지만 — 서로 자동으로 대화하지 않으며, 각자 그 환자를 다른 이름으로 부릅니다.

이 장에서 다루는 내용

우리는 각 시스템을 차례로 만나 — 그것이 무엇이고, 어떤 데이터를 소유 하며, 왜 따로 존재하는지를 살펴본 다음 — 한 걸음 물러나 통합의 이음매와 그 이음매를 따라 생겨나는 사일로(silo)를 보겠습니다.

하나의 물리적 공장이 여러 개의 분리된 정보 시스템 — 히스토리안, MES, LIMS, ELN — 으로 데이터를 보내고, 그 사이의 통합 이음매가 강조된 그림 하나의 물리적 공장, 여러 정보 시스템 — 데이터의 가치는 시스템들 사이의 이음매에 있습니다. 저자가 AI의 도움을 받아 직접 제작한 그림입니다.

네 시스템을 하나씩

우리는 그 성좌의 구성원을 차례로 만나며 — 각자가 무엇을 소유하고, 왜 따로 존재하며, 로트가 자신을 통과할 때 배치에 어떤 식별자를 찍어 두는지를 살펴봅니다. 같은 물리적 배치는 우리가 제조 편에서 만난 생산 바이오리액터에서 태어납니다. 여기서는 그 배치에 관한 데이터 가 네 개의 서로 다른 기록으로 갈라지는 모습을 지켜봅니다.

히스토리안: 시계열 정체성과 태그 명명 규칙

공정 히스토리안(process historian) 은 한 가지 일을 위해 만들어진 데이터베이스입니다. 바로 시계열 데이터(time-series data) — 측정값의 긴 흐름으로, 각 값에는 그것이 측정된 정확한 시각이 찍혀 있습니다 — 를 저장하는 일이지요. 공장에서 측정되는 모든 지점 — 온도 탐침, pH 전극, 유량계 — 은 하나의 태그(tag), 즉 분당 여러 번 값을 만들어 내는 이름 붙은 채널입니다. 태그는 사람(그리고 기계)이 한눈에 해독할 수 있도록 구조화된 명명 규칙을 따릅니다. 예를 들어 BR-201.Temp.PV 라는 태그는 바이오리액터 201, 온도, 공정값(process value) 으로 읽히고, BR-201.Temp.SP 는 같은 탐침의 설정값(setpoint)을 뜻합니다. 중간 규모의 바이오 제조 라인은 수만 개의 태그를 보유할 수 있으며, 그중 가장 빠른 것은 매초 또는 그보다 더 자주 값을 만들어 냅니다. 한 달에 걸친 한 차례 생산 캠페인 동안 이는 수십억 개의 데이터 포인트로 쌓입니다 — 1만 개의 태그가 각각 매초 한 번씩 표본을 뜬다면, 단 한 번의 30일 운전만으로도 약 260억 개에 이르지요.

저장되는 각 포인트는 단순한 숫자 이상입니다. 히스토리안의 한 행은 타임스탬프, 태그, 값, 그리고 기기가 보고할 때 정상이었는지를 알려 주는 품질(quality) 플래그를 함께 담습니다.

2024-06-13T14:03:07.123Z,BR-201.Temp.PV,36.8,GOOD
2024-06-13T14:03:08.123Z,BR-201.Temp.PV,36.8,GOOD
2024-06-13T14:03:09.123Z,BR-201.pH.PV,7.02,GOOD

그냥 평범한 관계형 데이터베이스(대부분의 업무용 소프트웨어가 돌아가는, 스프레드시트와 비슷한 표 형태)를 쓰면 안 되는 이유는 무엇일까요? 관계형 데이터베이스는 그런 소방 호스 같은 쓰기 부하 아래에서 주저앉고, 모든 원시 포인트를 저장하는 것은 비용이 감당할 수 없을 만큼 크기 때문입니다. OSIsoft PI(현 AVEVA PI System) — 바이오제약 업계에서 가장 널리 쓰이는 히스토리안 가운데 하나 — 를 비롯해 GE Proficy Historian, Honeywell PHD 같은 상용 히스토리안은 수만 개의 태그를 받아들이고 여러 해에 걸친 그 데이터를 가로질러 질의에 답하도록 특별히 설계되었습니다. 같은 일을 이제는 오픈소스 시계열 데이터베이스(time-series databases, TSDB) — TimescaleDB, InfluxDB, QuestDB, Apache IoTDB — 로도 해낼 수 있는데, 이는 동반서 오픈소스 바이오프로세스 데이터 시스템(Open-Source Bioprocess Data Systems) 책이 택하는 바로 그 경로로, 독점 제품 대신 TimescaleDB 하이퍼테이블 위에 작동하는 히스토리안을 구축합니다. 이들은 용량 문제를 압축(compression) 으로 해결합니다 — 고전적으로는 스윙잉 도어(swinging-door)(및 관련된 데드밴드) 알고리즘이 그것으로, 정해진 허용 오차 안에서 신호를 재구성하는 데 필요한 포인트만 남기고 그 사이의 중복된 포인트는 버립니다. 예컨대 스윙잉 도어 압축은 투영된 추세선 주위로 정해진 데드밴드 안에 드는 포인트를 버립니다. 그 결과 곡선의 모양은 보존하면서도 저장 공간은 엄청나게 절약됩니다.

그 절충은 데이터 무결성(data integrity)의 문제이기도 합니다. pH 탐침이 7.00, 7.02, 7.01, 7.03, 7.00, 7.02 — 30초 동안 ±0.03의 떨림 — 를 읽는다고 합시다. 데드밴드가 0.05 pH인 스윙잉 도어 알고리즘이라면 첫 포인트와 마지막 포인트만 남기고 그 사이 네 개를 버려도, 정작 중요한 것은 하나도 잃지 않습니다. 그러나 그 데드밴드를 0.15로 넓히면, 7.00에서 7.15까지 단 10초만 지속된 실제 이상(逸脫)이 통째로 사라질 수 있고 — 그와 함께 그 일탈을 잡아냈음을 입증할 능력까지 사라집니다. 지나치게 공격적인 압축은 실제 이상을 슬그머니 지워 버릴 수 있으므로, 규제 당국은 원본 기록과 그 의미가 살아남기를 기대합니다. FDA의 데이터 무결성 지침과 그와 조화를 이룬 PIC/S 지침은 모두, 포착된 공정 데이터가 그 수명 주기 전반에 걸쳐 완전하고, 귀속 가능하며, 재구성 가능한 상태로 남아야 한다고 — 히스토리안의 압축 설정까지 포함하여 — 못 박습니다 [5][8].

참고

히스토리안은 "화요일 14:03:07의 온도는 얼마였는가?" 라는 물음에, 여러 해치 데이터를 가로질러 밀리초 안에 답합니다. 관계형 데이터베이스는 그 물음을 담아 두는 것조차 버거워합니다. 다른 일에는 다른 도구가 필요한 법입니다.

같은 태그-와-데드밴드 이야기는 하류(downstream) 의 정제 단계에서도 똑같이 날카롭게 펼쳐지며, 한 가지 구체적 예가 그만한 값어치를 합니다. 히스토리안은 너무 쉽게 상류 전용의, 바이오리액터 온도에 관한 일로만 그려지기 때문이지요. 단백질 A 포획(Protein A capture) — 청징된 수확액에서 항체를 낚아 올리는 친화 크로마토그래피 단계(포획 크로마토그래피 장이 이를 온전히 풀어냅니다) — 를 봅시다. 그 스키드는 자기만의 태그를 흘려보냅니다. UV280 흡광도 트레이스(PAC-01.UV280.PV, 밀리 흡광도 단위), 전도도, pH, 유량을 적재(load), 세척(wash), 저(低)pH 용출(elute), 정치 세척(clean-in-place) 주기 내내 매초 표본으로 뜨지요. 히스토리안의 데드밴드는 그 하나하나에 실제로 일을 하고 있습니다 — 그런데 여기서는 그 무결성의 위험이 느린 온도 탐침에서보다 더 큽니다. UV280 용출 피크의 모양 이야말로 풀링 윈도 컷 포인트(pooling-window cut points)(살아 있는 UV 트레이스에 비추어 설정하는 두 임계값으로, 그 사이에서 용출된 항체를 제품으로 모으고 그 밖에서는 폐기로 보냄)를 정당화하는 기록이기 때문입니다. 그 피크를 지나치게 공격적으로 압축하면, 제품이 결합되지 않은 채 빠져나가고 있음을 알리는 돌파 어깨(breakthrough shoulder) 를 지워 버리거나, 컷 포인트가 기준으로 삼는 피크의 앞쪽과 뒤쪽 가장자리를 흐려 버릴 수 있습니다 — 검토자가 올바른 조각이 보관되었음을 입증하는 데 필요한 바로 그 증거를 잃는 것이지요. 그런 다음 저pH 용출은 곧장 바이러스 불활성화(viral inactivation)(외피 보유 바이러스를 죽이는, 유지되는 산(酸) 단계)로 흘러가는데, 그 유지 pH와 시간 자체가 규제 당국이 분 단위로 재구성해 달라고 요구할 히스토리안 태그입니다. 하류는 히스토리안에게 뒷전의 일이 아닙니다 — 압축 설정이 제품 품질에 가장 직접적으로 닿는 곳입니다.

MES 배치 기록: 공식적인 실행-그대로의 순서

히스토리안이 지켜본다 면, MES — 제조 실행 시스템(Manufacturing Execution System)다스립니다. 제어 현장과 그 위의 업무 시스템 사이에 자리 잡은 MES는 한 배치가 실제로 어떻게 만들어지는지를 관리합니다. 작업 지시를 내려보내고, 승인된 레시피를 단계별로 강제하며, 작업자가 앞 단계를 건너뛰거나 잘못된 원료를 쓰지 못하도록 막습니다. 이런 식으로 레시피를 강제하도록 만들어진 상용 MES 플랫폼으로는 AVEVA Wonderware, Siemens Opcenter Execution, Körber의 Werum PAS-X(제약 전용 MES) 등이 있습니다.

MES의 대표적인 산출물은 EBR — 전자 배치 기록(electronic batch record) 입니다. 한 배치를 만드는 모든 행위를 문서화하던 옛 종이 바인더를 디지털로 대체한 것이지요. MES는 마스터 레시피(master recipe)(제품을 어떻게 만드는지에 대한 승인된 표준 템플릿)를 강제하고, 각 로트마다 무엇을, 누가, 언제 했는지에 대한 완전한 서명 기록을 만들어 냅니다. 이로써 MES는 배치 실행에 대한 기록의 시스템(system of record) — "이 배치가 어떻게 제조되었는가"에 대한 단 하나의 권위 있는 출처 — 이 됩니다.

레시피의 구조 는 표준화되어 있습니다 — 앞 장이 소개한 ISA-88이, 마스터 레시피가 그 위에 세워지는 단계(phase), 작업(operation), 단위 절차(unit procedure)의 절차 모델을 정의하지요. 표준화되어 있지 않은 것은 그 레시피와 배치 기록의 바이오제약 특유의 내용 입니다. ISA-88(그리고 그 배치 데이터 교환 스키마인 B2MML)은 레시피를 어떻게 빚어 낼지는 알려 주지만, CHO 포유류 세포 배양, 관류(perfusion) 바이오리액터, 또는 단백질 A 포획 단계가 어떤 파라미터를 기록해야 하는지, 그것을 무엇이라고 불러야 하는지는 알려 주지 않습니다. 그 바이오제약 특유의 간극을 채우는, 널리 채택된 동반 사양(companion specification) 이 없으므로, 각 MES 공급사는 세포 배양 배치를 저마다의 방식으로 모델링합니다. 그 빠진 계층이야말로 이 장이 다루는 사일로의 한 근본 원인입니다. ISA-88을 준수하는 시스템을 돌리는 두 공장조차도 CHO 배치를 어떻게 서술하느냐를 두고 의견이 갈릴 수 있는데, 이는 뒷장들이 손을 뻗는 공유 어휘와 온톨로지가 풀고자 하는 바로 그 문제입니다.

그 기록은 법적 구속력을 가지므로, 미국 FDA의 21 CFR Part 11, 즉 전자 기록과 전자 서명을 규율하는 규정을 충족해야 합니다. Part 11은 홀로 서지 않습니다. 그것은 전제 규칙(predicate rule) — 애초에 그 기록이 존재해야 한다고 말하는 바탕의 GMP 규정 — 위에 올라탑니다. 배치 기록의 경우 그 전제 규칙은 완제 의약품에 대한 cGMP인 21 CFR Part 211로, 완전한 마스터 생산 기록(master production record)(§211.186)과, 모든 중요한 단계를 누가 언제 했는지 기록하는 동시적 배치 생산 기록(batch production record)(§211.188)을 요구합니다 [12]. 그런 다음 Part 11이 그 위에 전자 계층을 더합니다. 안전하고, 컴퓨터가 생성하며, 시각이 찍힌 감사 추적(audit trail), 누가 무엇을 할 수 있는지에 대한 통제, 그리고 기록에 묶여 옮겨 심거나 부인할 수 없는 서명을 요구하지요 [4]. EU 승인 시설에서 이에 상응하는 규정집은 EU Annex 11(EudraLex Volume 4, Good Manufacturing Practice, Annex 11: Computerised Systems)로, 검증, 감사 추적, 접근 통제에 대해 동등한 요구 사항을 규정합니다. 오래도록 이어진 2011년 본문은 이제 현대화되고 있습니다. 개정된 Annex 11이 2025년에 공개 의견 수렴에 부쳐졌는데 — 그 적용 범위를 감사 추적 검토, 클라우드 및 서비스형 소프트웨어(SaaS) 제공자, 네트워크로 연결된 다중 시스템 환경 전반의 데이터 무결성, 그리고 AI/ML로까지 넓히고, ALCOA+를 명문화하며 — 2026년에 확정될 것으로 예상됩니다 [11].

예외 기반 검토: EBR이 스스로를 분류하는 방법

EBR의 가장 조용한 초능력은 예외 기반 검토(review by exception) 입니다. 종이 배치 기록은 품질 검토자가 배치가 올바르게 만들어졌음을 확인하기 위해 모든 단계의 모든 줄을 읽도록 강요합니다. 바이오 의약품 로트라면 그것이 수백 페이지에 이를 수 있지요. 구조화된 ISA-88 EBR은 그 읽기의 대부분을, 컴퓨터가 스스로 하는 산술로 바꿉니다.

그 메커니즘은 파라미터 기반입니다. 각 레시피 단계는 자신의 합격 기준을 데이터로 지니고 있습니다 — 36.5–37.5 °C 안에 머물러야 하는 접종 온도, 최소 30분의 유지 시간, 목표값에 비추어 점검되는 무게 같은 것이지요. 작업자가 그 단계를 실행하는 동안 MES는 포착된 값을 그 한계와 실시간으로 비교하여, 그 단계에 허용 범위 내(in-tolerance) 또는 허용 범위 밖(out-of-tolerance) 이라는 도장을 찍습니다. 통과한 단계는 자동 확인(auto-confirmed) 됩니다. 사람이 읽을 필요가 없고, 마스터 레시피에 미리 구워 넣어진 상시 승인만 있으면 되지요. 실패한 단계는 표시된 예외(flagged exception) 로 올라오고 — 이제 사람이 들여다봐야 합니다.

다음에 사람이 무엇을 하는지는 예외의 종류에 달려 있습니다. 그 일탈이 미리 예상되었고 이미 절차가 그것을 다스린다면 — 이를테면 정해진 폭만큼 유지 시간을 연장하도록 문서화된 허용 — 그것은 관리된(계획된) 일탈(managed/planned deviation) 입니다. EBR이 그 단계에 정당화 사유를 기록하고, 배치는 통제 아래 계속됩니다. 예상되지 않았다면 — 사전 승인된 어떤 범위도 벗어난 온도 이상이라면 — 그것은 계획되지 않은 일탈(unplanned deviation) 이며, 표시된 그 단계는 조사를 여는 정식 일탈 기록(deviation record) 에, 그리고 정당한 경우 CAPA(시정 및 예방 조치, corrective and preventive action)에 연결됩니다. 그 연결이 바로 구조화된 EBR의 보상입니다. 문제의 단계, 포착된 그 값들, 그 감사 추적, 그리고 일탈/CAPA 기록이 모두 같은 배치에 묶이므로, 조사자는 그것을 종이에서 재구성하는 대신 그 실타래 전체를 한 번에 당겨 낼 수 있습니다.

예외 기반 검토는 또한 배치 처분(batch disposition)을 통제하는 관문 이기도 합니다. 표시된 예외가 하나라도 아직 열려 있는 동안에는 로트를 출하할 수 없습니다. 모든 계획되지 않은 일탈은 — 조사되고, 정당화되며, 그 CAPA가 해결되어 — 닫혀야, 품질 부서(Quality Unit)가 처분(disposition) 결정(출하, 폐기, 또는 보류)에 서명합니다. 검토자의 주의는 시스템이 스스로 처리하지 못한 한 줌의 단계에만 쓰이는데, 이것이 바로 구조화된 EBR이 그것이 대체한 종이 바인더보다 더 빠르고 동시에 더 믿을 만한 이유입니다 — 일상적인 것은 기계가 확인하고, 사람은 예외만을 판단합니다.

LIMS와 ELN: 하나의 배치가 여럿의 시료가 될 때

제조는 제품을 만들고, 실험실(laboratory) 은 그것이 출하할 만큼 좋은지를 판정합니다. 두 시스템이 그 세계를 소유합니다. 이는 제조 편이 QC와 출하에서 다다르는 바로 그 실험실 세계입니다 — 배치가 출하에 적합한지(또는 아닌지) 판정되는 지점이지요.

LIMS — 실험실 정보 관리 시스템(Laboratory Information Management System)시료와 결과 를 추적합니다. 바이오리액터에서 바이알 하나를 뽑으면, LIMS는 거기에 정체성을 부여하고, 알맞은 시험으로 보내고, 누가 어떤 기기에서 각 시험을 수행했는지를 기록하며, 규격(specification)(결과가 충족해야 하는 합격/불합격 한계로, ICH(국제 의약품 규제 조화 위원회, International Council for Harmonisation) Q14 아래에서 개발 되고 [10] ICH Q2(R2) 아래에서 검증[13] 분석 절차 — 각각 분석 방법을 설계하는 일과 그것이 목적에 적합함을 입증하는 일을 위한, 조화된 동반 지침 — 로 설정됨)을 보유하고, 각 결과를 그 규격에 비추어 판정합니다. LabVantage, Thermo Fisher SampleManager, STARLIMS 같은 LIMS 공급사들은 바로 이 시료-및-결과 추적을 전문으로 합니다. LIMS는 품질 관리(QC) 데이터에 대한 기록의 시스템 — "이 배치가 규격을 충족했는가?"에 대한 구조화되고 규제되는 답 — 입니다.

ELN — 전자 실험 노트(Electronic Lab Notebook) 는 제본된 종이 노트의 디지털 후예입니다. LIMS가 정형적이고 구조화된 시험을 다루는 반면, ELN은 탐색적이고 서술적인 작업을 담습니다. 과학자가 설계하는 실험, 시도해 본 조건, 그 추론, 뒤쫓을 만한 뜻밖의 결과 같은 것들이지요. IDBS E-WorkBook, Labguru, Benchling 같은 ELN 플랫폼은 과학자가 이런 더 자유로운 형식으로 실험을 기록하게 해 줍니다. 실제로는 그 경계가 흐릿하며 — 많은 공급사가 둘을 묶어서 제공합니다 — 그래도 구분은 중요합니다. LIMS는 "이 시료가 규격 안에 있는가?" 에 답하고, ELN은 "우리가 무엇을, 왜 시도했는가?" 에 답합니다.

둘 다 현대의 ALCOA+ 원칙으로 요약되는 데이터 무결성 기대에 정확히 들어맞습니다 — 데이터는 귀속 가능하고(Attributable), 읽을 수 있고(Legible), 동시적이며(Contemporaneous), 원본이고(Original), 정확하며(Accurate), 그리고("+") 완전하고(Complete), 일관되며(Consistent), 지속되고(Enduring), 이용 가능해야(Available) 한다는 것으로, 이는 어떤 시스템이 그것을 보유하든 모든 GxP 기록에 적용됩니다. (GxP 는 "우수 기준(good practice)" 품질 규정 — 우수 제조, 시험, 임상 기준(Good Manufacturing, Laboratory, Clinical Practice)과 그 동류 — 을 아우르는 우산말로, 규제 당국이 점검할 수 있는 모든 기록을 규율합니다.) FDA의 데이터 무결성 Q&A와 PIC/S PI 041은 이 기대를, 현장 바닥에 적용하는 것만큼이나 단호하게 실험실 및 크로마토그래피 시스템에도 적용합니다 [5][8].

식별 가능한 인력이 없는, 실험실의 라미나 플로우 캐비닛 안에 정리된 용액과 장비 통제된 실험실 작업 공간. 물리적 공장은 정보 시스템의 성좌로 그대로 비추어집니다 — 끊임없는 센서 흐름(히스토리안)으로 공급되고, 단계별 배치 지시(MES)로 통제되며, 분석 결과(LIMS)에 비추어 오프라인으로 시험되고, 실험 기록(ELN)은 따로 남겨지며, 각자가 데이터의 서로 다른 한 부분을 소유합니다. 라미나 플로우 캐비닛. 이미지: syed sajidul islam, CC BY 4.0(https://creativecommons.org/licenses/by/4.0/), Wikimedia Commons; 수정 없이 사용.

조연들

네 개의 시스템이 이야기 전부를 들려주지는 않습니다. 그 주위에는 여러 친척이 자리 잡고 있습니다.

  • SCADA 아카이브(SCADA archive) — 감시 제어 계층은 흔히 장기 보관용 공장 히스토리안과는 별개로, 운영 이력을 단기로 저장하는 자기만의 저장소를 둡니다.
  • BMS / EMS건물 관리 시스템(Building Management System)환경 모니터링 시스템(Environmental Monitoring System) 은 공정이 아니라 을 지켜봅니다. 클린룸의 온도, 습도, 차압, 그리고 부유 입자수와 미생물수를 살피지요. 무균 시설에서 이 기록들은 출하 결정의 일부입니다.
  • CDS크로마토그래피 데이터 시스템(Chromatography Data System) 은 분석용 크로마토그래피 기기에서 나오는 신호를 획득하고 처리합니다. 널리 쓰이는 플랫폼으로는 Waters Empower, Agilent OpenLab CDS(ChemStation의 후속 플랫폼), Shimadzu LabSolutions 등이 있습니다. CDS라는 범주 전체는 전문화되고 무겁게 규제되는 데이터 세계에 자리 잡고 있으며, 규제 당국은 이를 오랫동안 데이터 무결성의 중점 영역으로 다루어 왔습니다. 그래서 데이터 무결성 지침은 크로마토그래피 시스템을 특별히 따로 짚어 냅니다 [5].
  • ERP전사적 자원 관리(Enterprise Resource Planning) 시스템은 업무 계층 위쪽에서 원료, 재고, 주문을 소유하며, 운영과 기업 사이의 경계에서 MES와 정보를 주고받습니다.

이들 각각은, 전산화 시스템 검증의 언어로 말하자면, 적합성을 위해 평가되고 검증되어야 하는 GxP 관련 시스템입니다 — 그러한 시스템을 보증하기 위한 업계 표준 지침서인 GAMP 5 에 제시된, 위험 기반의 규율이지요 [6].

조각들은 어떻게 맞물리는가 — 그리고 어디서 맞물리지 않는가

여기, 센서와 기업 사이에서 누가 무엇을 소유하는지를 정의하는 ANSI/ISA-95 표준의 계층 위계에 고정시킨, 하나의 시야에 담은 성좌가 있습니다 [1].

세 개의 띠로 나뉜, 공장 정보 시스템의 계층화된 ISA-95 위계. 맨 아래의 제어 수준(PLC, DCS, SCADA)이 일방향 화살표로, 제조 운영 수준의 공정 히스토리안, BMS와 EMS 환경 시스템, 그리고 MES와 EBR 배치 실행 시스템으로 데이터를 올려 보냅니다. MES는 위쪽 기업 수준의 ERP와 양방향으로, 또 LIMS와도 양방향으로 데이터를 주고받고, LIMS는 다시 ELN 및 CDS 크로마토그래피 시스템과 양방향으로 데이터를 주고받습니다. 외짝 화살표는 일방향 출처를, 양쪽 화살표는 각 이음매에서 조정되는 양방향 흐름을 나타냅니다.

각 상자는 같은 배치의 서로 다른 조각을 소유합니다. 한쪽 화살표는 일방향 출처(PLC가 히스토리안에 데이터를 공급)이고, 양쪽 화살표는 데이터가 경계를 넘어 서로 조정되어야 하는 양방향 흐름(MES ↔ ERP)입니다. 그 이음매 — 화살표들이 만나는 자리 — 야말로 그 조정이 무너질 때 사일로가 생겨나는 바로 그 지점입니다. 저자가 AI의 도움을 받아 직접 제작한 그림입니다.

이 책이 끊임없이 맴도는 문제는 바로 그 이음매에 삽니다. 각 시스템은 저마다 다른 공급사가, 다른 목적을 위해, 자기만의 내부 어휘를 가지고 만들었습니다. 같은 제조 배치 하나가 히스토리안에서는 태그 접두사(예: BR201_BATCH0156)로, MES 배치 기록에서는 공식 배치 번호(BATCH_2024_0156)로, LIMS에서는 여러 시험 시료(S-0156-001, S-0156-002 등)의 부모 로, ERP에서는 재고 로트(LOT-22A-MABX)로 나타나며, 각각이 자기만의 식별자 체계를 가집니다. 더 나쁜 것은, LIMS의 항목들 자체가 다시 하위 구분이라는 점입니다. 배치는 하나지만 거기서 뽑아 낸 시료는 여럿이므로, 단 하나의 시료 결과를 거슬러 원래의 배치 조건까지 추적하려면 서너 개의 시스템을 잇대야 합니다. 같은 실세계의 배치가 여러 개의 다른 이름을 쓰는데, 어느 것도 그것들이 같은 것임을 자동으로 알지 못합니다.

한 배치의 정체성 해부

사일로를 구체적으로 보려면, 앞 장이 OPC UA 노드를 해부했던 것처럼 단 하나의 로트를 해부해 봅시다. 하나의 물리적 mAb 배치는 다섯 개의 서로 다른 지문을 남깁니다 — 기록의 시스템마다 하나씩, 방금 만난 네 개에 더해 업무 계층 위쪽의 ERP 로트까지 — 그런데 정작 그것들을 하나로 묶어 주어야 할 필드 — 공유된 batch_id — 는 그중 어느 것에도 존재하지 않습니다.

하나의 mAb 생산 로트에 대한 정체성 카드로, 다섯 개의 행 — 공정 히스토리안 태그 접두사 BR201_BATCH0156, MES 배치 번호 BATCH_2024_0156, LIMS 부모 시료 S-0156-001, ELN 실험 EXP-2024-0156-titre, ERP 재고 로트 LOT-22A-MABX — 을 보여 줍니다. 초록색 핵심 블록은 빠져 있는 공유 batch_id 조인 키를 설명하고, 보라색 패널은 그것이 없을 때 무너지는 것들 — 찾기 가능성, 추적성, 상호운용성, 통합 비용 — 을 나열합니다 같은 로트가 다섯 개의 이름을 씁니다. 빠져 있는 조각은 데이터가 아니라 — 이 다섯 정체성이 한 가지 대상을 묘사함을 기계가 알 수 있게 해 줄 공유 키입니다. 저자가 AI의 도움을 받아 직접 제작한 그림입니다.

카드가 보여 주지 않는 것에 주목하세요. "정규(canonical) 배치 식별자"를 위한 열이 없습니다. 어느 시스템도 그것을 보유하고 있지 않기 때문입니다. BR201_BATCH0156S-0156-002 사이의 연결은, 그 시료를 뽑아 번호를 입력한 분석자의 기억 속에만 삽니다. 그것이 바로, 구체적으로 드러난 사일로입니다.

식별자 간극: 하나의 대상에 대한 다섯 개의 이름

카드를 행별로 읽어 보면 시간을 가로질러 같은 이야기가 펼쳐집니다. 로트를 아래의 네 개의 제조-및-실험실 타임라인 — 히스토리안, MES, LIMS, ELN, 그것이 ERP에 닿기도 전의 — 을 따라 좇아가 보면, 한 시스템에서 다음 시스템으로 넘어가는 모든 건널목이 사람의 손으로 꿰매집니다 — 작업자가 번호를 옮겨 적고, 분석자가 접두사를 검색창에 붙여 넣는 식이지, 결코 자동 키로 이어지지 않습니다.

하나의 배치에 대한 네 개의 쌓인 타임라인 — 히스토리안 BR201_BATCH0156, MES BATCH_2024_0156, LIMS S-0156-001에서 -00n까지, ELN EXP-2024-0156-titre — 으로, 각각에 이벤트 표식(접종, 최대 역가, 수확; 단계 시드, 생산, 수확; 시료와 QC 결과; 방법 기록)이 있습니다. 인접한 레인 사이의 장미색 점선 양쪽 화살표는 세 개의 수동 가교를 나타내며, 접두사를 번호로, 번호를 시료로, 시료를 실험으로 잇는다고 표시되어 있고, 각각은 두 정체성을 잇기 위해 사람을 필요로 합니다

히스토리안이 기록한 최대 역가의 순간, MES가 적은 생산 단계, LIMS가 뽑은 시료, ELN이 서술한 방법은 모두 같은 배치의 같은 순간 입니다 — 그러나 질의 엔진은 사람이 먼저 그것을 단언해 주지 않으면 그 사실을 알 수 없습니다. 이것이 바로 전형적인 데이터 사일로(data silo) 입니다. 풍부한 데이터가 서로 호환되지 않는 상자들 안에 갇혀 있는 것이지요. 바이오제약 분야의 디지털 트윈에 관한 동료 심사 문헌은 이를 단도직입적으로 말합니다 — 이 분야의 데이터는 서로 연결되지 않은 출처들에 흩어져 있으며, 통합된 데이터 계층이야말로 그 사일로를 깨뜨리기 위한 전제 조건이라는 것입니다 [9]. 그것은 또한 FAIR 원칙 — 데이터는 찾을 수 있고(Findable), 접근할 수 있고(Accessible), 상호운용 가능하며(Interoperable), 재사용 가능해야(Reusable) 한다는 — 이 바로잡고자 쓰인 그 문제이기도 합니다 [2].

이 다섯 개의 이름에 빠져 있는 공유 키는, 이 책의 첫 부분이 배치 계보(batch genealogy) 라고 이름 붙인 그 실타래입니다 — 완제 바이알 하나를, 그것을 빚어낸 모든 운전, 시료, 방법, 소비된 원료 로트까지 거슬러 잇는 혈통이지요(데이터 그림자 장이 동반 가이드의 s88.batch 테이블과 그 lot_genealogy 간선들 위에 이 실타래를 엮어 냈습니다). 계보야말로 바로 이 시스템들을 가로지릅니다. ERP의 소비된 원료 로트에서 출발해, MES 배치 기록을 거쳐, LIMS 시료 트리로 건너가지요. 그 계보가 데이터로 실려 다니는 대신 사람의 손으로 단언되는 곳에서, 사일로는 단지 불편한 정도가 아니라 — 어떤 결과를 그 기원까지 거슬러 추적해 달라고 규제 당국이 요구할 때 파고드는 바로 그 간극입니다.

이음매가 중요한 이유: 통합 비용의 문제

데이터 관리의 관점에서 보면, 그 교훈은 단 하나의 "공장 데이터베이스"란 없다는 것입니다. 저마다 자기 조각에 대해 권위를 갖는 기록 시스템들의 연합(federation)이 있을 뿐이며, 가치는 그것들 사이의 경계에서 창출되거나 — 혹은 잃어버려집니다. "어떤 배양 조건이 가장 높은 순도의 배치를 냈는가?" 처럼 단순한 물음조차도 히스토리안(조건), MES(어느 배치), LIMS(순도)를 결합해야 답할 수 있습니다 — 세 시스템, 세 어휘, 세 식별자 체계인 셈이지요. 이음매가 이어지지 않는다면, 아무리 많은 데이터를 모았더라도 그 물음에는 그저 답할 수 없습니다.

그 비용은 추상적이지 않습니다. 모든 시스템 간 질문은 작은 통합 프로젝트가 됩니다. 누군가가 깨지기 쉬운 매핑 코드를 짜거나 — 더 흔하게는 — 스프레드시트를 내보내 식별자를 손으로 맞춥니다. 청구서는 두 번 날아옵니다. 한 번은 분석이 느리고 비쌀 때, 또 한 번은 검사 때입니다. 검토자가 어떤 결과를 그 제조 조건까지 거슬러 추적해 달라고 요청하는데, 그 보관 사슬이 검증 가능한 연결이 아니라 사람의 기억을 통과할 때이지요. 누가 어느 조각을 소유하는가 — 그리고 그 소유자들이 각 경계에서 배치를 어떻게 넘겨주는가 — 라는 결정은, 다음 장이 ISA-95 아키텍처를 통해 형식화하는 바로 그 계층적 질문이며, 탄탄한 데이터 거버넌스가 배정하고 강제해야 하는 것입니다.

이음매가 머신러닝에 중요한 이유: 배치가 신뢰의 단위다

사일로는 분석에 매기는 세금일 뿐 아니라, 대부분의 공장 머신러닝 모델이 운영에서는 결코 재현하지 못할 점수를 보고하는 숨은 이유이며, 그 연결은 빠져 있는 batch_id 를 곧장 관통합니다. 히스토리안의 스펙트럼으로 역가를 예측하는 소프트 센서는 행(row)으로 학습되고 행으로 시험됩니다 — 그러나 바이오프로세스에서 독립된 관측의 정직한 단위는 행이 아니라 배치 입니다. 같은 배치의 행들이 학습/시험 분할의 양쪽에 모두 떨어지면, 모델은 사실상 답을 본 셈이고, 그 점수는 데이터 누출(data leakage) — 평가 집합의 정보가 학습으로 새어 드는 근원적 죄 — 로 부풀려집니다. 이를 막는 규율이 그룹 교차 검증(grouped cross-validation)(리브-원-배치-아웃(leave-one-batch-out) 이라고도 함)입니다 — 개별 행이 아니라 배치 전체 를 빼 두어, 점수가 보지 못한 배치로의 일반화를 운영과 같은 방식으로 측정하게 하는 것이지요. 그리고 신뢰할 수 있는 공유 키 없이는 그것을 결코 할 수 없습니다 — 배치로 묶으려면 모든 히스토리안 행, 모든 LIMS 시료, 모든 MES 단계가 자신이 어느 배치에 속하는지에 합의해야 합니다. 따라서 이 장이 묘사하는 사일로는 바이오프로세스 머신러닝에서 가장 흔하고 가장 해로운 실수의 상류 원인 입니다. 머신러닝 책의 데이터, 그 연료모델과 검증 장은 배치 단위 분할을 모든 주장이 살아남아야 할 시험대로 삼습니다.

같은 빠진 키는 배포 이후에도 다시 물어뜯습니다. 잠긴(locked) 운영 모델은 사일로가 무너뜨리는 두 가지 보호 장치를 필요로 합니다. 적용 영역(applicability domain) 점검(새 입력이 모델이 학습한 조건의 봉투 안에 있는지를 시험하여, 범위를 벗어난 스펙트럼을 말없이 외삽하는 대신 표시하는 것)은 애초에 그 봉투를 정의하기 위해 맥락화된 이력을 필요로 합니다. 그리고 드리프트 탐지(drift detection) — 살아 있는 공정과 그 기기가 천천히 움직임에 따라 모델의 입력이나 오차가 떠도는지를 지켜보는 일 — 는 진짜 공정 드리프트(process drift)(조사할 가치가 있는 실제 생물학적 변화)와 이음매에서의 단순한 데이터 파이프라인 단절(이름이 바뀐 태그, 두 번째 식별자 아래 정리된 LIMS 행)을 구별할 수 있어야 하는데, 모든 신호를 하나의 배치 정체성으로 다시 잇는 통합된 계층만이 그 둘을 가려낼 수 있습니다. 그래서 디지털 트윈 문헌은 더 많은 센서도 더 화려한 모델도 아닌, 통합된 데이터 계층이야말로 사일로를 깨뜨리기 위한 전제 조건이라고 못 박습니다 [9] — 모델은 그 아래 깔린 조인만큼만 믿을 수 있습니다. MLOps와 수명 주기 장이 세우고 CSV에서 CSA로 장이 모든 전산화 시스템에 대해 틀 짓는, 잠긴 모델과 변경 통제의 바로 그 규율은, 이 장이 그토록 자주 빠져 있음을 보여 주는 배치 정체성 위에 놓여 있습니다.

그것을 고칠 수 있는 표준: 의미론과 배치 조정

이에 대한 업계의 대응은 두 층으로 이루어집니다. 기술적으로는 OPC UA(개방형 플랫폼 통신 통합 아키텍처, Open Platform Communications Unified Architecture)로 향하는 흐름이 있습니다. 이는 공급사 중립적 표준으로, 제어 시스템, 히스토리안, MES/기업 계층 사이의 이음매를 가로질러 단지 값뿐 아니라 그 의미 — 의미론(semantics) — 까지 실어 나릅니다 [7]. 연결성 표준 장이 이를 자세히 뜯어봅니다. 전략적으로는, ISPE의 Pharma 4.0 운영 모델이 이를 디지털 성숙도의 여정으로 틀 짓습니다. IT와 OT(업무 기술과 운영 기술의 두 세계)를 수렴시키고, 아키텍처를 통합하며, 데이터 사일로를 묵인하는 대신 의도적으로 없애 나가는 것이지요 [3]. 이것은 이 책이 추구하는 바로 그 통합의 명령과 같습니다. 공유된 표준과 온톨로지(ontology)를 갖추어, LIMS의 한 결과와 히스토리안의 한 태그가 같은 실세계의 대상을 묘사하고 있음을 알아볼 수 있게 하는 것입니다.

코드로는 그 해법이 어떻게 생겼을까요? 동반 오픈소스 책은 추상적인 batch_id 를 실재로 만듭니다. 히스토리안 / 시계열 저장소LIMS·ELN 계층은 각각 batch_id 열을 지니며, 맥락화(contextualization) 단계가 히스토리안의 sensor_reading, 실험실의 sample, 배치 제어의 batch_phase 행들을 그 하나의 공유 키 위에 꿰매어 — 위의 수동 가교들을 데이터베이스가 스스로 수행할 수 있는 관계형 조인(join)으로 바꿉니다.

의미론으로 본 해법: 그래프가 된 공유 키

관계형 조인은 한 공장의 데이터베이스 안에서 사일로를 풉니다. 온톨로지 책은 같은 정체성이 시스템을 가로질러, 또 공장을 가로질러 살아남도록 그것을 그래프 로 풉니다. 그 수(手)는 배치를 하나의 노드로 만들고 다섯 개의 지역 이름을 그 한 노드의 속성 으로 만든 다음, 계보를 기계가 걸어갈 수 있는 간선으로 단언하는 것입니다. 그 문법은 RDF(Resource Description Framework — 모든 사실을 주어-술어-목적어 트리플(triple) 로 기록하는 W3C 모델)이며, 여기서는 터틀(Turtle)(RDF의 간결한 텍스트 구문)로 적었습니다. bp:classes-and-taxonomy 장이 세우는 바이오프로세스 어휘를 뜻합니다.

# 하나의 배치 노드; 다섯 시스템의 지역 이름이 그 노드의 속성이 된다.
bp:BATCH-2026-001 a bp:Batch ;
bp:historianTagPrefix "BR201_BATCH0156" ; # 히스토리안의 이름
bp:mesBatchNumber "BATCH_2024_0156" ; # MES의 이름
bp:limsParentSample "S-0156-001" ; # LIMS의 이름
bp:erpLot "LOT-22A-MABX" ; # ERP의 이름
bp:derivedFrom bp:WCB-CHO-001 . # 계보, 걸어갈 수 있는 하나의 간선

그러면 두 가지 온톨로지 기법이 그 노드를 기계가 점검할 수 있는 것으로 바꿉니다. 첫째, PROV-O(W3C 출처(provenance) 온톨로지)는 어떤 결과가 어디에서 왔는지 를 기록하는 표준 방식입니다. LIMS 순도 결과는 배치에 대한 prov:wasDerivedFrom 과 분석 활동에 대한 prov:wasGeneratedBy 로 모델링되어, 계보가 사람의 손으로 단언되는 대신 데이터로 실려 다닙니다 — relations-and-genealogy 장이 전이적(transitive)으로 만드는 바로 그 derivedFrom 등뼈로, 추론기가 완제 바이알에서 세포은행까지 아무도 명시하지 않은 도약들을 거쳐 걸어갑니다. 둘째, SHACL(Shapes Constraint Language) 형상(shape)은 그 통합에 관문 을 둘 수 있습니다. SQL의 NOT NULL 이 한 테이블만 지키는 반면, SHACL 형상은 조립된 그래프를 닫힌 세계(closed world) 에서 검증합니다. 거기서는 빠진 필수 연결이 열린 물음이 아니라 지금 곧 실패입니다 — Book 4가 로트의 CQA 패널에 쓰는 바로 그 출하 관문 규율이지요. 조정용 형상이라면 모든 bp:Batch 가 각 시스템의 식별자를 정확히 하나씩, 그리고 비어 있지 않은 bp:derivedFrom 을 지니도록 요구할 것입니다.

# 모든 시스템의 이름이 있고 계보가 단언되기 전까지 배치는 통합 준비가 되지 않는다.
bp:BatchReconciliationShape a sh:NodeShape ;
sh:targetClass bp:Batch ;
sh:property [ sh:path bp:mesBatchNumber ; sh:minCount 1 ; sh:maxCount 1 ;
sh:message "Batch is missing its MES batch number." ] ;
sh:property [ sh:path bp:limsParentSample ; sh:minCount 1 ;
sh:message "Batch carries no LIMS parent sample — the lab seam is broken." ] ;
sh:property [ sh:path bp:derivedFrom ; sh:minCount 1 ;
sh:message "Batch has no lineage edge — genealogy is unproven." ] .

규제 당국의 추적성 요청 — "이 바이알을 만든 모든 것을 보여 달라" — 은 그러면 사람의 기억이 아니라 전이적 걸음으로 실행되는 SPARQL(RDF를 위한 표준 질의 언어) 역량 질문(competency question)(모델이 답할 수 있어야 하는 물음)이 됩니다.

# CQ: 완제 로트가 파생된 모든 물질을, 깊이에 상관없이.
PREFIX bp: <https://example.org/bioproc#>
SELECT DISTINCT ?ancestor WHERE {
bp:BATCH-2026-001 (bp:derivedFrom)+ ?ancestor .
}

이것이 이 시리즈의 나머지가 형식화하는 가교입니다 — 데이터 쪽의 공유 표준과 온톨로지 장, 그리고 이 역량 질문들이 실행 가능한 합격 시험이 되는 Book 4의 specification-and-ORSD 장이지요. 이 장에 주는 요점은 좁습니다. 빠져 있는 공유 키는 단지 데이터베이스 열이 아니라 모델링 의 결정이며, 다섯 개의 이름이 한 노드에 매달리는 순간 사일로는 하나의 질의가 됩니다.

풀리지 않은 과제: 시스템 경계를 가로지른 배치 식별자 조정

OPC UA와 Pharma 4.0이 이를 해결했다고 말하며 끝맺을 수 있다면 마음이 편하겠지만, 그렇지 않습니다. 진정으로 어려운 채 남아 있는 것은 자동 배치 식별자 조정(automatic batch-identifier reconciliation) 입니다. 히스토리안의 BR201_BATCH0156 이 주어졌을 때, 사람이 그 연결을 단언하지 않고도 자동으로 대응되는 MES의 BATCH_2024_0156, LIMS 부모 시료 S-0156-001, ERP 로트 LOT-22A-MABX 를 풀어내는, 업계 전반의 메커니즘이 여전히 없습니다. OPC UA는 연결을 가로질러 의미를 실어 나를 수 있고, ISA-95는 누가 무엇을 소유하는지 서술할 수 있지만, 둘 중 어느 것도 애초에 공유하도록 설계되지 않은 시스템들에 걸쳐 공유 키를 발행하지는 못합니다.

그 결과, FAIR 상호운용성과 종단 간(end-to-end) 배치 추적성은, 오늘날 대부분의 공장에서 설계에 의해서가 아니라 수동 조정으로 달성됩니다 — 그리고 수동 조정이야말로 규제 당국이 면밀히 들여다보는 바로 그 실패 방식입니다. FDA 데이터 무결성 지침은 기록이 그 수명 주기 전반에 걸쳐 귀속 가능하고 재구성 가능하게 남기를 기대하는데, 바로 이 경계에서 그것을 입증하기가 가장 어렵습니다 [5]. 또한 디지털 트윈 문헌은, 더 많은 센서도 더 많은 저장 공간도 아닌 통합된 데이터 계층 이 빠져 있는 전제 조건이라고 분명히 말합니다. 데이터는 이미 존재하지만, 연결되어 있지 않을 뿐입니다 [9]. 이 간극을 메우는 일은 기술 문제라기보다 규율의 문제입니다. 정규 배치 식별자를 지정하고 모든 시스템의 지역 이름을 거기에 묶어 두는 마스터 데이터 거버넌스가 필요하며, 그래서 이 책은 어떤 단일 제품이 아니라 거버넌스, 의미론, 공유 온톨로지로 거듭 되돌아옵니다. 바로 이 넘겨주기 — 물리적 배치 기록이 규제 당국이 받아들일 만한, 추적 가능한 하나의 전체로 조정되는 일 — 가 제조 편의 품질, 규제, 데이터 장 뒤에 있는 데이터의 등뼈입니다.

왜 중요한가

이 장에서 들고 나갈 가장 쓸모 있는 한 가지는 "공장 데이터베이스"란 없다는 것입니다. 기록 시스템들의 연합(federation) — 히스토리안, MES, LIMS, ELN, ERP — 이 있을 뿐이며, 각자는 자기 조각에 대해 진정으로 권위를 가지고, 나머지와는 진정으로 분리되어 있습니다. 그것은 공학으로 없애 버려야 할 결함이 아니라 — 이 산업의 구조 그 자체이며, 그 시스템들 하나하나는 규모, 규제, 공급사 역사라는 타당한 이유에서 따로 존재합니다. 데이터 관리에 주는 교훈은 가치와 위험이 실제로 어디에 사는가입니다. 어느 한 상자 안이 아니라, 그것들 사이의 이음매 에 살지요. 한 공장이 올바르게 포착되고 규정을 완전히 따른 데이터에 잠겨 있으면서도 "어떤 배양 조건이 가장 높은 순도의 배치를 냈는가?"에 답하지 못할 수 있습니다 — 히스토리안, MES, LIMS가 같은 배치에 대해 세 개의 다른 이름 아래, 답의 3분의 1씩을 저마다 쥐고 있기 때문이지요. 이를 안다는 것은 일 전체를 다시 틀 짓습니다. 보상을 가져다주는 작업은 더 나은 히스토리안을 사는 일이 좀처럼 아니라 — 조인(join) 을 설계하고, 다스리고, 유지하는 일, 즉 다섯 개의 이름이 한 배치로 알아보아지게 해 주는 공유 정체성입니다. 아키텍처, 거버넌스, 의미론, 온톨로지에 관한 뒤따르는 모든 장은, 근본에서는 그 조인을 손으로가 아니라 설계로 구축하려는 시도입니다.

현실에서는

이 연합은 교과서적 추상이 아닙니다 — 그것은 실제로 가동되는 바이오 의약품 공장의 문자 그대로의 공급사 목록입니다. 전형적인 시설은 AVEVA PI(OSIsoft) 또는 GE Proficy 히스토리안, Körber Werum PAS-X 또는 Siemens Opcenter MES/EBR, LabVantage 또는 Thermo SampleManager LIMS, Benchling 또는 IDBS ELN, SAP ERP, 그리고 Waters Empower CDS — 여섯 개의 서로 다른 공급사에서 온 여섯 개 이상의 시스템으로, 각각 GAMP 5 아래에서 검증되고 [6], 각각 자기만의 방언을 씁니다 — 를 돌립니다. 그것들을 꿰매어 잇는 일은, 오늘날 대부분의 공장에서 사람과 스프레드시트가 하는 일입니다. 분석자가 히스토리안 태그 접두사를 검색창에 붙여 넣고, 작업자가 배치 번호를 옮겨 적으며, 검토자가 시료 ID를 로트에 손으로 맞춥니다. 두 곳이 이를 구체적으로 보여 줍니다. 첫째, 예외 기반 검토 는 배치 출하를 감당 가능하게 유지해 주는 일상입니다 — EBR이 한계 안에 든 수천 개의 단계를 자동 확인하고, 사람이 판단해야 할 한 줌의 표시된 예외만을 드러내며, 그 하나하나가 닫히기 전까지는 로트를 처분할 수 없습니다. 둘째, 검사(inspection) 야말로 이음매가 시험대에 오르는 곳입니다 — FDA나 EMA 검사관이 특정 완제 바이알 하나를, 그것을 만든 바이오리액터 운전, 배지 로트, QC 방법까지 거슬러 추적해 달라고 요구하는데, 그 답의 속도와 신뢰성은 계보가 데이터로 실려 다녔는지, 아니면 누군가의 기억 속에 사는지에 전적으로 달려 있습니다. 마스터 데이터 거버넌스와 공유 배치 정체성에 투자한 공장은 몇 분 만에 답하고, 나머지는 며칠에 걸친 수동 조정으로 답합니다 — 그리고 그 차이가 바로 이 책이 다루는 통합의 규율입니다.

핵심 용어

  • 공정 히스토리안(process historian) — 대용량 시계열 데이터를 저장하도록 최적화된 데이터베이스로, 압축을 써서 신호를 값싸게 보존한다 [5].
  • 태그(tag) — 측정되는 한 지점을 위한, 히스토리안 안의 이름 붙은 채널로, 시각이 찍힌 값을 많이 만들어 낸다.
  • 시계열 데이터(time-series data) — 측정된 정확한 시각으로 색인된 측정값.
  • MES(제조 실행 시스템) — 배치 실행을 다스리는 제조 운영 수준의 시스템 [1]. MES가 강제하는 레시피는 ISA-88 배치 표준에 따라 구조화된다.
  • EBR(전자 배치 기록) — 특정 배치가 어떻게 만들어졌는지에 대한 디지털 서명 기록.
  • 마스터 레시피(master recipe) — 제품이 어떻게 제조되는지를 정의하는 승인된 템플릿.
  • 예외 기반 검토(review by exception) — EBR이 허용 범위 내의 모든 단계를 그 파라미터 한계에 비추어 자동 확인하고 허용 범위 밖의 단계만을 사람의 검토에 드러내어, 주의가 규정을 따른 모든 항목이 아니라 표시된 예외로 향하게 하는 것.
  • 전제 규칙(predicate rule) — 기록이 존재해야 한다고 요구하는 바탕의 GMP 규정(배치 기록의 경우 21 CFR Part 211 §§211.186/211.188); 21 CFR Part 11은 그 기록이 전자가 된 다음에 그것을 규율한다 [12].
  • 관리된 일탈 대 계획되지 않은 일탈(managed vs. unplanned deviation) — 기존 절차가 예상하고 다스리는 일탈(관리된/계획된) 대 그렇지 않은 일탈로, 후자는 정식 일탈 기록과, 정당한 경우 CAPA를 연다.
  • CAPA(시정 및 예방 조치, corrective and preventive action) — 계획되지 않은 일탈을 조사하고 바로잡기 위해 여는 정식 기록; 로트가 출하되기 전에 닫혀야 한다.
  • 배치 처분(batch disposition) — 로트에 대한 품질 부서의 출하/폐기/보류 결정으로, 표시된 모든 예외가 닫히는 것을 관문 조건으로 한다.
  • 기록의 시스템(system of record) — 주어진 데이터 조각에 대한 단 하나의 권위 있는 출처.
  • LIMS(실험실 정보 관리 시스템) — 시료, 시험, 규격, QC 결과를 추적하는 시스템.
  • ELN(전자 실험 노트) — 탐색적 실험과 추론을 담는 디지털 노트.
  • CDS(크로마토그래피 데이터 시스템) — 크로마토그래피 데이터를 획득하고 처리하는 소프트웨어 [5].
  • BMS / EMS — 클린룸 조건을 기록하는 건물 관리 / 환경 모니터링 시스템.
  • ERP(전사적 자원 관리) — 원료, 재고, 주문을 위한 기업 수준의 시스템.
  • GxP — 점검 가능한 모든 기록을 규율하는 "우수 기준(good practice)" 품질 규정(우수 제조/시험/임상 기준과 그 동류)을 아우르는 우산말.
  • TSDB(시계열 데이터베이스) — 고속의 시각이 찍힌 데이터를 위해 특별히 만들어진 데이터베이스; 오픈소스 TSDB(예: TimescaleDB)는 히스토리안 엔진으로 쓰일 수 있다.
  • 감사 추적(audit trail) — 누가 무엇을 언제 바꿨는지에 대한 안전하고 시각이 찍힌 기록으로, 21 CFR Part 11이 요구한다 [4].
  • ALCOA+ — 데이터는 귀속 가능하고, 읽을 수 있고, 동시적이며, 원본이고, 정확해야 하며, 더해서 완전하고, 일관되며, 지속되고, 이용 가능해야 한다는 원칙 [5].
  • 데이터 사일로(data silo) — 쉽게 공유할 수 없는 시스템에 갇힌 귀중한 데이터로, FAIR의 반대 [2].
  • OPC UA — 시스템 경계를 가로질러 데이터 와 그 의미 를 교환하기 위한 공급사 중립적 표준 [7].
  • 배치 식별자 조정(batch-identifier reconciliation) — 하나의 배치가 히스토리안, MES, LIMS, ELN, ERP에 걸쳐 지니는 여러 이름을 하나의 공유 정체성으로 다시 잇는 일로, 오늘날에도 대체로 수동이다.
  • 통합된 데이터 계층(integrated data layer) — 모든 시스템의 지역 식별자를 하나의 공유 키 위로 풀어내는 연결 계층으로, 디지털 트윈 문헌이 사일로를 깨뜨리기 위한 전제 조건으로 지목한 것 [9].
  • RDF / 터틀(Turtle) / 트리플(triple) — 모든 사실을 주어-술어-목적어 트리플로 기록하는 W3C 모델(터틀은 그 간결한 텍스트 구문)로, 배치를 그 다섯 시스템의 지역 이름이 속성이 되는 하나의 노드로 만드는 데 쓰인다.
  • PROV-O — W3C 출처(provenance) 온톨로지; prov:wasDerivedFrom / prov:wasGeneratedBy 가 결과의 계보를 사람의 단언이 아니라 데이터로 실어 나른다.
  • SHACL(Shapes Constraint Language) — 조립된 그래프를 닫힌 세계에서 검증하는 형상(shape)의 언어로, 빠진 필수 연결(예: 부재한 계보 간선)이 열린 물음이 아니라 지금 곧 실패가 된다.
  • SPARQL 역량 질문(competency question) — 모델이 답할 수 있어야 하는, RDF 그래프에 대한 질의로 실행되는 물음; 전이적 derivedFrom 걸음이 규제 당국의 추적성 요청에 자동으로 답한다.
  • 그룹(리브-원-배치-아웃) 교차 검증 — 개별 행이 아니라 배치 전체를 학습에서 빼 두어 모델의 점수가 보지 못한 배치로의 일반화를 측정하게 하는 것; 신뢰할 수 있는 공유 batch_id 없이는 불가능하다.
  • 데이터 누출(data leakage) — 평가 집합의 정보가 학습으로 새어 드는 것(예: 학습과 시험에 걸쳐 나뉜 배치)으로, 모델이 보고하는 점수를 운영이 내놓을 값보다 부풀린다.
  • 적용 영역(applicability domain) — 새 입력이 모델이 학습한 조건의 봉투 안에 있는지를 점검하여, 범위를 벗어난 입력을 말없이 외삽하는 대신 표시하는 것.
  • 드리프트 탐지(drift detection) — 배포된 모델의 입력이나 오차가 시간에 따라 떠도는지를 지켜보며, 진짜 공정 드리프트와 시스템 이음매에서의 데이터 파이프라인 단절을 구별하는 것.
  • 풀링 윈도 컷 포인트(pooling-window cut points) — 단백질 A 컬럼의 살아 있는 UV280 트레이스에 비추어 설정하는 두 임계값으로, 그 사이에서 용출된 항체를 제품으로 모으고 그 밖에서는 폐기로 보낸다.

이 다음은

이제 우리는 시스템들이라는 등장인물과, 그것들 사이의 이음매에 대한 냉철한 시선을 갖추었습니다. 다음 장 아키텍처와 통합: ISA-95, OT/IT, 그리고 엣지-투-클라우드는 이 성좌에 지도를 줍니다. 레벨 0 센서에서 레벨 4 기업까지 모든 것을 정리하는 ISA-95 / 퍼듀(Purdue) 위계, 운영 기술과 정보 기술의 수렴, 이 시스템들이 마침내 자신들이 무엇을 뜻하는지에 합의하게 해 주는 맥락화(contextualization) 계층, 그리고 공장 데이터를 엣지(edge)에서 클라우드까지 내내 실어 나르는 현대적 경로가 그것입니다.