분류 전체보기 152

DW/ETL - Operational Data Storage(ODS)

개요이 글은 Operational Data Storage(이하 ODS)에 대해서 알아보고 데이터 웨어하우스와의 차이는 무엇인지 정리해보는 것을 목적으로 한다. 데이터를 통합하여 다루는 시스템을 하나 더 배움으로써 데이터를 관리하고 통합하는 측면의 지식의 폭을 더욱 넓힐 수 있다.ODS란?ODS는 여러 운영 시스템의 데이터를 하나의 데이터베이스에 통합하는 시스템이다. 이는 데이터 웨어하우스와 유사하다고 볼 수 있지만 ODS는 실시간 운영적 의사 결정을 지원한다는 점에서 차이가 난다..ODS와 데이터 웨어하우스의 차이점사용 목적: 데이터 웨어하우스는 주로 분석 및 전략적 의사 결정을 지원하는 반면 ODS는 실시간 또는 거의 실시간 운영적 의사 결정을 지원한다.데이터 갱신 빈도: 데이터 웨어하우스는 하루에 한..

BI 2024.07.04

DW/ETL - OLAP 큐브

개요OLAP 큐브는 데이터 분석을 위한 강력한 도구로 다차원 데이터 모델을 통해 데이터를 효율적으로 분석할 수 있도록 한다. 이 글에서는 큐브의 개념과 데이터 웨어하우스에서의 역할을 다루어보도록 하겠다.OLAP의 정의와 목적OLAP은 다차원 데이터 분석을 지원하는 기술로 대량의 데이터를 빠르게 쿼리하고 분석하는 데 중점을 둔다. 주요 목적은 사용자가 복잡한 쿼리를 수행하고 다양한 각도에서 데이터를 분석하여 의사 결정을 지원하는 것이다. OLAP 큐브로 접근하는 데이터는 물론 SQL 쿼리로 접근도 가능하지만 개발자가 아닌 실무자의 입장에서 SQL은 접근성이 낮고 SQL 개발자의 입장에서도 동적인 데이터 접근을 구현하기에는 한계가 있다. 이를 보완할 수 있는 것이 OLAP 큐브이다.다차원 데이터 모델OLAP..

BI 2024.07.03

DW/ETL - 관계형 데이터 베이스, 인메모리 데이터베이스

개요이번 글에서는 데이터 웨어하우스에서 사용되는 데이터베이스에 대해서 알아본다. 관계형 데이터베이스, 인메모리 데이터베이스에 대하여 대략적인 개념을 정리해보고 이를 통하여 데이터웨어하우스 측면에서 데이터 분석이 어떻게 이루어지고 발전했는지 확인한다. 관계형 데이터베이스관계형 데이터베이스는 데이터를 테이블 형태로 저장한다. 테이블은 행과 열로 구성되어 있으며 각 열은 특정 속성을, 각 행은 개별 데이터를 나타낸다. SQL이라는 언어를 통하여 데이터를 쿼리할 수 있다.테이블은 각 행을 고유하게 식별하기 위해 기본 키를 사용한다. 기본 키는 중복되거나 비어 있을 수 없으며 이를 통해 각 행을 유일하게 식별할 수 있다. 또한, 외래 키를 통해 다른 테이블의 기본키를 참조할 수 있다. 이를 통해 여러 테이블 간의..

BI 2024.07.02

DW/ETL - 스테이징 영역과 데이터 마트

개요데이터 웨어하우스의 두 가지 구성 요소 스테이징 영역과 데이터 마트에 대해서 알아본다. 둘은 데이터를 분석 가능한 형태로 변환하는데 중요한 역할을 한다. 이 두 가지 요소의 필요성과 구성에 대해서 자세히 살펴보도록 하겠다.스테이징 영역스테이징 영역은 ETL 프로세스에서 데이터를 추출한 후 임시로 저장하는 장소이다. 스테이징 영역의 주요 목적과 기능은 다음과 같다.데이터 추출:원천 시스템에서 데이터를 빠르게 읽어와 스테이징 영역에 저장한다. 소스 시스템의 성능 저하를 방지하기 위해 가능한 한 빨리 데이터를 추출하여 저장하는 것이 중요하다.데이터 저장:스테이징 영역에서는 다양한 형식의 데이터를 테이블 형태로 저장한다. 이는 CSV 파일, JSON 파일 등 다양한 형식을 관계형 데이터베이스 테이블로 변환하..

BI 2024.06.26

DW/ETL - 데이터 웨어하우스 레이어

개요데이터 웨어하우스는 현대 데이터 관리의 핵심 구성 요소로 방대한 양의 데이터를 효율적으로 저장, 검색, 분석할 수 있게 한다. 이번 글에서는 데이터 웨어하우스의 아키텍처를 구성하는 여러 레이어에 대해 깊이 있게 정리해보도록 하겠다. 각 레이어는 데이터의 무결성, 변환, 접근성을 보장하는 중요한 역할을 한다.데이터 웨어하우스의 레이어데이터웨어하우스는 여러 레이어로 구성되어 있다. 각 레이어는 특정한 역할을 담당하며 데이터를 체계적으로 관리하고 가공한다.스테이징 레이어 (Staging Layer)스테이징 레이어는 다양한 형식과 파일의 소스 데이터를 첫 번째 레이어로 추출하는 단계이다. 이 단계에는 데이터를 가능한 한 원본 그대로 유지하면서 테이블 형태로 저장한다. 예를 들어 여러 부서의 직원 테이블이 C..

