ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [빅데이터의 탐색] 4. 데이터 마트의 기본 구조
    책/빅데이터를 지탱하는 기술 2022. 3. 23. 15:36
    반응형

    이 글은 빅데이터를 지탱하는 기술을 읽고 정리한 글입니다.


     

     

     

    1. 시각화에 적합한 데이터 마트 만들기


    OLAP(OnLine Analytical Processing) 구조는 BI 도구에 있어서 핵심적인 개념 중 하나이다. 데이터 디스커버리를 위한 BI 도구는 OLAP의 개념을 몰라도 사용할 수 있도록 고안되어 있기 때문에 상관 없지만, 데이터 마트를 구축할 때는 OLAP 개념 지식이 필요하다.

     

    - 다차원 모델과 OLAP 큐브

    OLAP는 데이터 집계를 효율화하는 접근 방법이다. RDB는 표 형식으로 모델링된 데이터를 SQL로 집계한다면, OLAP는 다차원 모델의 데이터 구조를 MDX 등의 쿼리 언어로 집계한다. 이렇게 데이터 분석을 위해 만들어진 다차원 데이터를 OLAP 큐브라고 부르며, 그것을 크로스 집계하는 구조가 OLAP이다.

    BI 도구는 본래 OLAP의 구조를 사용하여 데이터를 집계하기 위한 소프트웨어로 데이터 마트도 옛날에는 OLAP 큐브로 작성되어 있었다.

     

    - MPP 데이터베이스와 비정규화 테이블

    이전에는 데이터를 집계할 때 OLAP  큐브를 위한 특별한 구조를 준비했었는데, 최근에는 MPP 데이터베이스와 인 메모리 데이터베이스등의 보급으로 BI 도구와 MPP 데이터베이스를 조합하여 크로스 집계하는 경우가 증가하고 있다.

    BI 도구로 원하는 그래프를 만들기 위해서는 만들고 싶은 그래프에 맞추어 다차원 모델을 설계해야 한다. 그러나 MPP 데이터베이스는 다차원 모델이라는 것은 없어서 이것을 대체할 비정규화 테이블을 준비하면 기존의 OLAP와 동등한 시각화를 실현 할 수 있다.

    그래서 시각화에 적합한 데이터 마트를 만드는 것은 BI 도구를 위한 비정규화 테이블을 만드는 프로세스이다.


     

     

     

    2. 테이블을 비정규화하기


    데이터베이스의 설계에서 트랜잭션은 시간과 함께 생성되는 데이터를 기록한 것이고, 마스터는 트랜잭션에서 참고되는 각종 정보이다. 이때 트랜잭션은 한 번 기록되면 변화할 수 없지만, 마스터는 상황에 따라서 바뀌게 된다.

    RDB에서는 테이블 관계를 고려하면 관계형 모델이 되고, 이런 테이블을 분석하기 위해서는 정규화의 개념을 통해 데이터를 분해할 수 있는 방법을 알아야한다.

     

    - 팩트 테이블과 디멘전 테이블

    데이터 웨어하우스에서 트랜잭션처럼 사실이 기록된 것을 팩트 테이블이라고 부르고, 거기에 참고되는 마스터 데이터는 디멘전 테이블이라고 부른다. 이때 집계 데이터는 주로 팩트 테이블에 기록되고, 데이터를 분류하기 위한 속성값은 디멘전 테이블에 기록된다.

     

    - 스타 스키마와 비정규화

    데이터 마트를 만들 때는 팩트 테이블을 중심으로 여러 디멘전 테이블을 결합하는 것이 좋다. 이렇게 결합해보면 별 모양이 되므로 스타 스키마라고 부른다. 하지만 요즘에는 사용하지 않는다.

     

    스타 스키마의 장점

    - 단순하기 때문에 이해하기 쉽고, 데이터 분석도 쉽게 할 수 있다.

    - BI 도구도 스타 스키마의 테이블에 효율적으로 쿼리를 실행할 수 있다.

    - 데이터양이 증가하면 팩트 테이블 크기가 커져서 데이터 집계 시간이 늘어나게 되는데, 고속화를 위해 팩트 테이블을 될 수 있는한 작게 만들 수 있어서 데이터 집계 시간이 빨라진다.

     

    - 비정규화

    디멘전 테이블을 작성할 때 정규화에 의해 분해된 테이블을 최대한 결합하여 하나의 테이블로 정리한다. 이것은 정규화와 반대되는 작업이므로 비정규화라고 부른다. 이때 데이터가 중복되어도 상관이 없다.

     

    - 비정규화 테이블

    데이터 마트의 성능적인 문제는 스타 스키마가 없이도 열 지향 스토리지에 의해 해결이 된다. 열 지향 스토리지는 칼럼의 수가 많아져도 성능에 영향을 주지 않아서 스타 스키마를 좀 더 비정규화하여 모든 테이블을 결합한 팩트 테이블을 비정규화 테이블이라고 부른다. 그래서 대부분의 경우에는 하나의 거대한 비정규화 테이블로 하는 것이 가장 단순하고 효과가 좋다.

     

    * 데이터 웨어하우스의 테이블 구조는 스타 스키마가 우수하다.


     

     

     

    3. 다차원 모델 시각화에 대비하여 테이블을 추상화하기


    BI 도구의 기본이 되는 데이터 모델로 만드려면 비정규화 테이블을 다차원 모델에 의해 추상화를 해야한다. 다차원 모델의 칼럼은 디멘전과 측정값으로 분류되는데, 디멘전은 크로스 집계에 있어서의 행과 열을 이용하는 것이고, 측정값은 숫자 데이터와 그 집계 방법(SUM, MAX)을 정의하는 것이다.

     

    * 모델의 정의 확장

    BI 도구를 이용한 데이터의 시각화는 먼저 시각화하고 싶은 측정값과 디멘전을 결정하고, 이후 데이터 마트에 비정규화 테이블을 만들고 그것을 BI 도구로 시각화하면 된다.

    이때 다차원 모델의 정의는 나중에 확장될 수 있고, 비정규화 테이블에는 다수의 칼럼이 추가되고 거기에서 다수의 그래프가 생성된다. 이렇게 해서 만들어진 비정규화 테이블을 모아둔 것이 BI 도구를 위한 데이터 마트이다.


     

     

    반응형

    댓글

Designed by Tistory.