먼저 데이터 웨어하우스란 무엇인가?
OLAP이라고 부르기도 한다. OnLine Analytical Processing
데이터 분석과 활용을 목적으로 필요한 모든 내부 외부 데이터를 수집하여 저장하는 데이터베이스를 말한다.
즉 데이터 분석 및 활용을 목적으로 하는 사내 내부 고객을 위한 데이터베이스이며
처리속도 보다는 처리가능한 데이터의 크기가 더 중요하다.
결국은 클라우드 기반의 대용량 데이터베이스가 사용되는 것이 일반적인데 Snowflake, BigQuery, Redshift 등의 상용제품 이외에도 Hive, Presto, ClickHouse와 같은 오픈소스 계열도 있다. 오픈소스 계열의 경우에도 직접 설치해서 매니지하기는 쉽지 않다보니 많은 경우 클라우드에 있는 서비스를 쓰는 경우가 많다.
처리해야할 데이터의 크기가 너무 커지고 비구조화된 데이터가 많아진다면 조금은 더 스토리지 가까운 느낌이 드는 데이터 레이크를 도입하게 되고 요즘은 Delta Lake나 Iceberg와 같은 데이터 레이크하우스도 많이 쓴다. 뭐 이렇게 비슷비슷한 용어들이 많은지 모르겠다 :)
보통 데이터 시스템은 데이터 인프라의 일부로 데이터 엔지니어들이 관리하게 된다. 하지만 데브옵스, 데이터 인프라, 인프라 등의 다양한 이름의 조금은 다른 역할을 하는 팀이 관리하게 되며 이는 회사에 따라 조직에 따라 상이하다.
반면 프로덕션 데이터베이스는 아래와 같은 특징을 갖는다.
OLTP라고 부르기도 한다. OnLine Transaction Procrssing
서비스 운영을 위한 최소한 데이터를 저장하고 서빙하는 데이터베이스를 말한다
해당 서비스를 사용하는 외부 고객을 위한 데이터베이스이며 처리속도가 아주 중요하다. 이게 늦어지면 사용자 경험에 악영향을 끼치며 많은 경우 서비스 사고로 이어진다.
프로덕션 데이터베이스는 대부분 오픈소스 기반의 MariaDB(MySQL), PostgreSQL이 가장 많이 사용되는데 상용버전으로 Oracle이나 마이크로소프트의 SQL Server등이 있다.
오픈소스도 결국은 클라우드에서 제공해주는 서비스를 사용하는 것이 일반적이며 AWS의 RDS가 그 대표적인 케이스이다.
프로덕션 데이터베이스는 보통 서버 한대 짜리 솔루션인 경우가 많아서 용량에 문제가 생기면 보통 스케일 업의 형태로 CPU, 메모리, 디스크 등을 더 장착하여 해결하거나 슬레이브 서버들을 추가하여 읽기 용량을 확장하는 형태로 많이 간다.
프로덕션 데이터베이스는 기본적으로는 백엔드 엔지니어들이 주로 사용하지만 어느 시점에는 데브옵스 엔지니어들이나 SRE (Site Reliability Engineering)팀이 서비스 모니터링의 중요한 일부로 관리하는 형태로 넘어가게 되며 이 역시 회사에 따라 조직에 따라 상이하다.
데이터 웨어하우스의 관점에서 프로덕션 데이터베이스는 중요한 데이터 소스 중의 일부가 되며 데이터 파이프라인의 구축을 통해 프로덕션 데이터베이스의 내용을 데이터 웨어하우스(혹은 데이터 레이크 혹은 데이터 레이크하우스)로 복사하는 것이 필요하다. 다음 글에서는 데이터 웨어하우스의 일반적인 특징에 대해 알아보도록 하겠다.
다음 내용이 궁금하다면?
이미 회원이신가요?
2024년 10월 30일 오전 3:29