안녕하세요.
이번에는 Data Architecture의 전반적인 개요를 설명드리고자 합니다.
데이터 프로젝트를 진행하기 위해선 선행으로 꼭 필요한 단계입니다.
그러나 사람들이 어려워하는 부분 중 하나이기도 합니다.
어렵지 않게, 예시를 포함하여 설명 드려보겠습니다 :)
Data Architecture란?
Data Architecture는, 조직 내에서 데이터가 어떻게 수집이 되고, 저장되고, 관리되고, 사용되는지
정의하는 설계 프레임워크 라고 할 수 있습니다.
데이터를 효율적이고 체계적으로 관리하여 "비즈니스 요구 사항을 충족"하고
"데이터 기반 의사 결정"을 지원하기에 필수적인 단계입니다.
개인적으로, Data Project을 진행할
때 Architecture부터 문제가 있다면
유지보수(오류 식별, 수정 등) 작업에 Man Power가 많이 소요되기 때문에 중요한 단계라 생각합니다.
주요 구성
1. 데이터 소스
● 데이터를 생성하거나 가져오는 곳
● Database, File System, Cloud, API, Excel 등 다양하게 존재
2. 데이터 스토리지
● 데이터를 저장하고 관리하는 시스템으로, 주요 사용되는 기술은 다음과 같습니다.
- 데이터베이스 : 관계형(RDBMS), 비관계형(NoSQL) 데이터베이스
- 데이터 웨어하우스 : 대량의 데이터를 분석 목적으로 저장
- 데이터 레이크 : 정형, 비정형 데이터를 저장할 수 있는 대규모 저장소
3. 데이터 처리
● 데이터를 변환하고 처리하는 과정
4. 데이터 통합
● 여러 소스의 데이터를 하나로 통합하여 분석과 활용이 가능하도록 만드는 과정
5. 데이터 거버넌스
● 데이터의 품질, 보안, 규정 준수를 관리하기 위한 정책과 절차
- 메타 데이터 관리 : 데이터에 대한 설명 및 맥락 제공
- 데이터 보안 및 프라이버시 : 데이터 보호 및 접근 제어
6. 데이터 활용
● 데이터를 분석, 시각화, 모델링 등의 목적으로 사용하는 단계
● BI(Business Intelligence) 도구, AI/ML 모델 등
Data Architecture 설계 원칙
확장성 | 데이터 증가에 따라 아키텍처를 확장 가능해야 함 |
유연성 | 새로운 데이터 소스의 기술을 쉽게 통합할 수 있어야 함 |
신뢰성 | 데이터의 무결성과 품질을 보장해야 함 |
보안성 | 민감한 데이터가 안전하게 보호되어야 함 |
효율성 | 데이터를 처리하고 전달하는 과정이 최적화되어야 함 |
Data Architecture 유형
1. 중앙 집중형 데이터 아키텍처
● 모든 데이터가 중앙의 데이터 웨어하우스나 데이터베이스에 저장됨
● 관리와 통제가 용이하지만 확장성이 낮음
2. 분산형 데이터 아키텍처
● 데이터를 여러 위치에 분산 저장하고 처리함
● 확장성이 높으나 관리가 복잡할 수 있음
3. 하이브리드 데이터 아키텍처
● 온프레미스, 클라우드 환경을 결합하여 구성
● 유연성과 확장성을 모두 고려한 상태
Data Architecture 역할
1. 비즈니스 요구사항 지원
● 데이터 분석, 보고, 모델링 등을 통해 비즈니스 의사결정을 돕습니다.
2. 데이터 품질 향상
● 중복 데이터제거, 오류, 수정 등을 통해 신뢰할 수 있는 데이터를 제공합니다.
3. 규정 준수 보장
● GDPR, HIPAA 등의 데이터 관련 규정을 준수할 수 있는 체계를 만듭니다.
4. 효율적 자원 활용
● 데이터 저장소와 처리 기술을 최적화하여 비용을 절감합니다.
샘플
첫 번째는 제가 졸업작품 제작 당시, 설계안 아키텍처를 설명드리려고 합니다.
저는 전공이 개발쪽이어서 시스템 아키텍처라고 보는게 더 맞을 것 같지만
예시로 소개해드리고자 합니다.
Java Spring을 활용하여 DB와 Flask라고 하는 이미지 분석 서버에 데이터를 제공
NGINX와 React을 활용하여 User가 데이터를 보고, 입력할 수 있도록 구성
처음으로 아키텍처를 구성한 것이라 미흡할 수는 있으나,
핵심으로는 "데이터가 어떻게 보여지고, 생성되고, 관리되고 있는 점"입니다.
두 번째로는 요즘 사람들이 Excel을 정말 많이 활용하는데
제가 사용하고 있는 Power BI를 활용한 Data Architecture을 예시로 제작해보았습니다.
1. Excel을 활용하여 유저가 데이터를 입력한다.
2. 데이터를 입력한 파일을 구글 Cloud에 업로드 한다.
3. Cloud에 업로드 된 파일을 Power BI로 불러와 각종 시각화 및 Data QC 페이지를 제작한다.
4. QC 페이지를 모니터링 하면서 문제가 있는 데이터가 있을 경우 업로드한 파일을 User가 수정한다.
간단한 프로세스이지만 순환구조의 프로세스를 예시로 들었습니다.
마지막으로 조금 더 복잡하게 다양한 데이터 소스가 있는 아키텍처를 한 번 그려보겠습니다.
1. A회사는 Excel을 활용하여 데이터를 기입 후 구글 Cloud에 업로드 한다.
2. B회사는 본인들의 프로그램에 데이터를 기입 후 공유가 되고 있는 Database에 동기화를 해준다.
3. C회사는 PowerApps을 활용하여 데이터를 기입하고 제출 기능을 활용하여 Sharepoint에 업로드 한다.
4. Power BI에서는 3곳의 저장소를 참고하여 데이터 수집 및 분석을 하여 의사결정에 도움이 될 수 있는 지표를 분석 및 시각화를 진행한다.
5. 만약 Data 오류가 식별될 경우 담당 회사에서 수정 요청을 담당자는 수정 후 다시 업로드를 진행한다.
이상입니다.
감사합니다.
'Data & AI > Data 분석 입문' 카테고리의 다른 글
Data Engineering에 자주 쓰이는 Schema 과연 무엇일까? (0) | 2025.01.16 |
---|---|
Data의 Key, 조금 더 쉽게 말해줄게! (0) | 2025.01.06 |
데이터의 정의 (0) | 2024.12.29 |