BI 2024.06.26

DW/ETL - 데이터 레이크와 데이터 웨어하우스

개요데이터 웨어하우스와 데이터 레이크는 모두 데이터를 저장하는 중앙 집중화된 장소를 제공하지만, 이 두가지는 그 목적과 사용 방법에서 다르다. 이번 글에서는 데이터 레이크와 데이터 웨어하우스의 차이점을 이해하고, 각각의 기술이 언제 사용되는지 다루어보겠다.데이터 웨어하우스데이터 웨어하우스는 주로 분석과 비즈니스 인텔리전스를 위해 사용된다. 주요 특징은 구조화된 데이터, 고성능 쿼리, 사용자 친화적, 특정 목적 지향으로 다룰 수 있다. 이는 앞선 글에서도 다루었기에 자세히 다루지는 않겠다.데이터 레이크데이터 레이크는 다양한 형식의 원시 데이터를 저장하는데 사용된다. 주요 특징은 다음과 같다.비구조화된 데이터: 구조화되지 않은 원시 데이터, 예를 들어 JSON, XML 파일, 이미지, 비디오 등을 저장한다...

BI 2024.06.24

DW/ETL - BI 이해

개요데이터 웨어하우스는 비즈니스 인텔리전스(BI)를 위해 구축된다. BI는 데이터를 통해 의미 있는 인사이트를 도출하여 더 나은 의사결정을 내리는 것을 목표로한다. 이번 글에서는 BI의 정의와 중요성, 그리고 데이터 웨어하우스의 역할에 대해서 다루어보겠다.비즈니스 인텔리스전스(BI)란 무엇인가?비즈니스 인텔리전스는 데이터 수집, 통합, 분석, 시각화 보고서를 통해 기업의 현황을 파악하고 미래를 예측하며 전략적 의사 결정을 지원하는 일련의 과정과 기술을 의미한다. BI는 데이터를 정보로 정보를 인사이트로, 인사이트를 행동으로 변환하는 것을 목표로 한다. 역할의 중요성을 정리하자면 아래와 같다.의사결정 지원: BI는 정확하고 신뢰할 수 있는 데이터를 바탕으로 의사결정을 지원한다.운영 효율성 향상: BI 도구..

BI 2024.06.23

DW/ETL - 데이터웨어하우스의 이해

개요데이터웨어하우스는 분석 목적을 위해 최적화된 데이터베이스이다. 이번 글에서는 데이터웨어하우스의 정의와 역할, 그리고 데이터 웨어하우스를 구축하기 위한 핵심과정인 ETL 프로세스에 대해 자세히 다루어보겠다.데이터 웨어하우스의 정의와 필요성데이터 웨어하우스는 사용자가 데이터를 쉽게 이해하고 분석할  수 있도록 설계된 데이터베이스이다. 주요 특징은 다음과 같다.사용자 친화적: 기술적으로 복잡하지 않고 데이터 분석가가 쉽게 데이터를 검색하고 처리할 수 있도록 최적화 되어 있다.빠른 쿼리 성능: 대량의 데이터를 빠르게 처리할 수 있어야 한다.중앙 집중화 다양한 출처에서 데이터를 모아 일관된 구조로 저장한다.운영 데이터 시스템과의 차이점운영 데이터 시스템(OLTP)는 주로 판매 데이터, HR 시스템 CRM 시스..

BI 2024.06.22

DW/ETL - 데이터 웨어하우스의 필요성

개요BI/OLAP 개발자로서 데이터웨어하우스와 ETL, 차워 모델링에 대한 개념을 정리할 필요를 느꼈다. 이에 대한 관련 지식을 정리하면서 하나씩 써내려갈 생각이다. 가장 먼저 데이터 웨어하우스가 왜 필요한지를 짚어보는 것을 첫번째 주제로 삼았다. 데이터 웨어하우스는 기업의 운영과 분석에 필수적인 요소이다. 데이터의 효율적인 사용을 통해서 기업은 조직 운영을 원활히 하고 미래를 위한 전략적인 결정을 내릴 수 있다. 데이터의 두 가지 사용 목적을 OLTP, OLAP으로 나누어 살펴보고 이를 통해 데이터 웨어하우스의 필요성을 정리할 수 있도록 하겠다.OLTP( Online Transactional Processing )운영 데이터는 기업의 일상적인 활동을 지원하는데 사용된다. 여기에는 주문 접수 및 이행, ..

BI 2024.06.21

평생 공부할 생각

의외로 주변에 평생 공부할 생각을 가진 개발자는 그다지 없는 듯하다.내가 상상하던 개발자는 평생 공부할 생각을 가지고 사는 사람이었다.새로운 기술에 관심을 가지고 어떻게 하면 더 나은 시스템을 만들 수 있을지를 고민하는 사람이었다.내가 너무 이상적인 개발자의 상을 상상했던 것인지 모르겠다. 주변에 개발을 재미있어하고 일할 때만은 엄청나게 몰입해서 문제에 집중하고 풀어나가는 사람은 많다. 그런데서 즐거움을 느끼는 것만으로도 개발이 적성에 맞는다고도 할 수 있다. 하지만 평생 공부할 생각을 하는 사람은 그다지 없는 듯했다. 한 번은 누군가가 프론트엔드 개발자는 되기 싫다고 하는 이야기를 들은 적이 있다. 그 이유라는 게 매번 프레임워크가 바뀌니 새로운 공부를 해야할 것이 부담이라는 것이었다. 그 이야기를 들..

개발일기 2024.06.21