군대에는 이런 말이 있다. "아마추어는 전술을 논의하지만 프로는 물류를 연구합니다." 챈슬러스빌에서의 리 장군의 뛰어난 활약이나 포에니 전쟁에서의 해니발의 천재성을 생각하면, 언뜻 보면 어떤 이들에게는 놀라운 생각일 수 있다. 그러나 역사는 리 장군이나 해니발이 각자의 전쟁에서 승리하지 못했다는 사실을 기록하고 있다. 가장 큰 이유는 물류 때문이었습니다. 즉, 적절한 시간과 적절한 장소에서 군대에 식량, 의류, 무기를 공급할 수 있는 능력이었습니다. 뛰어난 전술에도 불구하고, 결국 승리를 결정한 것은 물류였습니다. 다시 말해, 전술은 경기장에서 자신이 보유한 자산을 최대한 활용하는 데 도움이 되지만, 물류는 무엇보다도 경기장에 머무르는 데 도움이 됩니다.
저는 군사적 비유가 마음에 듭니다. 오늘날 데이터 기반 솔루션이 종종 묘사되는 방식과 유사하다고 생각하기 때문입니다. "전술"의 매력, 즉 딥 러닝, 랜덤 포레스트 분류, 그래디언트 부스팅 등과 같은 고급 AI 기술은 이러한 고급 기술을 가능하게 하는 데이터 아키텍처 기반의 덜 매력적인 "물류"를 정기적으로 가려버립니다.
데이터 아키텍처에 대한 논의의 첫 번째 단계는 "데이터 아키텍처" 개념이 무엇을 포괄하는지 정의하는 것입니다. 놀랍지 않게도 답은 미묘합니다. 여러 겹의 측면이 뒤섞여 있기 때문입니다. 논의의 토대를 마련하기 위해, 수집된 원격 측정 데이터의 여정에 대한 관점에서 먼저 생각해 보는 것이 좋습니다. 아래 다이어그램은 상위 수준의 데이터 파이프라인을 보여주며 파이프라인과 데이터 아키텍처 기반 간의 접점을 강조합니다.
각 데이터 요소의 여정은 생성부터 시작되며, 종종 직렬화되어 일반적으로 클라우드에 있는 데이터 수집기/집계기로 전송되기 전에 일정 수준의 사전 처리가 이어집니다. 다음으로, 데이터 수집기 자체는 (역직렬화 및 수집 이후) 데이터를 영구 데이터 저장소에 전달하거나 데이터 분석 파이프라인에 공급하기 전에 추가 처리 및 보강을 수행할 수 있습니다. 마지막으로, 풍부하고 분석된 결과는 시각화 플랫폼을 통해 인간이 사용할 수 있으며, 심지어 자동 시스템이 자동 조정 또는 자동 복구 폐쇄 루프 시스템을 위한 피드백 입력 형태로 사용할 수도 있습니다.
데이터 파이프라인 컨텍스트가 확립되었으므로 이제 "데이터 아키텍처"가 의미하는 바를 이해하는 문제로 돌아갈 수 있습니다. 첫 번째 답변은 가장 피상적인 수준에서 데이터 표현과 직렬화 구문에 초점을 맞추고 있습니다. 예를 들어, 데이터 이벤트에 '고객'이라는 제목의 개체 필드가 포함된 경우 구문적 보기는 해당 데이터가 문자열, 정수 UUID 또는 다른 것으로 표현되는지 여부를 판별합니다.
하지만 조금 더 깊이 파고들면 두 번째 답변은 단순한 구문 이상의 것입니다. 즉, 데이터 의미론, 즉 데이터 콘텐츠에 대한 잘 정의되고 일관된 해석에 대한 것입니다. 다시 한 번 '고객' 필드를 예로 들어 구문적 질문에 답변했다고 가정해 보겠습니다. 사실 데이터 요소는 문자열 필드로 정의되었습니다. 다음으로, 데이터 아키텍처는 의미/해석 질문에 답할 수 있어야 합니다. 즉, 의미론이 개인 이름의 의미론인지, 아니면 회사 이름인지입니다. 사람의 이름이라면 <성>인가요, <이름>인가요, 아니면 둘 다인가요? 일관된 의미 체계를 균일한 구문과 결합하면 데이터 파이프라인은 데이터 내용에 대한 일관된 논리적 해석을 기반으로 데이터 필터링 및 집계와 같은 기능을 일반적이고 견고하게 수행할 수 있습니다. 또한, 생성된 데이터가 일관된 구문과 의미를 따르는 한, 데이터 저장소는 여러 데이터 생성 파이프라인 인스턴스에서 연합 데이터 쿼리를 쉽게 수행할 수도 있습니다.
마지막으로 더 깊이 파고들어보면 많은 경우 데이터 아키텍처에서 세 번째 기능을 갖는 것이 중요합니다. 즉, 원격 측정을 맥락화하고 데이터 자체에 대한 추론을 위한 어휘, 즉 메타데이터 어휘입니다. 이는 규정 준수, 감사 또는 데이터 웨어하우스 내에서 관리되는 데이터에 대한 전체적인 이해가 필요한 내부 워크플로우와 같은 엔터프라이즈 데이터 거버넌스 요구 사항의 맥락에서 특히 중요합니다. 메타데이터는 종종 데이터에 대한 주석 형태로 제공되며, 주석은 데이터 자체와 동일한 종류의 구문적 및 의미적 일관성을 따릅니다. 예를 들어, 메타데이터 필드는 데이터 소스의 신원, 수집된 데이터의 데이터 처리 일정을 기록하고 법적 데이터 보존 요구 사항을 준수하는 데 사용될 수 있습니다.
메타데이터 필드를 데이터 설명 스키마의 어휘집에서 사용할 수 있는 또 다른 방법은 데이터 요소의 순서성이나 개인 정보 민감성과 같은 데이터 필드 자체의 측면에 대해 추론하는 것입니다. '고객' 데이터 필드 예로 한 번 더 돌아가 보면, 데이터 스키마의 메타데이터 주석은 데이터 요소를 고유하다고 표시할 수 있고, 데이터 스트림(소매 구매 거래 등)의 컨텍스트에서 추가 주석은 데이터 요소를 필수 및 싱글톤 으로 표시할 수 있습니다. 다시 말해, 메타데이터는 customerID 필드가 고유해야 하고(기본 데이터베이스 키로 사용 가능) 각 구매 이벤트에는 정확히 하나의 customerID가 연관되어야 함을 나타내는 데 사용됩니다. 데이터 파이프라인의 맥락에서 메타데이터 기능의 전체적 유용성은 이를 활용하여 데이터 규정 준수를 위한 주석을 추가하고, 데이터 보강 어휘를 제공하고, 데이터 웨어하우스에 대한 유연한 거버넌스 워크플로를 구현할 수 있다는 사실입니다.
따라서 요약하면, 질문에 대한 답은 다음과 같습니다. "데이터 아키텍처란 무엇인가?"는 최소한 수집된 데이터에 대한 구문적, 의미적 일관성을 가능하게 하는 프레임워크를 제공하는 것에 관한 것입니다. 또한, 강력한 데이터 아키텍처에는 데이터에 대한 제약 조건을 지정할 수 있을 만큼 강력한 메타데이터 전략이 포함되어야 하며, 데이터 자체에 대한 추론 기능도 포함되어야 합니다.
데이터 아키텍처는 명확한 관심 분야로 간주되고, 이를 잘 실행하면, 우수한 군사 물류 인프라와 매우 유사합니다. 군사적 맥락에서와 마찬가지로, 이는 그 위에 구축된 시스템의 모든 구성 요소의 효율성과 견고성을 배가시키는 기반을 제공하며, 눈에 잘 띄는 시스템이 최대한 효과적으로 활용될 수 있도록 합니다. 데이터 처리 시스템의 맥락에서 데이터 아키텍처 기반은 데이터 거버넌스를 위한 보다 유연하고 강력한 모델, 견고한 데이터 웨어하우스를 사용하여 데이터 소스 간의 보다 쉬운 데이터 공유, 비즈니스 민첩성을 위한 새로운 데이터 피드 수집에 대한 보다 대응성 있는 접근 방식을 위한 기반을 제공합니다.