
데이터 엔지니어링
데이터 엔지니어링은 원천 데이터를 적합한 스토리지 아키텍처로 인제스트하여 트랜잭션, 애널리틱스, 기계 학습 등 사용사례에 맞게 변환 및 서빙을 하는 프로세스와 시스템을 설계, 구현 및 운영하는 영역이다. 데이터 엔지니어링은 데이터 보안, 데이터 관리, DataOps, 데이터 아키텍처, 오케스트레이션과 SW 엔지니어링을 종합적으로 적용한다. 이 영역은 NoSQL 데이터 스토리지 기반의 빅데이터의 설계, 구현, 활용 뿐 아니라 전통적인 Relational 데이터베이스의 설계, 구현, 활용 방법도 포함한다.데이터의 온라인 프로세싱, 배치 (오프라인) 프로세싱, 스트리밍 (니어라인) 프로세싱의 기법과 툴에 관해서도 학습한다. 분산 데이터(Distributed Data)에서 Replication, Partitioning, Transaction ACID 관련된 이슈들과 해결 기법에 대해 학습한다.
아래의 2개 영역 별로 제목 또는 이미지를 클릭하면, 관련된 다양한 주제에 대한 교육 과정들과 블로그들이 게시된 페이지로 연결된다. (밑줄이 없는 영역은 아직 게시물이 안 올라간 영역임.)
관계형 DB의 개념 수준 모델(시맨틱 데이터 모델)과 논리 수준 모델(제5정규형 테이블 스키마)의 설계. 시맨틱 모델에서 테이블 스키마로의 변환 (ORM) 알고리즘. 시맨틱 모델에서 관계형 DB의 자동 생성 툴. 온라인 트랜잭션 처리(Online Transaction Processing: OLTP)를 위한 SQL 프로그램 작성과 실행 방법 (JDBC, ORM 프레임워크, JPA, Stored Procedure 등). RDB 기반의 Data Warehouse의 설계, 구축과 활용.
다양한 원천 데이터의 이해. 파일, 블록 또는 옵젝트 스토리지 기반의 데이터 웨어하우스, 데이터 레이크, 데이터 레이크하우스 등 데이터 스토리지 구축. Lambda 아키텍처, Kappa 아키텍처, 데이터 Mesh, 데이터 Fabric 등의 데이터 아키텍처 설계. Batch 및 스트림 인제스천. Batch 및 스트림 데이터 모델링과 변환. NoSQL 데이터베이스의 설계, 구현과 Query 프로그래밍. 애널리틱스 및 기계 학습을 위한 데이터 서빙. 데이터 보안과 개인정보 보호. 분산 데이터의 설계와 분산 트랜잭션 관리.


