본문 바로가기
반응형

공부-Data Engineer8

[쉽게 설명한] 데이터 웨어하우스 데이터 웨어하우스(data warehouse)란 영어 그대로 데이터 창고를 말한다. 그러면 데이터 창고가 왜 필요할까? 창고는 대량의 물건을 쌓아두고 사용하기 위한 장소이다. 데이터 웨어하우스도 똑같다. 대규모의 데이터를 처리(사용)할 때 단일(작은) 데이터베이스로는 충분하지 않아 데이터 창고를 사용한다. 데이터를 쌓아두고 사용하는 장소는 데이터 웨어하우스 말고 데이터 레이크, 데이터 마트도 있지만 모두 사용목적이 다르다. 이 챕터에서는 데이터 웨어하우스를 알아보자! 데이터 웨어하우스의 가장 큰 사용목적은 비즈니스 관점에서 사용자(고객, 직원 등) 또는 부서(마케팅, HR 등)에 의사결정을 지원하기 위해 방대한 데이터를 효율적으로 통합하여 분석 및 보고하는 것이다. 무슨 말인지 아래 그림을 보면서 이해하.. 2020. 6. 15.
[쉽게 설명한] 데이터베이스 정규화 정규화, 비정규화는 데이터베이스 설계에 사용되는 프로세스이다. 쉽게 말하면 정규화는 여러 규칙(제약조건)을 사용해 데이터베이스를 완벽하게(이상현상 없게) 설계하는 방법이고 이를 통해 데이터베이스에 저장된 데이터의 무결성을 향상시킨다. 비정규화는 데이터베이스의 완벽한 구조설계를 포기하고 데이터의 무결성을 떨어트리는 대신 데이터베이스의 읽기(Read)성능 향상을 위한 설계 방법이다. (정규화 비정규화에 대한 정의는 조금씩 다르지만 내용은 같으니 걱정하지 말자.) 이 챕터에서는 정규화(Normalization)를 살펴보자(비정규화 링크는 여기) 정규화 방법은 문제가 생길 수 있는 커다란 테이블을 문제가 없도록 작은 테이블로 나누는 것이다. 하지만 나누는 정도에 따라 규칙(제약조건)이 있고 그 정도를 정규형(N.. 2020. 6. 11.
[쉽게 설명한] 데이터베이스 비정규화, 역정규화 이 챕터에서는 비정규화를 살펴보자(정규화 링크는 여기) 사실 역정규화와 비정규화가 같은 의미로 쓰이는 것 같지만 엄연히 말하면 다르다. 비정규화(Unnormalized form)는 정규화된 테이블(릴레이션)을 읽기성능 향상을 위해 테이블을 다시 합치는 방법을 말하고 역정규화(Denormalization)는 정규화된 테이블을 비정규화 상태로 만들기 위한 방법 중 하나이다(비정규화가 더 포괄적임). (※역정규화, Entity합체, Entity분해 등 여러 방법이 있지만 역정규화가 일반적이다) 하지만 여러군데 자료들을 찾아보니 비정규화하고 역정규화를 같은 의미(여러 비정규화 방법 중 역정규화 의미 쪽으로)로 사용하는 곳이 많았다. (※혹시나 해서 용어 구분을 했지만 너무 신경 쓰지 말자. 어차피 역정규화 내용.. 2020. 6. 10.
[쉽게 설명한] OLTP, OLAP OLTP, OLAP는 약자가 비슷해 보이지만 사용 용도가 전혀 다른 정보시스템 용어이다. 먼저 OLTP는 온라인 트랜잭션 처리(Online transaction processing)의 약자로 여기서 트랜잭션은 관계형 데이터베이스 때 공부했던 트랜잭션과 같은 말이다. OLTP의 가장 큰 목적은 간단한 쿼리를 이용해 빠르게 데이터를 처리(INSERT, UPDATE, DELETE)하는 것이다. 온라인 서점을 예로 든다면 새로운 책이 나왔다 → 목록에 책이름, 가격, 수량 추가(INSERT) 기존 베스트셀러 책이 추가 입고되었다 → 책 수량 변경(UPDATE) 책 판매가 중단됐다 → 목록에서 책 정보 삭제(DELETE) 이렇게 OLTP는 데이터베이스를 편리하게 관리(운영)하도록 도와준다. 쇼핑몰 같이 OLTP를.. 2020. 6. 9.
[쉽게 설명한] NoSQL NoSQL 약자의 의미는 여러 가지가 있는데 대체로 Not only SQL가 쓰인다. 그 의미는 SQL를 안쓴다는 것이 아니라 SQL 뿐만 아니라 다른 기능도 지원한다는 뜻이다. NoSQL는 관계형 데이터베이스보다 더 다양한 데이터(정형데이터 뿐만아니라 비정형, 반정형 데이터도)를 저장할 수 있고 데이터 저장과 검색에 있어서 매우 뛰어난 성능을 나타낸다. 그러면 NoSQL을 사용하는 이유에 대해 자세히 알아보자. 1. 다양한 데이터 형식을 저장할 수 있다 위에서 말한것처럼 정형, 비정형, 반정형 데이터 모두 처리가 가능하다. 그 이유는 유연한 스키마 때문이다. 위 그림처럼 관계형 데이터베이스의 경우 다른 형식(?)의 데이터가 들어오면 필요한 column을 추가하고 스키마를 정의(집주소column에 들어갈.. 2020. 6. 8.
[쉽게 설명한] 관계형 데이터베이스 관계형 데이터베이스는 정형 데이터가 저장되는 데이터베이스이다. 위 그림처럼 데이터베이스에서는 행, 열을 부르는 용어가 있는데 몇 개 없으니 외우자. 그리고 행과 열이 이루는 표를 테이블 또는 릴레이션이라고 부른다. 앞으로는 표가 아니라 테이블, 행을 row 열을 column이라고 부르겠다. (※ 행은 row, Tuple 말고 record라는 파일 시스템 용어도 잘 사용함) 그럼 관계형이라는 말은 왜 붙을까? 위 그림 은 3가지(물품번호, 물품이름, 수량) 속성 이름이 있는데 이 속성이름 하나하나를 스키마(Schema)라고 부른다. 여기서 물품번호는 {1,2,3} 물품이름은 {축구공, 농구공, 야구공} 수량은 {2, 2, 5}라는 원소를 가지고 있다. 이러한 스키마의 원소집합은 인스턴스(Instance)라.. 2020. 6. 4.
반응형