한국오라클 applied tech team - oracle · 2003. 5. 12. · 4. oracle9. i . intelligent...
TRANSCRIPT
Oracle Solution for BI
한국오라클
Applied Tech Team
Traditional Business IntelligenceIntelligence
Lineage
Query & Analysis
Name/AddressScrubbing
ETLTool
Analytic Apps
ReportingEngine
EnterpriseReporting
Portal
ETL Tool
TransformationEngine
DatabaseDatabaseTransformation
Engine
MiningEngine
OLAPEngine
Multi-Vendor, Un-integrated
Oracle9i Intelligent InfrastructureInfrastructure
Single Vendor, Integrated
4
Oracle9i Intelligent Infrastructure Single Vendor, Integrated
CWM Metadata
E-Business Intelligence SuiteE-Business Intelligence Suite
WebWebDataData
ExternalExternalDataData
OperationalOperationalDataData
WarehouseBuilder
WarehouseBuilder
9iApplication
Server
9iApplication
Server BI BeansBI Beans
DiscovererDiscoverer
ReportsReports
PortalPortal
Oracle9iETL Infrastructure
Analytic Services
Data Mining
Oracle9iETL Infrastructure
Analytic Services
Data Mining
DW를 위한 DBMS 요구사항Core Capabilities
Performance
Scalability
Manageability
Fast Analysis of Lots of Data for Lots of Users
DW를 위한 DBMS 요구사항e - B I Platform
Extract, Transform, and Load
Analytics
Personalization– data mining
Quality Data for Knowledge you can Action
Continuous InnovationOracle 7.3Oracle 7.3
Hash JoinBitmap IndexesParallel-Aware OptimizerPartition ViewsInstance Affinity: Function ShippingParallel Union AllAsynchronous Read-AheadHistogramsAnti-Join
Hash JoinBitmap IndexesParallel-Aware OptimizerPartition ViewsInstance Affinity: Function ShippingParallel Union AllAsynchronous Read-AheadHistogramsAnti-Join
Partitioned Tables and IndexesPartition PruningParallel Index ScansParallel Insert, Update, DeleteParallel Bitmap Star QueryParallel ANALYZEParallel Constraint EnablingServer Managed Backup/RecoveryPoint-in-Time Recovery
Partitioned Tables and IndexesPartition PruningParallel Index ScansParallel Insert, Update, DeleteParallel Bitmap Star QueryParallel ANALYZEParallel Constraint EnablingServer Managed Backup/RecoveryPoint-in-Time Recovery
Oracle 8.0Oracle 8.0 Oracle8iOracle8i
Hash and Composite PartitioningResource ManagerProgress MonitorAdaptive Parallel QueryServer-based Analytic FunctionsMaterialized ViewsTransportable TablespacesDirect Loader APIFunctional IndexesPartition-wise JoinsSecurity Enhancements
Hash and Composite PartitioningResource ManagerProgress MonitorAdaptive Parallel QueryServer-based Analytic FunctionsMaterialized ViewsTransportable TablespacesDirect Loader APIFunctional IndexesPartition-wise JoinsSecurity Enhancements
Oracle9iOracle9i
ETL, OLAP, Data Mining EnginesList PartitioningBitmap Join IndexDynamic Aggregation BuffersizeMaterialized Intermediate ResultsGrouping SetsConcatenated Grouping SetsAggregate PruningNew Analytic FunctionsSelf-Tuning Execution MemorySystem Managed UndoDynamic Resizing of Buffer Pool
ETL, OLAP, Data Mining EnginesList PartitioningBitmap Join IndexDynamic Aggregation BuffersizeMaterialized Intermediate ResultsGrouping SetsConcatenated Grouping SetsAggregate PruningNew Analytic FunctionsSelf-Tuning Execution MemorySystem Managed UndoDynamic Resizing of Buffer Pool
Oracle Solution for BI
Performance
Scalability
Manageability
ETL Services
OLAP Services
Data Mining Services
Oracle Solution for BI
Performance
Scalability
Manageability
OLAP Services
ETL Services
Data Mining Services
Oracle’s Solution - Performance
Bitmap Join Index
자주 Join되는 테이블간의 Bitmap Index
– Join 된 A 테이블의 특정 Column 을 기준으로 B 테이블을 Bitmap Index 화
Benefits
– 미리 생성된 Bitmap Index 사용으로 Table Access 시Access 시 Performance 향상
– Dimension Table 과 Fact Table Join 에 유용
Oracle’s Solution - Performance
Bitmap Join Index (Cont.)
Sales Customer
CREATE BITMAP INDEX cust_sales_bji ON Sales(Customer.state) FROM Sales, CustomerWHERE Sales.cust_id = Customer.cust_id;
Oracle’s Solution - Performance
Materialized View
대용량 Fact Table 의 Summary Table Table 생성
Benefits– 복잡한 join 및 aggregation 연산 시
시 질의 성능 향상
– Dimension의 hierarchy에 따른 rollup rollup 가능
– 사용자에게는 투명함
– Application 수정이 필요 없음
– Base Table 로 Access 시 Optimizer 가Optimizer 가 자동으로 Summary Table Table 로 Redirect
제품
매출액매출액
지역지역
기간
매출액‘summary’
Materialized View – Query RewriteRewrite
지난 3분기지역별제품별
매출액은 ?
x
(30 GB)
(2GB)
매출액
분기별지역별제품별매출액
SELECT p.brand, r.country, t.month,SUM(s.amt) tot_sales
FROM sales s, region r, time t, product p
WHERE s.region_id = r.region_idAND s.sdate = t.curdateAND s.prod_code = p.prod_codeGROUP BY p.brand, r.country,t.monthHAVING SUM(s.amt) > 5000000;
SELECT brand, country, month, tot_sales
FROM sales_sumryWHERE tot_sales > 5000000;
SELECT brand, country, month, tot_sales
FROM sales_sumryWHERE tot_sales > 5000000;
1
2SummarySummary
1
2
Oracle’s Solution - Performance
Materialized View – Data RefreshRefreshData Refresh 방법
–
–
–
– 별
–
–
분기별매출액
제품별매출액
지역별매출액
InsertUpdateDelete
InsertInsertUpdateUpdateDeleteDelete
DeferredDeferredRefreshRefresh
FullFullRefreshRefresh
매출액
IncrementalIncrementalRefreshRefresh
Enhancements to MVs– Broader refresh and
rewrite capabilities– More sophisticated
summary advisor
Oracle’s Solution - Performance
Oracle's Solution – Performance
WITH Clause복잡한 질의에서 자주 반복되는 SELECT 문장(서브 쿼리)을
같은 질의 블록으로 설정하여 재사용
– 블록의 결과를 되돌려 주고 사용자의 임시
테이블 스페이스에 이를 저장
Benefits– 자주 사용되는 질의 결과를 재사용함으로 Performance 향상 효과
효과
With summary as (select channel_desc ,sum(amount) as amount_totfrom sales, channelswhere channels.channel_id = sales.channel_idgroup by channel_desc)select channel_desc,amount_tot from summarywhere amount_tot > (select sum(amount_tot) * 1/8
from summary)order by channel_desc;
Oracle's Solution – Performance
Automatic Memory Tuning
Automated SQL Execution Memory – User 의 SQL 문에 따라 User Memory 영역인 PGA 가 dynamic dynamic 하게 최적의 영역을 설정
– PGA_AGGREGATE_TARGET = <size>
– SORT_AREA_SIZE, HASH_AREA_SIZE 대체
Benefits– 메모리 튜닝의 편의성
– 메모리 튜닝에 소요되는 시간의 단축
– 메모리 사용 효율성 증대로 인한 시스템 throughput 향상(특히 동시 사용자가 많을 때)
– 개별 질의에 대한 response time 향상
Oracle Solution for BI
Performance
Scalability
Manageability
ETL Services
OLAP Services
Data Mining Services
Oracle's Solution - Scalability
List Partitioning
적은 Partitions 조인을 통한 빠른 질의 성능
각 Partition 에 위치할 Column 값을 명시적으로 지정
불연속적인 데이타에 대한 분할 기법
Composite Partition 기능 제공 (Range + List)
지역별 매출액
경기경기서울서울 ...... 경남부산
경남부산
경북대구
경북대구
강원강원
List Partitioning
List partitioning 은 각 Partition의 Partition 키 값의키 값의 열거를 허용
– 불연속적인 데이타 분야의 Partition에 유용함(예, 지역, 제품 카타로그)
예제:
CREATE TABLE sales_by_product_line ( … )PARTITION BY LIST (state) (
PARTITION northwest VALUES IN(’OR’, ’WA’),PARTITION southwest VALUES IN (’AZ’, ’UT’, ’NM’),PARTITION northeast VALUES IN (’NY’, ’VT’, ’NJ’),PARTITION southeast VALUES IN (’FL’, ’GA’)));
Oracle's Solution - Scalability
Automatic Parallel Tuning
System 환경에 기초하여 자동으로 최적의Parallel Degree 를 결정
User Query Runtime 시에 동적으로 메모리 할당할당
Two 환경변수:AUTOMATIC_PARALLEL_TUNING = TRUEPARALLEL_THREADS_PER_CPU = <number>
Oracle Solution for BI
Performance
Scalability
Manageability
ETL Services
OLAP Services
Data Mining Services
Oracle's Solution - Manageability
Memory Management
Automated SQL Execution Memory – User 의 SQL 문에 따라 User Memory 영역인 PGA 가PGA 가 dynamic 하게 최적의 영역을 설정
Benefits– 메모리 튜닝의 편의성
– 메모리 튜닝에 소요되는 시간의 단축
– 메모리 사용 효율성 증대로 인한 시스템throughput 향상(특히 동시 사용자가 많을 때)
– 개별 질의에 대한 response time 향상
Oracle's Solution - Manageability
Memory Management
Dynamic SGA– Oracle 메모리 영역인 SGA 의 내용을 shutdown 없이
없이 alter system 명령어로 동적으로 변경
Buffer cache
Shared pool
Large pool
Benefits– 서비스의 중지 없이 메모리 관련 튜닝 수행 효과
Oracle's Solution - Manageability
Resource Manager
사용자 그룹별로 자원에 대한 우선 순위 설정– 혼합된 형태( 실무자용,관리자용 등)로 작업 부하를 관리
ex) Scott user : resource 20%,
DW user : resource 80%– 사용자 그룹 당 동시접속 최대 개수 지정
– 실행 가능한 최대 예측시간을 설정
Benefits– 자원의 경합으로 인한 중요업무 지연 방지
– 자원의 효율성 도모
– 큰 job 의 resource 독점 방지
Oracle's Solution - Manageability
Resource Manager
주간
사용자 group Allocation method parameters
OLTP CPU = 75%
Degree of parallelism = 2
DSS CPU = 25%
Degree of parallelism = 8
사용자 group Allocation method parameters
OLTP CPU = 75%
Degree of parallelism = 2
DSS CPU = 25%
Degree of parallelism = 8
야간
사용자 group Allocation method parameters
OLTP CPU = 25%
Degree of parallelism = 0
DSS CPU = 75%
Degree of parallelism = 10
사용자 group Allocation method parameters
OLTP CPU = 25%
Degree of parallelism = 0
DSS CPU = 75%
Degree of parallelism = 10
Enhanced Resource Manager
Oracle9i introduces:– Proactive Query Governing:
특정 제한 시간을 넘는 것으로 예측되는 질의를취소할 수 있음
– Automatic Queuing:
각 사용자 그룹별로 유효한 세션 제한 가능 : 제한을 넘는 질의는 대기
동적인 우선순위 재설정
수행시간의 초과하는 질의에 대해서는 다른사용자 그룹으로 재할당
Oracle's Solution - Manageability
Enhanced Statistics Gathering
최적화된 실행계획을 위한 통계정보 수집의 자동화
– GATHER_SCHEMA_STATISTICS(<schema_name>, OPTIONS=>‘GATHER AUTO’);
– 통계정보 생성을 위해 동적인 샘플링 기법사용
Benefits– 최적화된 실행 계획 제공
– 통계정보 수집을 위한 공간과 시간을 최소화
Oracle's Solution - Manageability
Enhanced Sum m ary Advisor
Summary Advisor
DatadictionaryinformationWorkload
information
SpaceUsage
SummaryRecommendations
SummaryUsage
요약관리자에 의한Materialize View의 생성과관리
질의 사용량에 근거한Recom mendation
– Allows DBAs to optimize disk disk costs to performance gainsgains
Oracle Solution for BI
Performance
Scalability
Manageability
ETL Services
OLAP Services
Data Mining Services
Oracle's Solution – ETL Services
Change Data Capture원천 시스템에서 가장 최근에 extraction한 이후의
변경된 데이타만 추출하는 작업
– 변경된 데이타는 Changed Table이라는 오브젝트에 저장
– From Oracle sources
– Synchronous Mode
Log Files
Trigger-based Replication
Change Tables
Publish and Subscribe
Target DW
Source DB
Source DB
Oracle's Solution – ETL Services
Change Data Capture
Benefits
With CDC Without CDC
동시에 발생치 않음Extraction 원천 테이블 DML 작업과동시에 발생
관계형 테이블에 저장Staging flat file로 저장
Package 이용한 Interface 제공 관리자에 의한 작업Interface
자동 ETL 로 COST 절감 추출,변경,전달, 로딩의COST 발생
Cost
Oracle's Solution – ETL Services
External Table
데이타가 DB 외부에 Flat file로 저장– Read Only Table
– DB내로 데이타의 로딩 없이 질의, 조인, 병렬
Benefits– DW 에서 ETL 위한 STAGING 필요하지 않음
– 외부 source를 기존의 데이타베이스 오브젝트와조인하거나 변형시킬 때 유용하게 사용
– 자주 사용되지 않는 큰 외부 데이타일 때 유용
Oracle's Solution – ETL Services
Upserts테이블에 조건에 따라 데이타를 insert 또는 update
– Single command
Benefits– 전체 작업을 하나의 단순한 SQL문으로 표현
– Bulk Loading/DML시 유용
– 병렬작업으로 Performance 향상
Merge into dept t using src_dept son (t.deptno = s.deptno)WHEN matched then update set t.loc = s.locWHEN NOT matched then insert (t.deptno, t.dname, t.loc)values (s.deptno, s.dname, s.loc);
Oracle's Solution – ETL Services
Multi-Table Inserts조건에 따라 데이타를 여러 개의 테이블에 Insert
– Single command
Benefits– 다수의 단일 문장 보다 빠름
– Performance 향상
Oracle's Solution – ETL Services
Table Functions
Function Output을 row의 집합으로 생성– PL/SQL, Java, C 로 작성
– 데이타 추출 후 Transformation 작업 수행
– Table Function 의 input data 로 row 집합 가능
Pipelined and parallel procedural transformations – 데이타 transformation의 결과를 테이블에 저장하지 않고
바로 다음 프로세스나 목적 테이블에 전달
– Function 을 parallel 하게 호출할 수 있다
Benefits– High performance complex transformations
– No need for a separate ETL engine
– Transformation 과정에서 Staging table 필요 없음
Oracle Database for BIETL Services
모든 ETL 기능이 동시에 사용가능
– select data from flat file
– join to database table data
– apply complex procedural transformations
– upsertinto multiple target tables
병렬화 가능
하나의 SQL 문장으로 가능
Streamed, parallel, complex ETL in the database
Oracle9i: ETL Scenario
Step 1: Load into staging table
Step 2: Transform data using function
Step 3: Insert and update into target table
FLAT FILES TARGET
StagingTable
StagingTable
Oracle8i: Multiple staging tables and SQL statements
MERGETRANS-FORM
LOAD
Oracle9i: Single SQL statementOracle9i: Parallel pipelining of data
Demonstration Part 1
Oracle's Solution – Demo
Oracle Warehouse Builder 정의
전사적 Data warehouse, Data Mart, e-Business
Business intelligence application을 Design하고
Design하고 구현하기 위한 확장 가능한
Framework이다. – Oracle9iDeveloper Suite에 포함되어 있음.
Oracle's Solution – Demo
Oracle Warehouse Builder
OWB는 데이타 웨어하우스를 위한 CASE 툴이다.툴이다.
Data warehouse/mart schema 설계와 전개 및및 source로부터 target에 대한 매핑 수행
완전한 Oracle database 지원
Lifecycle 관리
Metadata 공유와 보고서 제공
Oracle's Solution – Demo
Warehouse builder의 작업흐름
1 Source 정의
Target Warehouse 설계2
Source -> Target 매핑3
코드 생성4
실증된 Warehouse5
Data 추출6
Oracle9iAS Business IntelligenceIntelligence
Oracle's Solution – Demo
Oracle9iAS Discoverer
직관적인직관적인 비정형비정형 질의질의, , 보고서보고서 작성작성, , 분석과분석과 웹웹환경에서환경에서 데이타데이타 마트나마트나, , 데이타데이타 웨어하우스웨어하우스및및 운영계운영계 시스템의시스템의 데이타로부터데이타로부터 정보를정보를즉시즉시 접근하도록접근하도록 하는하는 Oracle Oracle 솔루션의솔루션의 기본기본툴툴
Oracle's Solution – Demo
Discoverer 특징
사용의 편이성
분석 능력
확장성과 성능
관리의 편이성
통합과 Customization
Oracle's Solution – Demo
Discoverer 제품구조
Oracle's Solution – Demo
Discoverer 활용 :포틀릿(Portlets)
Worksheet Portlet: Graph
Worksheet Portlet:
Crosstab
List of Workbooks
Portlet
Oracle Solution for BI
Performance
Scalability
Manageability
ETL Services
Analytics/OLAP ServicesServices
Data Mining Services
Oracle's Solution – Analytics/OLAP Services
Analytic Functions
Inverse Percentiles
Hypothetical Rank and DistributionsDistributions
Histograms
First/Last aggregates
A l r e a d y i n 8 iRanking (top n)
Moving Averages and Cumulative SUMs
Period over period comparisons
Ratio-to-report
Linear regression, correlations
Oracle's Solution – Analytics/OLAP Services
Aggregations
ItemBrand
DivisionTotal
Year
Qua
rter
Mon
thD
ay
Concatenated Grouping Sets (new):SELECT Division, Total,
Day, Month, Sum(Sales)FROM Sales, Items, TimeWHERE Sales.Time_Id = Time.Time_idAND Sales.Item_Id = Items.Item_idGROUP BY GROUPING SETS (Time.Day, Time.Month),
A l r e a dy i n 8 iCUBE
ROLLUP
Key Features– Grouping Sets
– ConcatenatedGrouping Sets
– AggregatePruning
Benefits– 향상된 성능
– 쉬운 개발
– 계층적 큐브 생성을 위한간단한 문장
GROUPING SETS (Items.Division, Items.Total);
Oracle's Solution – Analytics/OLAP Services
Oracle 9i OLAP Services
Multi Dimensional Database 를 대체하는 OLAP-OLAP-ready relational database
– Support for complex, multidimensional queries like queries like Express Server
– Highly scalable
Internet Platform– Java OLAP API
– Business Intelligence Beans and JDeveloper
Oracle's Solution – Analytics/OLAP Services
Business Intelligence Beans
TableTable Cross TabCross Tab ChartChart
Query Query BuilderBuilder
Calculation Calculation BuilderBuilder
QueryQuery
Metadata ManagerMetadata Manager
ConnectionConnection PersistencePersistence
Beans RepositoryBeans RepositoryOracle9iOracle9iOracle9i OLAP optionOracle9i OLAP option
Oracle's Solution – Analytics/OLAP Services
Oracle9i OLAP Option
BI BeansBI Beans
JDeveloperJDeveloper 9i9iRapid application development
OLAP ready
Oracle9i DatabaseOracle9i Database
Java OLAP APIPredictive OLAP functions
Oracle9i OLAP ServicesOracle9i OLAP Services
Scaleable data storeIntegrated metadataSum m ary managementSQL analytic functions
Demonstration Part 2
Oracle Solution for BI
Performance
Scalability
Manageability
ETL Services
OLAP Services
Data Mining Services
Data MiningEmbedded Data Mining
Oracle9i 데이타베이스 통합통합
– 프로세스를 간단하게 하며
– 데이타 이동을 제거하며
– 성능 향상
– 확장성을 제공한다.
Java-based API– Business Intelligence 응용 프로그램
프로그램 개발하는데 사용
Oracle9i Data Mining
Data Mining
Oracle's Solution – Data Mining Services
Oracle's Solution – Data Mining Services
Oracle9i Data Mining제공되는 알고리즘
– Adaptive Bayes Network(classification)
데이타가 속하는 영역에 대한 식별
고객 세분화,신용분석
– Association Rules (association)
데이타 집합에서 항목간의 관계 발견
장바구니 분석
– Cluster Discovery(classification)
데이타에 포함된 군집에 대한 식별
고객 세분화,제품 그루핑
– Attribute Importance(association)
어떠한 속성이 모델의 정확성과 질에 영향을 가장미치는가 분석
“Noise”를 줄여서 모델의 정확도를 높이고자 할 경우
Data Mining
Oracle's Solution – Data Mining Services
예측 기반 응용 프로그램 적용
Oracle9i Data Mining의 Java 기반 API를이용해서 예측 기반 응용 프로그램을개발할 수 있다.
– 고객 스코어링과 수요 예측을 생성하기 위한자동화된 데이타 마이닝 프로세스
– 질의, 분석 및 보고 툴을 위한 새로운 데이타마이닝 통찰력 제공
Oracle Data Mining ApplicationO r a c l e 9 i A S
BooksRus.com’s Book Store - Netscape
BooksRus.com
BooksRus.com Auctions.
BooksRus.com 100 HotBooks
www.booksrus.com
Hello, Mark Jones. We think you will like theseitems.Hello, Mark Jones. We think you will like theseitems.
I am looking for a
Java programming
book
Real-time recommendation for additional books that match his
interests and profile
Oracle's Solution – Data Mining Services
Hello, Mark Jones!We have recommendationsrecommendationsHello, Mark Jones!We have
Oracle's Solution – Data Mining Services
Java-based API Application
요약 및 결론
Performance
Scalability
Manageability
ETL Services
OLAP Services
Data Mining Services
T h e O r a c l e S o l u t i o n s f o r B u s i n e s s I n t e l l i g e n c e
60
Oracle e-Business Intelligence
CWM Metadata
E-Business Intelligence SuiteE-Business Intelligence Suite
WebWebDataData
ExternalExternalDataData
OperationalOperationalDataData
WarehouseBuilder
WarehouseBuilder
9iApplication
Server
9iApplication
Server BI BeansBI Beans
DiscovererDiscoverer
ReportsReports
PortalPortal
Oracle9iETL Infrastructure
Analytic Services
Data Mining
Oracle9iETL Infrastructure
Analytic Services
Data Mining
Oracle9i Intelligent Infrastructure
Single Vendor, Integrated