1 / 39

통합 차원 모델인 UDM 과 Real Time 분석을 위한 Proactive Caching 활용

통합 차원 모델인 UDM 과 Real Time 분석을 위한 Proactive Caching 활용. 우철웅 수석 (chwoong@inbrein.com) 위드비 (withBI). Overview. 통합차원모델 소개 AS 2005 아키텍처의 변화 AS 2005 의 통합차원모델 Real Time 분석을 위한 Proactive Caching 활용 캐시란 캐싱 작업 시점 관리 저장소 디자인 대기시간과 성능 조율. Analysis Services. ODBO.

livvy
Download Presentation

통합 차원 모델인 UDM 과 Real Time 분석을 위한 Proactive Caching 활용

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 통합 차원 모델인 UDM과 Real Time 분석을 위한 Proactive Caching 활용 우철웅 수석(chwoong@inbrein.com) 위드비 (withBI)

  2. Overview • 통합차원모델 소개 • AS 2005 아키텍처의 변화 • AS 2005의 통합차원모델 • Real Time 분석을 위한 Proactive Caching 활용 • 캐시란 • 캐싱 작업 시점 관리 • 저장소 디자인 • 대기시간과 성능 조율

  3. Analysis Services ODBO SQL Server 2000 Analysis Services SQL Server DW/ DM Teradata Cube OLAP Clients Oracle DB2

  4. Spreadsheets Analysis Services SQL Server Datamart BI Front Ends ODBO XML/A or ODBO UDM Cube Ad-Hoc Reports OLAP Clients Rich Reports Oracle DB2 LOB Cache Dashboards SQL Server 2005 Analysis Services DW Teradata

  5. Analysis Services XML/A ODBO XML/A 2000 To 2005 아키텍처 변화 PTS Management Studio Development Studio MDX Engine MDX Engine DDL Storage Engine AMO MOLAP PTS XML SDK XML Files MDX Engine

  6. Analysis Services ODBO XML/A 2000 To 2005 아키텍처 변화 PTS Analysis Manager MDX Engine Storage Engine DSO MOLAP PTS XML SDK Repository MDX Engine

  7. Analysis Services ODBO XML/A 2000 To 2005 아키텍처 변화 Management Studio Development Studio Driver MDX Engine DDL Storage Engine AMO MOLAP XML Files Analysis Services 2005 Architecture

  8. Demo • 개발 환경 • 데이터 원본 만들기 • 큐브 만들기 • 큐브 처리 : 빌드, 배포, 처리 • 큐브 조회

  9. 데이터 원본 뷰의 목적 • 관련된 모든 테이블을 하나의 스키마로 정의 • 물리 계층과 논리 계층의 분리 • 원본 데이터베이스에 권한이 없더라도 논리적인 뷰 생성 가능 • 논리적인 Primary key와 Relationship 설정 • 원본 데이터베이스로부터 큐브 생성 용이

  10. 데이터 원본 뷰 커스터마이징 • 원본 테이블로부터 커스터마이징 방법 • 명명된 컬럼 추가 • 명명된 쿼리 추가 • 명명된 쿼리의 장점 • 성능의 영향을 미치지 않음 • 조인과 필터 등의 유연함

  11. AS 2005 차원 • OLAP과 관계형을 결합한 통합 차원 모델 • OLAP: 계층적 통계 분석 가능한 정보 • Reporting: 풍부하고 상세한 정보 • 설계의 주안점 • 데이터 원본으로부터 전체의 모든 것 수용 • 효과적인 계층적 항해 경로 제공 • 대용량 지원을 위한 스케일 & 그에 따른 효과적인 쿼리 수행 • 복잡한 연결 관계 허용 • 별모양 스키마와 눈송이스키마를 넘어

  12. AS 2005의 차원은 특성(Attribute)을 근간으로 함 • AS 2005의 차원은 완벽한 비즈니스 엔티티를 표현함 • Customer, Product, Channel 등 • 특성(Attribute)은 엔티티 내의 모든 속성을 표현 • Name, Description, Size, Price 등 • 계층(Hierarchies)는 특성간의 항해를 단순화하기 위한 방법 • 계층 및 수준은 드릴다운 경로를 정의하기 위해 • PCategory-PSubCategory-Product • 기본적으로 각각의 특성은 자체의 계층 및 수준을 가짐 • 한 레벨(Single Level)

  13. Demo • 데이터 원본 뷰 만들기 • 차원 만들기 • 특성 만들기 • 계층 및 수준 만들기 • 속성 만들기 • Display Folders 추가

  14. 차원의 확장된 범위 및 용량 • AS 2005 차원의 넓어진 범위. • RDBMS의 모든 컬럼은 차원의 특성(attribute)이 될 수 있음 • 모든 특성은 AS2K의 가상 차원과 유사 • 레포트에서 가장 낮은 레벨의 상세 정보를 기대함 • invoice number, line number 등 • 한 부모당 64K 멤버에 대한 제약은 없어짐 • 특성 계층엔 모든 멤버가 들어가야 하므로

  15. 차원 아키텍처 • 팩트와 동일한 구조로 저장됨 • “dimensions”의 속성과 함께 “fact table”처럼 취급됨 • 대량 차원에 대한 쿼리를 위한 효과적인 저장 지원 Customers ID Phone State Age

  16. Demo • 다양해진 연결 및 조합 • 다대다(Many to many) • 번역(Translations) • 큐브 뷰(Perspectives)

  17. AS 2005 주요 개체 관계 차원(Dimension) 측정값 그룹 팩트 차원 관계 특성(Attribute Hierarchy) 측정값 그룹(Measure Group) Display Folder 특성 관계 측정값 속성(Attribute) 계층(User Hierarchy) 큐브 뷰(Perspective)

  18. 캐시란? • 시스템 성능 개선 또는 유지 보수의 투명성을 필요로 하는 주요자원에 대한 데이터 복사 • 예 : IE 웹 페이지, IIS, 디스크 캐시, CPU 메모리 캐시 • 캐시의 사용의 간결함 • 웹 개발자가 웹 페이지 캐시에 대해 고민하지 않음 • 캐시 기능 지원을 위한 기술적인 고민 • 일치(Coherency)–원 데이터 소스와 일관성 유지 • 낮은 대기(Low Latency)–원 소스의 변경분에 대해 가능한 작은량을 한번에 최소 주기로 반영 . • Real time = 0 latency

  19. AS의 Proactive Caching • 복합적 요건 해결 • OLAP 쿼리 성능 • Real Time 데이터 수용 (필요에 따라) • 운영 자동화 • 관계형 데이터베이스와 자동 동기화 • 명시적인 “cube processing”배제

  20. 성능(쿼리 응답 시간) 대기시간 성능과 대기시간과의 Trade-Off 시간

  21. Update SQL Query MDX XML/A or ODBO UDM Update Notification New Version Cache Proactive Caching 과정 Analysis Services

  22. SQL Query MDX XML/A or ODBO UDM New Version Cache Proactive Caching 과정 Analysis Services

  23. Proactive Caching 도전 과제 • 효율 • 빈번한 갱신으로 인한 시스템적 부하를 어떻게 해결할 것인가? • 캐시를 어떻게 빠르게 반영시킬 수 있을까? • 성능: • 잠복과 성능간의 조화를 어떻게 이룰 것인가? • 알림(Notifications) • RDBMS에서 무엇이 변경되었는지 Analysis Services가 어떻게 인지할 수 있을까?

  24. 캐싱 작업 시점 관리 • 종종 일정 시간 동안 동시 다발적으로 데이터 원본 갱신이 이루어 진다면? • 각각의 모든 갱신 데이터에 대해 AS는 재캐싱을 어떻게 피할 수 있을까? • 서버 전체의 과도한 자원 사용 • 해결안 : 대기 간격(Silence Interval)옵션 • Notification에 의한 변경 알림을 받으면, AS는 이후 설정한 대기 시간 동안 변경으로 인한 알림이 없는지 대기

  25. Demo • 대기 간격(Silent Interval) 적용

  26. 대기시간과 성능 조율 • 실제 Real Time을 원하는 것인가? • 성능 향상을 위해 사용자가 원하는 대기시간을 어느 정도 인가? • 사용자가 원하는 최대 대기시간의 보장은? • 오래된 캐시 삭제 대기 시간(Maximum Latency)으로 실효성 없는 캐시를 제어

  27. Update SQL Query MDX XML/A or ODBO UDM Update Notification New Version Cache Proactive Caching 과정 Analysis Services Latency Silence Interval

  28. SQL Query MDX XML/A or ODBO UDM New Version Cache Proactive Caching 과정 Analysis Services

  29. 일률적인 성능 유지 • 성능이 일류적이지 않은 시스템에 대해 불만이 높을 수 있음 • 일률적으로 늦은 시스템이 빠르다가 종종 늦은 시스템 보다 적합할 수 있음 • 일률적인 성능보장을 위해 자동 MOLAP 사용 고려 • 자동 MOLAP = ROLAP 전환 없음 • 오래된 캐시 삭제(Maximum Latency) = -1

  30. 통합차원모델로부터 자료 조회 OLAP Caching Application System Operational Data Store Staging Tables Star Schema UDM Structure Reporting Tool

  31. Demo • 저장소 디자인 • 캐시 옵션 설정

  32. 연속적인 원시 자료 갱신 • OLTP 시스템 또는 소량의 짧은 갱신 주기를 갖는 DW인 경우는 계속적으로 캐시를 갱신하려 함 • 문제 : 모든 것은 받아들여 캐시할 시간이 없음 • 많은 시작 실패 또는 대기 간격을 넘기지 못함 • 해결안 • Real Time ROLAP 사용 포기 • 대기 대체 간격(Silence Override)과 함께 자동 MOLAP 사용 • 예약된 MOLAP 사용

  33. 데이터 변경 감지 • 문제 • 데이터의 변경에 대해 어떻게 인지할 수 있을까? • 해결안 • 추적 이벤트 엔트리 사용 • Service를 호출하는 알림 응용프로그램 설정 • SQL 쿼리를 이용한 데이터 원본 폴링

  34. 알림(Notifications) : 추적 이벤트 • SQL Server만 지원 • admin 권한 필요 • Event 전달에 대해 보장하지 못함 • AS 개체를 위해 추적 테이블을 명시할 수 있음 • 알림 설정 방법 • 클라이언트 시작 : XMLA 명령 NotifyTableChange를 사용 • 추적 테이블 지정 : 추적할 기본 테이블을 지정 • 예약된 폴링 : 일련의 쿼리를 실행하여 변경 내용을 식별

  35. 캐시 재생성 옵션 정책

  36. Scaling Up • 대용량 데이터에 대해 어떻게 핸들링 할 것인가? • 모든 변경에 대한 전체 캐시의 재생성은 상당한 비용 발생 • 해결안 • 파티션 사용 • 캐시에 대한 증분 업데이트 설정

  37. 통합차원모델 및 AS 2005 요약 • 다양한 분석을 지원하기 위한 AS 2005 아키텍처의 재구성 • 집중화된 서버 아키텍처 • 수백개의 계층과 함께 대용량 차원을 지원하기 위한 새로운 차원 아키텍처 • Star Schema에서의 집계 데이터 수준을 넘는 • Old & New • 제거 : 가상 차원, 가상 큐브 • 도입 : UDM, 큐브 뷰(perspectives), KPIs, 번역(translations)

  38. AS Proactive Caching 요약 • 복합적 요건 해결 • OLAP 쿼리 성능 • Real Time 데이터 수용 (필요에 따라) • 운영 자동화 • 관계형 데이터베이스와 자동 동기화 • 명시적인 “cube processing”배제 • 캐싱 정책 수립과 설정으로 짧은 대기시간과 높은 성능을 유지할 수 있음

  39. Q & A 감사합니다.

More Related