BI 개발 그리고 실용적인 활용방안 A To Z ㈜위세아이텍 김상수 책임 이 주제를 이해하는데 필요한 지식 • • • • BI 기본 지식 SSIS(ETL) 경험 SSAS(OLAP) 경험 엑셀 사용 100 개념 및 소개 수준 200 300 중간 수준 400 고급 수준 200에 Level 340 100에 더하여 선수 지식 더하여 능숙한 사용 불필요 기술적 세부 경험, 사항 설명 아키텍처 지식 필요 전문가 수준 강사소개 • [경력] – – – – – (현) 위세아이텍 연구소 근무 H정부기관 성과분석 BI S생명 보험리스크 관리 BI D사 구매관리 BI S통신사 채널고객통합 BI • [활동 커뮤니티] 1990년부터 CRM, BI, DI 솔루션 및 구축 회사 국내에서 가장 오래되고, 최대 MSSQL 커뮤니티 현직 DBA 30명이 함께하는 오프라인 스터디 모임 목차 • • • • Intro DW – SSIS – SSIS 프레임 워크 – ODS 변경감지 OLAP – SSAS – 분석 기본 – 분석 고급 – STD 이겨내기 – 리얼 VS 거의 리얼 – 처리큐브 ? 운영큐브 ? – 캐시 불태우기 – ASSP & 연결된 서버 SQL 2011(Denali) NF 여러분들은 이미 300? W : DB기본, 데이터분석, ETL(SSIS), Ad-Hoc쿼리 작성, 데이터정합성체크, 배치등록(SQL Agent), 다차원모델링, 큐브작성, 큐 브정합성체크, 레포트개발(SSRS, EXCEL, PowerPivot), MOSS운영, 분석DB운영, 데이터표준화, DB서버관리, OLTP 바쁘면 모델 링투입, 데이터아키텍쳐 검증, 배치모니터링, 등등등… C : RDB, BI, OLAP, BSC, UDM, DW, DM, ETL, DQ, META, MDM……… T : SSMS, BIDS(SSIS, SSAS, SSRS), RB, SQL Agent, MOSS, EXCEL, PowerPivot …. 이대로는 당할 수는 없다. 최고의 전략, 최고의 준비, 최고의 성공적인 BI 프로젝트를 만드는 게 이번 세션의 목표 데이터를 맞이할 준비 ENT 1024K 64BIT 8G Temp Simple Partition Compress Optimizer Parallel eNTer테인먼트에 입사 오늘부터 의 BI팀의 일원 eNTer 두 가지 주제영역 OLTP DM 다차원모델링 인터넷 회원 연예인 회원수, 연령대별, 성별, 지역, 연예인 선호 앨범판매 구매수, 구매금액, 성별, 연령대별 STAR + SNOWFLAKE Star & Snowflake • 데이터 량에 따른 집계상세수 준 정의 필요 • 변화감지에 따라 대체키 필요 구간차원 • 특성별 집계 SSIS Framework SSIS 프레임워크 SSIS 프레임워크? • 생산성, 유지보수 등을 고려할 때 반드시 필요 • 부모, 자식 패키지를 만드는 것에서부터 시작 • 프레임워크가 가장 절실히 필요할 때는?(랭킹 1~4위) 1위 2위 3위 4위 • 개발환경, 운영환경에 따라 연결문자열, 변수변경 • 특정패키지만 실행해보고 싶을 때 • 전산부서가 통보 없이 테이블 or 컬럼 Drop • 불한당 개발자를 만날 때 패키지 환경설정 1. XML 환경설정(dtsx.config) – 개발환경과 운영환경 따로 준비 – 중소형에 적합 2. DB 설정 – XML 환경설정 (Connection String) – SSIS Configuration Table – 대형에 적합 자식 패키지 호출 • • ODS, DW, DM, SSAS처리 등 을 순차처리 할 수 있음 사용유무, 처리순서 지정 SELECT c.ExecutionOrder, b.PackagePath FROM Applications a ,Packages b ,AppPackages c WHERE a.ApplicationID = c.ApplicationID AND b.PackageID = c.PackageID AND c.UseYN = 'Y' ORDER BY c.ExecutionOrder ODS 변경감지 • • Meta정보를 저장한 후, 이관 전에 변경감지 변경이 감지되면 전산부서에 통보 및 오류처리 패키지 로깅 • • OnError, OnPostExecute, OnPreExecute 이벤트 처리기 매핑 SSRS를 이용하여 레포팅 처리 패키지 템플릿 등록 • • • %ProgramFiles% (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\ProjectItems\DataTransfo rmationProject\DataTransformationItems 에 템플릿 패키지 복사 Ctrl + Shift + A or 프로젝트 > 새 항목추가 패키지 ID 속성에서 아이디 새로 생성 DEMO [ SSIS ] SSAS Basic SSAS 기본 UDM – 자유도 GOOD • SCD TYPE 0과 같은 성별의 경우 명명된 쿼 리편집을 이용해서 테이블 생성 • • 명명된 쿼리 편집을 통해서도 테이블추가 가능 재귀참조, 다대다, 차원참조 표현 UDM – 자유도 GOOD • • 차원용도를 통해 퇴화차원, 차원참조를 통해 구현가능 다대다 관계에서는 성능상의 이슈가 발생할 수 있음 DEMO [ SSAS ] SSAS Advanced SSAS 심화 큐브 연결 • 측정값 그룹의 메져별 선택 가능 • • • 인터넷회원의 연예인선호도와 앨범판매를 함께 분석가능 여러 개의 주제영역을 서로 상호보완하며 분석할 수 있음 차원과 측정값이 많을 경우에는 큐브뷰를 이용 드릴쓰루 • • VIP등급의 회원들에게 브로마이드제공 미션 해당 튜플의 회원을 RDB에서 쿼리하여, OLTP와 연동 가능 함 Std 이겨내기 - 파티션지원 4개부터는 다음과 같이 에러남 STD에서도 파티셔닝을 지원함 • • Std도 3개까지 생성할 수 있음(무시하고 진행하면 됨) 2011년, 2010년, 과거년 또는 월로 집계전략 세움 Std 이겨내기 - 큐브뷰 빈 큐브생성 • • • 데이터원본 지정안함 큐브및 측정값 그룹연결 큐브뷰를 대처할 수 있음 해당 큐브의 차원 및 측정값, 차원 권한 조정가능 처리는 해야 하지만 사실상 아무것도 안함 리얼 vs 거의 리얼 300건 MOLAP 130건 430건 Merge + Agg ROLAP • • • 임원을 위한 실시간 판매현황을 구축해야 함 2010년의 과거 데이터는 MOLAP 2011년으로 현재 변경되고 있는 데이터는 ROLAP 처리큐브? 운영큐브? Process 처리 큐브 운영 큐브 • • Query 운영큐브에 처리작업시 조회 지연 문제 발생을 극복 백업, 복구는 파일복사 수준 <Restore xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"> <File>c:\eNTer_SSAS_처리큐브.abf</File> <DatabaseName>eNTer_SSAS_운영큐브</DatabaseName> <AllowOverwrite>true</AllowOverwrite> <Security>IgnoreSecurity</Security> </Restore> 캐시 불태우기 프로파일러 MDX쿼리 수집 큐브처리 오래 실행되는 MDX쿼리 사전 실행 MDX쿼리 사전실행 전후의 디스크, 메모리 I/O비교 • 캐시 클리어 <Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"> <ClearCache> <Object> <DatabaseID>eNTer_SSAS</DatabaseID> </Object> </ClearCache> </Batch> ASSP & 연결된 서버 • • Analysis Services Stored Procedure http://asstoredprocedures.codeplex.com 연결된 서버 DEMO [ SSAS ADV ] SQL 2011 ( Denali ) SQL 2011 ( DENALI ) ColumnStore Index SELECT region, sum (sales) … C2 C1 C3 C4 C5 C6 • • • • VertiPaq 방식의 컬럼압축 테이블에 하나만 존재할 수 있음 DW용에 Star Join시 유리 넌클러스터인덱스 CREATE NONCLUSTERED COLUMNSTORE INDEX ncci ON myTable(OrderDate, ProductID, SaleAmount) ColumnStore Index • • • Disable Index INSERT, UPDATE, DELETE 를 지원하지 않음 대용량 팩트 테이블 적용 자주 변경되는 테이블에 적용 하면 안됨 Data Update 1. ALTER INDEX my_index ON MyTable DISABLE 2. Data Update, Insert, Delete 3. ALTER INDEX my_index ON MyTable REBUILD Rebuild Index SSIS 개선 Visual Studio 2010 .NET 4 지원 Undo / Redo 프로젝트, 파라메터 관리기능 • TASK 정렬 및 그룹기능 • SPPS 와 통합된 분석기능 • • • • DEMO [ SQL 2011 ] Q&A WWW.SQLER.COM, SQLTAG WWW.SQLER.COM CAFÉ.NAVER.COM/SQLMVP 여러분들은 이제 300 입니다. 감사합니다
© Copyright 2026