기존 EFK에서 여러 문제점을 해결하고자 새롭게 고도화 작업을 진행하는 프로젝트이다.
해당 프로젝트를 고도화 진행한 이유는 다음과 같다.
xAPI는 mongoDB에 저장되어 있고 다른 mysql과 같은 데이터와 Flink에서 join 후, 가공하여 postgresql에 DataLake를 만드는 방법을 고려하고 있다.

Apache Superset은 대규모 데이터 탐색 및 시각화를 위한 현대적인 오픈소스 BI(Business Intellijence) 플랫폼이다. SQL 기반의 쿼리 작성과 직관적인 드래그 앤 드롭 방식의 차트 생성 기능을 제공하며, 다양한 데이터베이스와의 연결을 지원한다. 최신 버전에서는 성능 최적화와 사용자 경험 개선이 반영되어, 대시보드 렌더링 속도와 사용자 정의 기능이 강화되었다. 역할 기반 접근 제어(RBAC), 캐시 설정, 플러그인 확장성 등도 우수하여 엔터프라이즈 환경에서도 효과적으로 활용할 수 있다.

데이터 파이프라인은 간단하게 ETL (Extract-Transform-Load)의 약자로 추출, 변환, 적재로 이루어진 하나의 파이프라인이다. 상위 페이지의 아키텍처로 대입하면 Fluent-bit → Flink → PostgreSQL로 표현할 수 있다.
Extract Stage에서는 크게 두 가지를 고려해야 한다. 해당 데이터가 Stream인지 Batch인지 명확하게 구별해야 한다. 그래야 후에 전처리와 Load하는 과정 또한 실시간으로 처리를 해야할지 정할 수 있다.
근래 Extract에 사용되는 Beats, Fluent 등 Regular expression, Filter, Plugin 등을 활용하여 Normalization 진행할 수 있다. 하지만 HA 및 Integrity를 보장할 수 없으며 퍼포먼스 또한 Production 환경을 보장할 수 없다.
BI를 위한 데이터를 저장할 때, Batch로 진행할지 Stream으로 실시간에 가깝도록 처리할지 고민이였다.
데이터 양, 실시간 필요성 등을 고려하여 추후에는 두 방법 모두 필요하다 생각하였고 간단하게 예시를 남긴다.
배치로 데이터를 가공하는 Workflow로 수행하기 위해, Flink를 Bash Operation을 통해 수행하였다.