64bit 기반의 SQL Analysis Services를 활용한 기업분석 시스템 구축 방안 및 혜택 박명은 Sr. Technology Specialist 고객사업본부 / 기술사업부 (주)한국마이크로소프트 Agenda Microsoft BI Architecture 64bit Platform Overview SQL Server 2000 (64-bit Edition) Product Information 64-bit Analysis Services 32-bit 마이그레이션 팁과 혜택 성능 테스트 결과 국내외 적용사례 Microsoft’s Business Intelligence Architecture Excel Visio Project OWC SharePoint Portal Server Project Server Data Analyzer SQL Server Relational Engine Reporting Services Analysis Services OLAP and Data Mining Windows Server Windows Client Dev Tools Visual Studio .Net Solution Accelerators • Business Scorecards • Excel OLAP Reporting Management Tools Microsoft Business Solutions Applications Office System Microsoft’s Business Intelligence Architecture OLTP Client Portal Analytical Applications (CPE, EIS.. 3rd party) Office/SharePoint ERP DW, ODS CRM LOB Query and Reporting Data Transformation (ETL) Data Analysis (OLAP, DM) Analytical Components Devices Analytic Platform .NET Framework (IIS, ASP, Net, CLR) and SQL Server (Relational, Multidimensional, XML) BI Development and Management Tools SQL Server Management Tools 64-bit Platform Overview Itanium Processor Family Itanium (IPF) Architecture 32-bit에 비해 두배 이상의 성능? 대용량 메모리 어드레싱 가능 EPIC – Explicitly Parallel Instruction Computing Compiler 향상 On-chip Cache ( Cache on Processor chip ) Predication – 컴파일러가 잘못 예측된 브랜치로 인해 일어나는 영향을 제거할 수 있도록 함 프로세서 클럭 주기당 작업량 증가 : 브렌치 향상은 EPIC이 클럭 주기당 더 많은 명령어를 처리하여, 낮은 프로세서 클럭 주파수에서도 더 많은 성능을 발휘할 수 있음 잘못 예측된 브랜치로 인한 비효율성 감소 3MB L3 6MB L3 ( next Processor release – Madison) Bus architecture 향상 Faster and wider 128-bit at 6.4Gb/sec SQL Server 2000 (64-bit) Product Information 주요 제품 정보 Windows Server 2003 64bit 버전과 IPF 의 향상된 하드웨어에 의한 대용량 메모리 지원 능력을 활용 소프트웨어가 최대 18Exabytes 용량의 데이터 구조를 갖는 포인터를 조작할 수 있도록 도와 줌 SQL Server 2000 (64-bit) 64GB of RAM (Enterprise), 512GB of RAM on Datacenter 현재 가상 메모리는 8TB까지 지원 현재 512GB까지 테스트 완료 Enterprise 와 Developer Editions SP3 code base 모든 Security Fixes 포함 SQL Agent Analysis Services (64-bit) Data Mining Books On Line Server Network Utility Service Manager 32bit와의 호환성 SQL Server and Analysis Services On-disk 포맷은 32-bit 와 64-bit 모두 같음 SQL Server Analysis Services 32-bit 데이터베이스 Detach 해서 64bit에 attach. 작업이 간편함. 32-bit에서 백업해서 64-bit에 복구 32-bit 데이터베이스 아카이브해서 64bit에서 복구 대용량 AS 데이터베이스인 경우, copy and paste 해서 64-bit 상에서 재 프로세싱 모든 32-bit T-SQL은 64bit에서도 실행됨 (코드수정 없음) Analysis Services (64-bit) Advantages of Analysis Services (64-bit) 3GB 메모리 제한이라는 제약이 없어짐 메모리상에서 대량의 dimensions 지원 Temp files 사용량 감소 대용량 데이터 캐쉬 대규모의 MOLAP 차원, 그러나 최상의 쿼리 성능을 제공 Dimension Security 을 위해 동적 보안 (“Replicas” 차원 생성 ) 프로세싱을 위해 대용량 프로세스 버퍼 할당 Dimension memory + Shadow dimensions + Buffer space (partitions) 대규모 파일시스템 캐시 보유할 수 있도록 함 warm cache queries 증가 Parallel processing of partitions processing 과 querying의 동시성 Dimension Memory Shadow/ Replica Dimensions Processing Buffers Available Cache 언제 64-bit Analysis Services를 고려해야 할까 ? 차원 멤버의 개수가 Million일 때 shadow dimensions 고려 dimension security의 광범위한 사용 파티션 프로세싱은 temp file 사용 Parallel processing, distinct count, large and/or many aggregations defined. Monitor with perfmon or filemon.exe aggregation cache 사용비율을 높여 사용자들이 Cache로부터 혜택을 받을 수 있도록 함 64-bit OLEDB providers 사용 Analysis Services Migration Tips/Issues 관리를 위해서 32-bit server 필요함. SQL Server 인스턴스 필요 UDFs 는 64bit에서 재 컴파일 수행 필요 SQL Server에 저장된 쿼리로그 와 레파지토리 Windows SDK 에 compiler 내장 Excel functions는 사용할 수 없음 VBA Functions는 사용 가능 데이터베이스를 Copy와 Paste 한 후 64bit 상에서 재 프로세싱 함 VLDM is disabled. Analysis Services Migration Tips/Issues 64bit Analysis Services Server와 32-bit 관리 Server는 동일 도메인 내에 존재해야 함 정기적 유지보수를 위해서는 msmdmarch.exe를 이용한 Backup과 Restore는 추천하지 않음 OLAP repository는 File System Backup 과 Restore 사용 32-bit Client를 정확히 64-bit Server처럼 Configure 해야 함 Analysis Services Data Access Summary Analysis Services는 OLEDB 필요 사용 가능한 Provider SQL Server 2000 OLEDB Provider 기본적으로 내장 Oracle and IBM DB 2 64bit OLEDB Provider Microsoft OLEDB for ODBC Provider는 없음 ODBC drivers는 사용할 수 없음 64-bit Providers 을 위해 각 database vendor에 확인 Test Background Analysis Services SSABI Sales and Marketing Schema Customer.Direct dimension contains 50 million members Storage mode is MOLAP Server is HP 4 x 1.0 Ghz Server RAM is 32.0 GB Process Buffer is set to 1.5 GB 5 Years of fact data generated in 3 cubes. Total record count is 1.8 Billion facts seasonally adjusted 4.6 million to 23.5 million records per fact table Test Scenarios Analysis Services 64-bit 상에서 대규모 차원 맴버가 많습니까? 프로세스 하는데 얼마나 걸립니까? 프로세스에 비해 쿼리성능은 어떻습니까? 쿼리와 프로세싱의 동시성 이 테스트를 통해 무엇을 배울 수 있습니까? Dimension Memory Utilization Total Dimension Memory Consumption in GB on 64-bit Memory Required with AS Restarted Peak Memory Consumption During Dimension Processing 14.00 Memory in GB 12.00 10.00 8.00 6.00 4.00 2.00 0.00 0 5 10 15 20 25 30 Millions of Members 35 40 45 50 Dimension Processing Rate of Dimension Processing on 64-bit Rows Processed Per Second 25000 Rows Per Second 20000 15000 10000 5000 0 0 5 10 15 20 25 30 35 40 45 50 Millions of Members Roughly 80 minutes to process a 50 million member dimension Analysis Services Dimension Memory Tips 메모리가 얼마나 필요할까 ? 차원 특징들의 주어진 설정에 대해 Dimension memory 사용량은 멤버의 수에 따라 linear하게 증가 dimension 메모리 산정의 단계 1. dimension의 서브셋 프로세스 2. slope of the line를 산정 3. 기대되는 멤버가 얼마나 많으냐를 기준으로 필요한 메모리의 양을 산정 별도 고려사항 Shadow dimensions, dimension security Query Tests Defining Cold and Warm Cache Cold Cache 모든 쿼리는 파일 시스템을 접근해서 데이터를 보내줌 Warm Cache 모든 쿼리는 aggregation cache으로부터 레코드를 조회해서 응답함 Customer Reality 일반적으로 사용자 쿼리 작업부하는 cold cache와 warm cache 쿼리 모두로 구성될 것임 Query Tests Query Workload Characteristics Cold Cache Queries 12,000 unique 쿼리 생성 프라미드 수행 허용 안함 유사한 result set들이 다운로딩 되지 않도록 쿼리당 멤버를 제한함 Problem: 이것은 일반적인 고객의 작업부하를 정확히 반영한 것은 아님 “현실적으로” 쿼리 로드를 어떻게 알 수 있을까? result set은 또다른 result set으로부터 제공받을 수 없음 모든 고객마다 다름! Perfmon Analysis Services: Query Counters를 사용 Query Performance No Aggregations Average Response Time in Seconds without Customer Query Set 250 Seconds 200 150 100 50 0 0 5 10 15 20 25 30 Number of Users No Aggs Cold Cache 35 40 No Aggs Warm Cache 45 50 Query Performance UBO plus Targeted Aggregations Average Response Time in Seconds without Customer Query Set 25 Seconds 20 15 10 5 0 0 50 100 150 200 250 300 350 400 Number of Users UBO Cold Cache UBO Warm Cache 450 500 Query Performance Querying the Customer Level Average Response Time in Seconds with UBO Aggregations and Cold Cache 25 Seconds 20 15 10 5 0 0 50 100 150 200 250 300 350 400 Number of Users No Customer Level Query With Customer Level Query 450 500 Query Performance Simultaneous Processing and Querying Average Response Time in Seconds 45 40 35 Seconds 30 25 20 15 10 5 0 0 50 100 150 200 250 300 350 400 450 Number of Users UBO Cold Cache Part Proc UBO Cold No Proc UBO Warm Cache Part Proc UBO Warm No Proc 500 Analysis Services Simultaneous Processing and Querying Cold Cache Warm Cache Current Disk Queue Length % Processor Time Aggregation Cache Current Entries Lessons Learned 64-bit는 directly “performance”가 아니고 , “capabilities”임 대규모 차원과 Client 메모리 사용 고객차원 쿼리 시 클라이언트당 1GB 이상의 메모리 소요 가능한 많은 중간 레벨 생성. 멤버들이 여러번 다운로딩 되는 것을 피하기 위해 가상 큐브를 구성. Analysis Services는 startup시 차원의 멤버를 연속적으로 로드 함 서버는 시작되는데 한시간이나 그 이상 소요될 수도 있음 국내외 적용사례 JetBlue Airways “Performance with the 64-bit Business Goals versions of Windows Server 2003 and SQL Server 2000 is far better than we had imagined. We expected an average processor utilization of 30 percent, but the server is operating at only 10 percent processor utilization even though it’s handling a combined 30,000 reads and writes per hour.” Grow low-cost, high-service airlines during a withering market Solution SQL Server 2000 Enterprise Edition (64-bit) Two 50-processor Unisys ES7000 Orion 560 Servers, combining 32-bit and 64-bit partitions in one server Windows Server 2003, Datacenter Edition for 64-bit Itanium-based Systems Impact Adam Cohen Software Development Manager JetBlue Airways Reduced IT Spending to just 1.5% of revenues, while industry average is 5% Consolidated three critical databases (itinerary system, ShopBlue.com, JetBlue.com) on single 64-bit instance of SQL Server 2000 Reduced 44 servers to just 2 http://www.microsoft.com/windowsserver2003/evaluation/casestudies/CaseStudy.aspx?CaseStudyID=13932 “The price-performance benefits of 64-bit Windows and SQL Server are obvious. We can replace all ten 32-bit servers…with a single 64-bit server that costs roughly 60% as much yet can support twice the workload…Factor in the improved end-user performance and lower administrative effort, and our decision to move to the 64-bit environment becomes a no-brainer …we’re shifting the performance benefit to where it counts the most—the customer experience.” Mark Ellis, SVP, Application Architecture Information Resources, Inc. (IRI) Information Resources Inc. (IRI) Profile Provides research and analysis services on consumer packaged goods (CPG) to clients such as Procter & Gamble, Johnson & Johnson, et al InfoPro service manages 30 TB data, 1 billion rows of data/week, 250 databases, 60 OLAP cubes Business Goals Launch new offerings that will double workload Lower administrative costs Solution 64-bit versions of Windows Server 2003, Enterprise Edition and SQL Server 2000 Enterprise Edition Impact 300% capacity gain in concurrent users/server 900% capacity gain in databases/server http://www.microsoft.com/windowsserver2003/evaluation/casestudies/CaseStudy.aspx?CaseStudyID=13929 Non-Clustered TPC-C Results Source: http://www.tpc.org as of 24-Apr-03 http://www.tpc.org/tpcc/results/tpcc_perf_results.asp?resulttype=noncluster as of Jul 14, 2003 Additional Resources SQL Server 2000 64-bit Home Page White Papers On MSDN or TechNet: http://www.microsoft.com/sql/64bit/default.asp Microsoft SQL Server 2000 Analysis Services Performance Guide Getting started with Microsoft SQL Server 2000 (64-bit) Analysis Services The Advantages of 64-bit to SQL Server 2000 Enterprise Edition Business Intelligence Customers (Forthcoming) SQL Server 2000 BI Home Page http://www.microsoft.com/korea/sql/techinfo/BI/defaul t.asp © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.