이전 두 기사에서는 데이터 기반 설계 시 고려 사항, 특히 비즈니스 데이터가 잠재적인 비즈니스 가치를 나타내는 방식에 대해 중점적으로 다루었습니다. 핵심 메시지는 구조화된 데이터 아키텍처가 내재적 가치를 추출할 수 있는 기술적 기반이라는 것입니다. 하지만 해당 기사들은 개념적 수준에서 관련 주제를 소개하는 데 초점을 맞췄습니다. 오늘은 좀 더 구체적이고 공감하기 쉬운 사례를 통해 이 개념을 설명하고자 합니다. 데이터 중심 사고방식에 맞춰 애플리케이션을 설계하는 방법에 대한 이야기를 들려드리겠습니다.
하지만 바로 본론으로 들어가기에 앞서, 오늘날 데이터가 과거보다 왜 더 중요한지 다시 한번 살펴보겠습니다. 역사적으로 많은 기업은 데이터 수집과 저장을 주로 감사 및 규정 준수와 같은 거버넌스 목적으로 수행해 왔습니다. 따라서 역사적으로 데이터 수집 및 저장은 기업 운영에 대한 일종의 "세금"으로 여겨졌으며 직접적인 운영적 비즈니스 가치는 거의 인식되지 않았습니다.
이제 바뀐 점은 수집된 데이터를 활용해 비즈니스 프로세스를 최적화하고 고객 경험을 개선할 수 있다는 점을 더욱 확실히 이해하게 되었다는 것입니다. 예를 들어, 최근 디지털 소매업체 설문 조사에 따르면 이 두 가지 목표(비즈니스 프로세스 업그레이드 및 고객 경험)가 설문에 참여한 모든 사람의 57%에게 디지털 변환의 주요 동인이었습니다. 사업체 . 중요한 관찰, "왜 중요한가"의 본질은 데이터 기반 워크플로가 외부 도메인(예: 고객 경험)과 내부 도메인(핵심 비즈니스 프로세스) 모두에서 비즈니스에 영향을 미친다는 것입니다. 따라서 가장 중요한 비즈니스 워크플로의 품질과 비용 효율성을 강화하려면 신중하고 계획적인 데이터 전략이 필수입니다. 또한, 워크플로가 관찰된 데이터 배출을 데이터 수집 및 분석 인프라로 전송하도록 계측화되면 워크플로 자체도 지속적으로 분석하고 개선할 수 있으며, 그 결과 지속적으로 적응하고 최적화된 비즈니스 워크플로가 탄생합니다.
참고로, 디지털 전환과 관련하여 이들 기업이 가장 심각하게 우려했던 것은 이들 디지털 프로세스의 사이버 보안을 보장하는 것이었습니다. 이는 결국 이 동일한 데이터 원격 측정 및 분석 접근 방식이 핵심적인 역할을 하는 또 다른 영역입니다. 하지만 이는 다른 기사에서 다루도록 하겠습니다.
사고 실험으로 넘어가서, 저는 오늘날의 코로나바이러스에 적응한 라이프스타일에서 우리 중 많은 사람이 공감할 수 있는 이야기를 선택했습니다. 레스토랑 음식 주문 및 배달을 위한 온라인 서비스를 제공하는 애플리케이션입니다. 식사는 고객이 지정한 레스토랑에서 온라인으로 주문하며, 사용자는 고객이 직접 주문한 음식을 픽업하거나 서비스에서 배달받도록 선택할 수 있습니다.
이 스토리에서 우리는 애플리케이션 소유자의 역할을 맡게 될 것입니다. 그 역할에서 우리는 여러 가지 우려 사항을 해결해야 하며, 이를 두 가지 범주로 나눌 것입니다. 첫째, 필요한 운영 활동, 둘째, 미래 지향적 전략적 우려 사항입니다.
첫 번째 세트(필수 운영 활동)에는 다음과 같은 문제가 포함됩니다.
두 번째 우려 사항은 일상 업무와는 관련이 없지만 그렇다고 해서 덜 중요한 것은 아닙니다. 이러한 문제를 미리 생각한다면 기업은 민첩하고 적응력 있게 행동하고 지속적으로 개선할 수 있습니다. 이런 종류의 우려 사항에 대한 예는 다음과 같습니다.
물론, 이는 우리가 가질 수 있는 모든 우려 사항의 일부에 불과하지만, 이 작은 집합만으로도 확장 가능한 데이터 처리 파이프라인을 지원하는 구조화된 데이터 아키텍처의 중요성을 강조하는 좋은 논의를 할 수 있기에 충분합니다.
애플리케이션 소유자의 역할을 가정하고 전반적인 데이터 전략을 고려하려면 먼저 비즈니스 워크플로를 나열하고 각각의 데이터 처리 요구 사항을 파악해야 합니다. 예를 들어 근처에 영업 중인 레스토랑을 찾아 각 레스토랑의 메뉴와 품목 가격을 제시하는 워크플로가 있습니다. 레스토랑을 위치와 영업 시간별로 필터링한 후, 특정 레스토랑의 메뉴를 찾아야 하며, 배달 기사의 가용성을 기준으로 필터링해야 할 수도 있습니다. 그리고 우리는 각 워크플로(결제 처리, 운전자와 배달 담당자 매칭 등)에 대해 이를 수행할 수 있습니다.
또는 마찬가지로 합리적으로 우리는 기본 데이터 "원자", 즉 필요한 데이터 구성 요소부터 고려를 시작할 수도 있습니다. 우리는 중요한 데이터 원자를 식별하고 열거하며, 특히 비즈니스 워크플로우를 지원하는 데 필요한 모든 메타데이터 어휘와 함께 해당 데이터 원자의 균일한 표현과 일관된 의미론을 갖는 데 특히 주의를 기울였습니다. 샘플 애플리케이션에서 데이터 원자의 예로는 다음이 있습니다. 레스토랑, 고객 및 운전자의 위치 데이터 , 메뉴 및 송장에 필요한 음식 항목 , 배달 품질을 필터링하고 추적하는 데 사용되는 시간 , 고객 및 운전자 결제 워크플로와 관련된 결제 정보 입니다.
워크플로의 데이터 처리 파이프라인 또는 대안적으로 데이터 "원자" 중 어느 것을 데이터 전략에 사용할 것인지는 닭이 먼저냐 달걀이 먼저냐의 문제입니다. 두 관점 모두 유용하며, 더 중요한 것은 상호 의존적이라는 것입니다. 기본 데이터 원자에 대해 생각하지 않고는 데이터 처리 파이프라인에 대해 추론할 수 없고, 처리 파이프라인의 요구 사항을 고려하지 않고는 데이터 아키텍처를 개발할 수 없습니다. 하지만 일반적으로 저는 워크플로를 먼저 통과하여 데이터 원자를 열거한 다음, 데이터 파이프라인의 세부 설계를 하기 전에 데이터 아키텍처의 구조적 설계에 접근하는 방식을 권장합니다. 워크플로가 더 동적인 이유는 비즈니스가 발전함에 따라 워크플로가 추가되고 수정되는 반면, 기반 데이터에는 더 많은 이력 및 관성이 있기 때문입니다. 따라서 데이터 아키텍처는 사전에 고려하는 것이 더 중요합니다.
다시 예시로 돌아가서, 애플리케이션 소유자로서 우리는 핵심 비즈니스 핵심 워크플로와 이를 지원하는 데 필요한 데이터 원자에 대한 관점을 상당히 잘 알고 있다고 가정해 보겠습니다. 앞서 논의한 내용에서 우리는 워크플로에 필요한 몇 가지 기본 데이터 요소, 즉 위치, 시간, 음식 항목, 결제 정보를 파악했습니다. 이전 기사의 내용을 요약하자면, 데이터 아키텍처는 구문의 균일성, 의미의 일관성, 데이터에 대한 추론과 관리를 위한 메타데이터 어휘라는 3가지 핵심 목표를 달성할 수 있어야 합니다. 따라서 이제 우리는 이러한 원칙을 적용하여 오늘의 예에서 열거된 특정 데이터 원자에 대한 데이터 아키텍처 고려 사항을 논의할 수 있습니다.
위치 데이터 원자에 초점을 맞춰 3가지 핵심 데이터 아키텍처 목표를 고려해 보겠습니다.
우리는 위치 에 대한 요구 사항에 대해서만 이야기했으며 이제 다른 데이터 필드에 대해서도 비슷한 연습을 실시할 수 있습니다. 그러나 각 데이터 원자에 대한 모든 우려 영역을 나열하는 대신 몇 가지 주목할 만한 관찰 결과를 강조하겠습니다.
이 사례는 아직 피상적으로만 보여졌을 뿐이지만, 현실 세계 시나리오와 관련된 많은 문제점을 부각시켰습니다. 그러나 현실 세계에서 데이터 전략을 고민하는 과정은 여기서 끝나지 않고 반복적이고 지속적입니다. 데이터 요소가 비즈니스 워크플로를 구현하는 데이터 처리 파이프라인에 입력됨에 따라 데이터 아키텍처에 대한 반복적인 조정 및 개선이 이루어집니다. 기존 워크플로가 향상되고 새로운 워크플로가 추가됨에 따라 새로운 데이터 아톰과 함께 기존 데이터 아톰에 대한 추가적인 데이터 아키텍처 요구 사항도 발견하게 될 것입니다.
이 예시는 간결성을 위해 간소화되었지만 여전히 워크플로를 데이터 아키텍처에 미치는 영향에 매핑하는 데 있어서 핵심 원칙을 보여줍니다. 이 과정은 항상 비즈니스 요구 사항, 즉 고객 경험과 해당 요구 사항을 충족하는 데 필요한 비즈니스 프로세스를 고려하는 것으로 시작됩니다. 다시 말해, 비즈니스 프로세스는 비즈니스 어휘의 요소를 정의합니다. 다음 단계의 구체성에서는 프로세스가 데이터 파이프라인에 매핑되어 데이터 어휘를 활용합니다.
핵심 원칙은 구문, 의미론, 주석을 정의하는 강력한 데이터 아키텍처가 데이터 파이프라인을 효율적으로 개선하고 새로운 워크플로를 쉽게 추가할 수 있는 기반을 구축한다는 것입니다. 비즈니스 계층 추상화에서는 기존 비즈니스 프로세스를 쉽게 수정할 수 있으며 새롭거나 떠오르는 비즈니스 프로세스를 신속하게 온라인으로 전환할 수 있음을 의미합니다. 반대로, 데이터 어휘, 데이터 아키텍처 프레임워크 또는 이를 비즈니스 요구 사항과 연결하는 영역 중 어느 하나에서 신중한 결정을 내리지 못하면 궁극적으로 취약하고 불안정한 시스템이 되어 새로운 비즈니스 요구 사항에 민첩하게 대응할 수 없게 됩니다.