1 1 부 Oracle Exadata 소개 1 장 Exadata 개요 2 장 Exadata 제품 3 장 Exadata 아키텍처
1 1 장 Exadata 란무엇인가? 1.1 Exadata 배경 1.2 Exadata 관점 1.3 Exadata 차별성
1 장 Exadata 란무엇인가? 5 1 장 Exadata 란무엇인가? 1.1 Exadata 배경 1.1.1 DW 및 BI 경향 2008년오라클은자체 Exadata( 엑사데이터, exa: 10 18 ) 기술 (Exadata Version 1) 에근거한새로운데이터웨어하우징제품인 HP Oracle Exadata Storage Server와 HP Oracle Database Machine을발표했다. 그리고일년이지난 2009년 9월, 오라클과썬 (Sun) 은 Exadata Version 2 를발표하면서, 그것이세계최초의 OLTP 데이터베이스머신이고 DW와 OLTP를동시에지원하는가장빠른머신이라고소개했다. 그리고다시일년이지난 2010년 9월, 오라클은 Exadata Database Machine X2-8, X2-2를발표함으로써 Exadata 제품군을확장했다 ( 그림 1-1). < 그림 1-1 Oracle 의진화 > Exadata Exadata Exadata V1 V2 X2-8, X2-2 1995 1997 1999 2001 2003 2005 2008 2009 2010 Oracle7.3 Oracle8 Oracle8i Oracle9i Oracle9iR2 Oracle10g Oracle 11g Oracle 11g R2 Automatic Storage Management Compression Real Application Cluster 최초의 100TB 고객 : Yahoo! Composite Partitioning 최초의 30TB 고객 : France Telecom Range Partitioning 최초의 10TB 고객 : Amazon.com 병렬실행최초의 1TB 고객 : Acxiom 최초의 1TB 데이터베이스 ( 연구용 ) 출처 : Oracle
6 1 장 Exadata 란무엇인가? 오늘날의데이터웨어하우징및비즈니스인텔리전스를주도하는몇가지큰흐름이있다. 먼저비즈니스관점에서기업들은과거를분석하고미래를예측하기위해또현재의적시적비즈니스기회를포착하기위해더욱빠르고심도있는분석으로경쟁하고있다. 이에따라사실에근거한신속한의사결정및관리가더욱필요하게되고, 이는다시보다정확한분석을보다빨리실행하는한편, 보다상세하고보다많은데이터를보다새로운데이터 ( 비구조화된데이터 (unstructured data) 를포함해 ) 와함께보다오래유지하도록요구한다. 따라서실시간 (real-time) 데이터웨어하우징이나운영 (operational) BI, EII(Enterprise Infromation Integration), unstructured DW, 프로세스내분석 (in-process analytics), 데이터베이스내분석 (in-database analytics), 고급분석 (advanced analytics) 등으로분석의기술과영역이확대된다. 아울러이러한분석요구를지원하기위한시스템환경으로, 플랫폼 (platform) 구성및설정의오류를방지하고성능을획기적으로향상시키기위해고도로최적화된고성능대용량플랫폼이더욱더많이사용된다. 여기에클라우드컴퓨팅 (cloud computing) 과오픈소스 (open source) 의발전에힘입어한층더접근과사용이용이하고관리가단순하며비용효과적인새로운시스템 ( 환경 ) 및서비스가제시되고있다. DW는이제옵션이아니라, 미션크리티컬 (mission-critical: 중요한업무를수행하는 ) 시스템으로점점더인정된다. 따라서지금의 DW는엔터프라이즈와이드 (enterprise-wide) 차원의통합되고공유되는하나의데이터소스역할을포함해혼합작업부하 (mixed workload: 대량의데이터적재, 복잡한분석쿼리, 트랜잭션성데이터처리와같이상이한작업부하들이동시에복합적으로일어나는작업부하유형 ) 를처리하는능력을더많이보유하도록요구된다 ( 심도있는마이닝 (deep mining) 을실행하는복잡한쿼리 (query) 와빠른처리를요하는전술적쿼리의서비스레벨은서로다른기대치를가진다. 이상이한작업부하들은 CPU, 메모리, 디스크, 네트워크를두고서로경쟁한다 ). 또한데이터신선도혹은데이터대기시간 (data latency) 의요구역시일괄처리에서지속적인적재로나아간다. Exadata는 DW 및 BI의발전적경향에부응하고기존 Oracle 시스템의주요단점들 (I/O 병목, 과도하고불충분한시스템설정및튜닝등 ) 을극복하기위한노력의일환으로, 또 IBM, Teradata, Netezza( 현재의 IBM) 와같은경쟁업체에대응하기위한전략의일환으로, 나아가 OSFA(One Size Fits All) 머신을가지고새로운오라클시장을주도하고자하는계획의일환으로등장했다. 그런데 Exadata 등장의기술적배경에는이미무르익은일련의흐름 데이터베이스성능을획기적으로개선하기위한데이터베이스와스토리지의결합, 차세대데이터베이스스토리지대안인 SSS 기술, 시스템사전-구성및최적화를위한 DW appliance 접근방식등 이또한있다.
1 장 Exadata 란무엇인가? 7 1.1.2 데이터베이스와스토리지의결합 하드웨어및소프트웨어기술의획기적발전에도불구하고현재의데이터베이스의전반적성능과응답시간은여전히데이터베이스크기에영향을받는다. 성능향상과용량관리를위해다양하고새로운 ILM 솔루션을적용하고데이터아카이빙 (archiving), rolling window, 데이터압축과같은기술로데이터베이스를잘라내고압축할수는있지만, 그렇다고그것만으로필요한모든데이터가반드시온라인으로유지되고충분히쿼리가능하면서만족할만한성능이보장되는것은아니다. 여전히대형데이터베이스구현의근본과제는기존스토리지시스템의적정한도를넘어선엄청난 I/O 발생과작업부하를어떻게잘처리할것인가이다. 스토리지하부구조의전반적처리효율과처리시간은최종사용자관점의쿼리응답시간에직접적영향을미친다. 더군다나급격한데이터성장은서버와스토리지사이에거대한기술적불균형을만들었다. 그불균형이란다름아닌프로세서와디스크사이의성능갭이다. 듀얼코어 (dual core), 쿼드코어 (quad core) 프로세서의등장에서보듯, 일반적으로무어의법칙 (Moore s Law: CPU 처리능력이매 18개월혹은매 2년마다 2배씩증가한다는법칙 ) 은계속유효하다고입증되는반면, 디스크처리속도및관련소프트웨어성능은여전히이에훨씬못미치는수준으로향상되고있다. 회전하는디스크에접근하는속도의발전은 CPU 처리능력의향상을따라가지못하는것이다. 예를들어, CPU 성능은무어의법칙, 멀티-코어프로세서 (multi-core processor) 및쓰레딩 (threading) 기술의발전에따라획기적으로향상된결과, 1987년이래 2,000,000배가증가된반면, 디스크액세스타임 (disk access time) 성능은겨우 11배가향상된것이다. 오늘날의시스템에서디스크드라이브 (disk drive) 는유일한기계장치를대표한다 (1956년 IBM에의해최초로소개된디스크드라이브는분당 1,200번회전했다. 현대드라이브가분당 15,000번회전한다면, 52 년동안단지 12.5배향상된것이다 컴퓨터의다른대부분의성능은, 측정결과, 대략 7년마다 12.5배증가한다고한다. 한편디스크집적도 (density) 는 1956년이래 100,000,000배증가했고, 칩 (chip) 당트랜지스터 (transistor) 수는 1971년이래 100,000배증가했다 ). 드라이브회전을통해데이터를찾는물리적제약으로인해, 각디스크는수적으로제한된 I/O를제공할수밖에없다. 당연히디스크 I/O 속도는데이터를처리하는 CPU나그것을전송하는네트워크속도에비해너무느리다. 결과적으로디스크스토리지는대형데이터베이스구현에서반드시해결해야만하는심각한병목현상 (bottleneck) 을초래한다. 이런상황은결국새로운데이터베이스스토리지대안을고려하게끔만든다.
8 1 장 Exadata 란무엇인가? 그하나의결과가데이터베이스와스토리지의일체화지향이고다른하나는 SSS 대안이다. 데이터베이스와스토리지가더욱더하나로합쳐져구성된다. 데이터베이스와스토리지를더욱더단단히결합하기위한방법으로, 가상스토리지나자동볼륨관리와같은스토리지관리기능을데이터베이스내에포함시키기도하고, 데이터베이스인식기술을스토리지내에혹은가까이에구현하기도한다. 이러한수렴내지최적화는네트워크통행을최소화하고성능을확보하기위한하나의근간이되어데이터베이스인텔리전스 (database intelligence) 를극대화하고물리적스토리지에더욱다가선다. 수작업이가능한배제된데이터베이스성능의최적화요구가커져감에따라데이터베이스와스토리지가더욱더단단히밀결합되는 (tightly-coupled) 경향이일어나고있다. ( 현재 ) 데이터베이스와스토리지의결합에는세가지유형이있다 ( 그림 1-2). 첫번째는전통적 MPP 솔루션으로, 여기서는프로세서역할별분산처리와특화된 interconnect를근간으로한최적화기반상에서고도로정교한데이터파티셔닝 ( 주로 hashing 알고리즘사용 ) 과병렬처리의극대화 (parallel everything) 가이루어진다. 데이터베이스 I/O 또한고유의파일시스템을통해최적화된다. 이유형은가장오랜기간동안그유효성이입증된것으로, Teradata가대표적인예이다. 두번째유형은보다 I/O 특화된솔루션으로, MPP 및병렬처리의기반상에서데이터베이스인텔리전스의일부 ( 데이터필터링등 ) 를보다스토리지가까운곳에다옮겨놓음으로써, 디스크로부터 < 그림 1-2 데이터베이스와스토리지의결합 > 전통적솔루션 ( 예 Teradata) I/O 특화솔루션 ( 예 Netezza) 계층화솔루션 ( 예 Exadata) 데이터베이스서버 Database Intelligence SQL 분석 / 실행 데이터베이스서버 Database Intelligence SQL 분석 / 실행 데이터베이스서버 Database Intelligence SQL 분석 / 실행 전용프로세서 Database Intelligence 전용및특화된프로세서 Database Intelligence 스토리지서버 Database Intelligence 출처 : 오라클엑사데이터데이터베이스머신
1 장 Exadata 란무엇인가? 9 데이터가흘러나오면서바로해당데이터만걸러지도록한다. 이러한스트리밍및순차처리에기반한시스템구조및기술은또한시스템전반의운영관리를고도로단순화시킨다. 대표적인예로 Netezza가있다. 세번째솔루션은데이터베이스작업부하를데이터베이스계층과스토리지계층으로이원화해처리하는구조로, 스토리지계층에서는데이터집약적처리 ( 주로사전 I/O 제거및데이터필터링 ) 를, 데이터베이스계층에서는계산집약적처리 ( 집계, 정렬등 ) 를각각수행한다. 결과적으로작업부하분산 (workload offloading) 과아울러보다적은데이터가고속의 interconnect를통해이동됨으로써, 데이터베이스 I/O 및작업부하최적화가실현된다. 오라클 Exadata 시스템이여기에해당된다 (Teradata, Netezza, Exadata는각유형의원조이기도하다 ). 데이터베이스와스토리지의결합은데이터베이스 I/O를최적화하기위한하나의대안이다. 그런데데이터베이스 I/O나스토리지최적화를포함해, 데이터베이스최적화차원의새로운특화기술들이밀려들어오고있다. 이 제3의데이터베이스물결 속의주요기술로는칼럼오리엔테이션 (column orientation) 및칼럼기반의데이터압축, 맵리듀스 (MapReduce, Hadoop), 인-데이터베이스 (in-database) 분석, OLAP 큐빙 (cubing), 인-메모리 (in-memory) 데이터베이스, 하이브리드 (hybrid) 데이터베이스, 상관관계형데이터베이스 (correlation database), 지능적 index, 지능적스토리지, FPGA 등을들수있다. 예를들면어떤 DW 어플라이언스 (appliance) 제품의핵심기술은두개인데, 하나는폰노이만 (von Neumann) 의병목을깨는 SQL Chip이고, 다른하나는디스크 I/O 병목을해결하는칼럼오리엔테이션이다 ( 그림 1-3, 1-4). < 그림 1-3 폰노이만구조기반의현재솔루션 > SQL 명령어 CPU 레지스터메모리스토리지 출처 : Kickfire < 그림 1-4 폰노이만병목을제거하는 SQL Chip> SQL 매크로연산자 SQL Chip 메모리 스토리지 출처 : Kickfire
10 1 장 Exadata 란무엇인가? 1.1.3 차세대데이터베이스스토리지 SSS 데이터베이스성능과관련해 SSS(solid-state storage) 라는소위차세대저장장치를통해스토리지 I/O의물리적한계를보다근본적으로제거하려는경향이있다. 이는디스크 I/O 병목현상을 ( 물리적으로 ) 해결하기위해전기기계식디스크스토리지를전자식반도체스토리지로대체하는것이다. ( 주지하다시피 ) 현재의프로세서능력은 RAID controller와디스크드라이브의성능 ( 회전속도와 IOPS) 을훨씬능가한다. 결과적으로서버와스토리지시스템간의불균형은 CPU와스토리지사이의성능갭으로인해더욱심화된다 ( 그림 1-5, 1-6, 1-7). < 그림 1-5 디스크성능병목현상 > 200 180 160 140 120 100 80 60 40 20 0 SSD 성능멀티코어 CPU 성능회전식디스크 I/O 성능단일코어 CPU 성능 1996 2000 2005 2009 성능갭 출처 : Intel 만일이디스크성능문제가근본적으로해결될수있다면, 그래서 CPU와디스크의엄청난성능갭을메울수있다면, 데이터베이스성능향상을위해인덱스를만들고요약테이블 (summary table) 을만들고데이터베이스 (I/O) 를튜닝하고더많은드라이브를추가하고더큰하드웨어를도입하는등등의일들이상당부분불필요해질수있다. SSS는메모리와디스크사이의갭을메우는역할을통해디스크 I/O로부터비롯되는제반문제를해결하고자한다 ( 그림 1-6, 1-7).
1 장 Exadata 란무엇인가? 11 < 그림 1-6 종래의메모리 / 스토리지계층 > Processor CPU L1-Cache Cache (L2/L3) Memory (RAM) Disk (Virtual Memory) Register - 크기 + -접근속도 + 메모리액세스타임 <1ns 1-5ns 5-50ns 프로세서속도 3GFlops 600MFlops 60MFlops 캐시는데이터가재사용 (data locality) 될때에만작동한다. 메모리에대한랜덤액세스 ( 예 : pointer chasing) 는프로세서를메모리의속도로낮출수있다. < 그림 1-7 새로운메모리 / 스토리지계층구조 > L1 Cache L2 Cache L3 Cache RAM SSS(Flash) Disk 10-12 (Pico Sec) 10-9 (Nano Sec) 10-6 (Micro Sec) 10-3 (Milli Sec) 출처 : Sun Oracle solid-state 란 solid state physics( 고체물리학 : 고체의구조와성질그리고그와관련된현상을규명하는물리학의한분야 ) 에서유래된용어로, 원래는진공관 (electron tube) 이아닌반도체장치를가리키는의미로사용되었으나, 현재는고형의전자식 (electronics) 장치를전기기계식 (electromechanical: 전기에의해작동되거나통제되는기계장치혹은시스템방식 ) 장치와구별하기위해사용된다. SSS는종래의자기식 (magnetic) 혹은광학식 (optical) 매체와는상당히다른 IC(Integrated Circuit) 를채택한비휘발성스토리지매체로, 대용량의비휘발성메모리와동등하
12 1 장 Exadata 란무엇인가? 게기능한다. SSS 장치는움직이는부품을가지지않고, 데이터와정보는종래와같이전자적으로저장되고또이장치로부터직접검색된다. 대중적으로잘알려진 SSS 매체로는 USB(Universal Serial Bus) 플래시 (flash) 드라이브 ( 플래시메모리 USB 장치 ), JumpDrive, CompactFlash, SmartMedia, Memory Stick, PCMCIA Type I & Type II, 그리고기업용의다양한제품 ( 업체독자적 ) 이있다. SSS 장치의주요이점은 SSS가기계부품을가지고있지않기때문에, SSS에서는모든것이전자적으로처리된다는사실이다. 결과적으로 SSS를통하는데이터전송은전기기계식디스크드라이브보다훨씬더고속으로수행된다. 또한움직이는부품이없다는것은그것의작동수명이더오래갈수있다는의미이기도하다 ( 장치가적절히관리되고정전기방전에노출되지않는다는전제에서 ). 반면에단점은용량면에서전기기계식드라이브에못미치고, 비용면에서더고가라는점이다. 그렇지만가격갭이좁아지는추세이고, SSS 시장은그용량과함께성장하고있다. 현재차세대데이터베이스스토리지로채택되는 SSS 매체는대부분플래시메모리기반이다 ( 업계에서는오라클이 Exadata V2가최초의플래시최적화데이터베이스라고주장하는반면, Teradata는 SSD(solid-state disk/drive) 를채택한자사제품이세계에서가장빠른 DW 플랫폼이라고주장하고, IBM 역시이분야의원조임을내세운다 ). 플래시메모리는 DRAM(dynamic random access memory ) 이나 SRAM(static RAM) 과달리전원이끊겨도저장된데이터가그대로있을뿐아니라, 데이터의입출력도자유로운비휘발성컴퓨터스토리지장치로, 전원없이데이터를보존하는 ROM의장점과데이터입출력이자유로운 RAM의장점을모두가진다. 현재플래시메모리는주로메모리카드 (memory card), USB 플래시드라이브, 일반스토리지용의 SSD로사용된다. 원래플래시메모리는기존 EEPROM (electrically-erasable programmable read-only memory) 의특별한유형인데 (EEPROM cell 의구성과동작을변형한것으로 EEPROM에비해큰블록을사용한다 ), 비용면에서 (byteprogrammable) EEPROM보다훨씬저가이기때문에대용량의비휘발성 SSS가필요한모든곳의대표기술이되었고, 따라서휴대폰 디지털텔레비전 디지털캠코더 디지털카메라 MP3 플레이어등에널리쓰이게되었다 ( 플래시메모리라는명칭은 1984년도시바 (Toshiba) 가 Flash EEPROM이라는이름으로논문을발표한데서유래됐다 ). SSS의일종인 SSD는고체의메모리를사용해데이터를영속적으로저장하는데이터스토리지장치이지만, HDD(Hard Disk Drive) 인터페이스를에뮬레이션하기때문에대부분의애플리케이션
1 장 Exadata 란무엇인가? 13 에서쉽게 HDD를대체해사용할수있다 ( 그림 1-8, 1-9). HDD처럼알고사용하면된다는얘기다 ( 이때 SSD는디스크콘트롤러의통제와제한을받는다 ). 그러나 SSD는 HDD처럼회전하는금속원반이아닌고정된반도체에데이터를저장한다. 전자회로로읽고쓰기때문에 HDD와달리기록용금속원반과구동용모터가필요없다. 따라서 HDD보다더견고하고크기는물론전력소모와소음도줄일수있다 ( 냉각팬이사용되지않는다면소음도없다 ). 또한기계적지연이없기때문에액세스타임 (access time) 과대기시간을줄이고, 따라서데이터기록및검색속도도당연히빠른한편, 온도적응력도뛰어난것으로알려져있다. SSD는 SRAM 혹은 DRAM을사용할수있으나, 최근에는 NAND 기반의플래시메모리가대부분의 SSD에서표준으로인정된다. 1S < 그림 1-8 대기시간비교 > 100mS DRAM 과 HDD 의갭메우기 10mS 1mS 100uS 150 배의대기시간감소 10uS TAPE 1uS 100nS 10nS 1nS CPU 100,000 배의대기시간불균형 DRAM FLASH SSD HDD 출처 : Sun 그런데스토리지진화관점에서 SSD가회전식자기디스크의대체로제시되는반면, 향후의플래시의기능적대체로 SCM(Storage Class Memory) 이제시되기도한다 ( 그림 1-10).
14 1 장 Exadata 란무엇인가? < 그림 1-9 HDD 와 SSD> Spindle Head HDD SSD Platter Actuator Arm Actuator Axis Actuator IDE Connector < 그림 1-10 스토리지시스템진화 SCM> Logic Memory Active Storage Archive Storage 고속, 동기적 저속, 비동기적 1980 CPU RAM Disk Tape 2008 CPU FLASH RAM Disk Tape SSD 2013+ CPU RAM SCM Disk Tape SCM 은새로운유형의데이터스토리지및메모리장치를일컫는 IBM 용어이다. SCM 은움직이는부품이없는비휘발성의 solid state 기반으로, 메모리와스토리지의구분을희석시킨다. IBM 에의하면플래시는메모리로사용될수없다는점에서 SCM 으로는자격미달이다.
1 장 Exadata 란무엇인가? 15 1.1.4 데이터웨어하우스어플라이언스 지속적인데이터양의증가와신속한처리의요구에따라더많은스토리지, 더많은프로세서, 더많은관리가필요된다. 즉더많은데이터는더많은스토리지를가지는것만으로끝나는것이아니라, 그데이터를가지고무언가를처리할더많은프로세서를필요로한다. 스토리지에대응되는프로세서를고려해야하는것이다. 대량의데이터와제한된처리능력이만나면필연적으로성능의병목현상을초래한다. 이에따라운영비용, 하드웨어비용, 스토리지비용, 소프트웨어비용, 유지보수비용이상승한다. 그런데비용문제의실제핵심은따로있다. 그것은데이터관리비용의상승이다. 데이터크기가커지면서빅데이터환경을관리하고튜닝하고장애를처리하는등의상황이악화된다. 데이터를관리하기위한하부구조가복잡해지고, 데이터를관리하는운영적과부하가두가지차원 데이터베이스관리와스토리지관리에서급격히증가한다. 이는데이터양의증가로인해, 데이터를관리하기위한하부구조비용의상승정도가스토리지비용의하락정도보다훨씬더높다는의미이다. 데이터양이작을경우에는하부구조비용또한최소한으로유지되지만, (DW 환경에서 ) 스토리지가수TB를넘어가면얘기가달라진다 ( 그데이터를관리하기위한하부구조의비용이 TB당 $500,000에서 $1,000,000까지될수있다는얘기다 ). 스토리지관리관점에서대용량데이터베이스는반복적이고노동집약적인작업들을발생시킨다. I/O 성능을극대화하기위해데이터를스토리지시스템상에골고루분산시키고작업부하의균형을주의해서맞춰야한다. 이모든운영작업들은지속적인반복을요하고시간소모적이며많은부분에서자동화를벗어나있다. 결국데이터베이스관리관점에서대용량데이터베이스를최적으로유지하기위해요구되는튜닝및관리는고도로숙련된전문가를필요로한다. 따라서데이터베이스성장에따라그것을유지하고지원하기위해지불해야만하는비용은획기적으로증가한다. 대용량데이터베이스의관리비용은데이터베이스크기에비례하는정도가아니라, 크기가커질수록비약적으로상승한다 ( 그림 1-12). 이운영비용의상승은곧잘데이터베이스의성장과 DW 및 BI의발전을가로막는장애가될수있다. 그간 DW 및 BI 환경이성숙되면서 DW 운영과관련된많은이슈들 ( 데이터양, 스토리지, 성능, 가용성등 ) 이부상했고, 많은기업들에서 DW 유지비용은부담스럽거나엄청난것이되었다. 따라서보다비용효과적인초점에서, 대용량데이터베이스를지원하고획기적성능과확장성을보장하며단순한운영관리를제공하는경제적인 DW를구현하는것이야말로 IT가해결해야할당면한최대과제들중의하나이다.
16 1 장 Exadata 란무엇인가? < 그림 1-12 스토리지하부구조비용 > 수십만 $ 수만 $ $ 프로세서에대해서도동일조건이적용된다 ; 컴퓨터규모가작을수록프로세서업그레이드비용은낮아지고, 보다큰프로세서를가질수록업그레이드비용은높아진다. 기존처리환경에서대량의데이터는프로세서업그레이드를더많이요구한다. KB MB GB TB 출처 : TDWI 그런데저가의컴퓨팅파워, 전용화된하드웨어, 새로운데이터구조, 지능적이고정밀한소프트웨어등이등장하면서과거의개념, 아이디어, 노력대신새로운시각과관심으로새로이 DW에접근할수있는기회가생겼다. 이중 DWA(data warehouse appliance) 는뛰어난성능및확장성과용이한관리의이점을가지고 DW 구축및유지관리모두에결코적잖은영향을미친다. DW와 BI 를위해, 저비용의획기적성능향상과함께비용효과적인확장성과단순용이한관리를제공하도록특화된 DWA는분명새로운접근방식이며기존 DW 문제를해결할수있는하나의솔루션이다. appliance( 어플라이언스 ) 란사전에의하면 특정한일을수행하기위한장치혹은기계 (a device or machine for performing a specific task) 로정의된다. 즉어플라이언스란특정목적을위해만들어진블랙박스머신이다 (data warehouse appliance라는용어는 Netezza와 Dataupia의설립자인 Foster Hinshaw가 2002년처음사용한반면, data appliance란용어는 1990년대후반최초의 data appliance 구현을주장한 MPP 업체인 WhiteCross가처음사용했다 ). 그런데과거에도데이터베이스머신 (database machine) 이라는특정목적 데이터베이스애플리케이션, 성능, 용이한관리등 을위한전용플랫폼들이있었다 ( 그들중상업적으로성공을거두기는 Teradata가거의유일하다 ). 그런데왜이제와서데이터베이스머신대신에 DW 어플라이언스인가? 그이유는초기의데이터베이스머신의실패로인해형성된부정적인선입견을피하면서, 새롭게가능해진상용장치와오픈소스그리고플러그-앤-플레이 (plug-and-play) 라는차별적이점을강조하기위한의도때문으로보인다 ( 그런데아이러니컬하게도데이터베이스머신이라는이고전적명칭이최근 Oracle Database Machine으로다시나타났다. 이는아마도어플라이언스후
1 장 Exadata 란무엇인가? 17 발업체라는인식을피하면서정통성을부각시키려는또다른차별적의도때문으로보인다 ). 2000년대들어와, 본격적으로는 2000년대중반이후, 종래의 DW 기술로달성하지못했던이점들 기본적으로낮은비용으로뛰어난성능을제공하는것 을실현함으로써업계의상당한주목을받고있는솔루션으로단연데이터웨어하우스어플라이언스를꼽을수있다. 범용 RDBMS 업체들이운영과분석환경모두를위한기능과능력을계속적으로향상시키는가운데, Netezza( 현재의 IBM) 와 DatAllego( 현재의 Microsoft) 같은업체들은특별히분석환경을위해특화된 DWA라는제품을제공하는데집중했다. DWA 제품은고속의조회및적재성능을지원하기위해미리통합된서버, DBMS, 스토리지로구성된다 ( 그림 1-13). < 그림 1-13 DW 어플라이언스와 BI 하부구조 > BI 애플리케이션 DW 데이터관리 DW 데이터거버넌스 DBMS DW Appliance 서버 DW 플랫폼 스토리지 출처 : 오라클엑사데이터데이터베이스머신 주로 DW 플랫폼에서발생되는 DW의전형적제약으로일괄처리위주, 시스템사용제한, 시스템구성의복잡성, 장시간실행쿼리, 과다한요약데이터 (summary data), 최적화한계, 지속적인업그레이드주기, 다수업체들에대한개별접촉등을들수있다. DWA는이러한종래의 DW의한계를극복하고자한다. 따라서 DWA의목적은분석환경을위한성능및확장성의획기적향상, 신속한설치및용이한운영관리, 총소유비용 (total cost of ownership) 의확실한차별성을보장하는것이다. 즉보다빠른 ROI(return-on-investment: 투자회수 ) 를가능케하는보다낮은총소유비용 (TCO, total cost-of-ownership) 으로보다고성능의데이터웨어하우징을제공하는것이다. 그럼으로써이전에는기술적인 ( 성능문제 ) 혹은비용적인 ( 투자회수문제 ) 이유로불가능했던비즈니스케이스 (business case) 들을구현할수있게하는것이다.
18 1 장 Exadata 란무엇인가? 한편 DWA의성능이뛰어날수있는이유는데이터집약적처리의목적에맞는하드웨어, 소프트웨어구조를채택할뿐아니라, 고유의특화기술을통해데이터베이스 I/O 및스토리지를최적화하고병렬처리를극대화하기때문이다. 또 DWA가총소유비용을낮게가져갈수있는이유는상용요소및오픈소스의사용에따라하드웨어와소프트웨어의비용을낮출뿐만아니라, 단순한운영환경과용이한사용덕분에설치, 관리, 지원의비용을줄일수있기때문이다. 이러한고성능, 고활용도는프로젝트를보다빨리개발하고인도할수있는차별적이점을다시제공함으로써, 비즈니스가치실현에걸리는시간을대폭줄인다. 현재의비즈니스상황에서는가능한빨리 ROI를달성하는것이중요하다. DWA는신속한비즈니스가치실현으로총소유비용을감소시키고, 따라서비즈니스 ROI를증가시킨다. 실제로 DWA를사용한고객들은상당한 ROI를달성했고, DWA 사용에매우만족해하는편이다. 물론데이터웨어하우징프로젝트의총비용은 DWA 비용이상의것들을많이포함한다. 대다수의프로젝트에서가장큰비용은소스데이터를추출하고통합해서 DW에적재하는데드는시간과노력이다. DWA는이경우에도어느정도혹은상당히속도와시간의비용을줄일수있다. DWA는 DW에있어하나의논리적진화이자물리적진화이다. 더빠른정보및분석과함께더많은자원을원하는사용자들그리고결코끝나지않는백로그 (backlog) 와투두 (to do) 리스트를가진 IT 조직모두에게 DWA는하나의신속한솔루션이될수있다. 더많은데이터와더빠른처리를원하는요구가확산되면될수록고성능과확장의경제성을제공하는 DWA를검토할기회또한더욱더늘어날것이다. 궁극적으로 DW 구현은목적이아니라하나의수단이다. 그목적은다름아니라비즈니스요구를즉각적으로지원하는솔루션을제공하는것이다. DWA 사용과관련해대체로혹은의심할여지없이인정할수있는이점들이있다 낮은총소유비용, 고성능, 고확장성을비롯해용이한운영관리, 신속한구현및가치실현, 고가용성이그것이고, 부록으로원-스톱- 샵 (one-stop-shop) 을통한네가지단일화 단일목적, 단일패키지, 단일설치, 단일업체 이점이추가된다.
1 장 Exadata 란무엇인가? 19 1.2 Exadata 관점 1.2.1 스토리지병목현상 오라클이보는오늘날의데이터베이스성능은결국스토리지에의해제한되는것이다. 이유는스토리지병목현상때문이다 ( 그림 1-14); 스토리지시스템이스토리지에서데이터베이스서버로가는데이터대역폭을제한하고, 스토리지어레이 (storage array) 내부와 SAN(storage area network) 상에서데이터정체가발생하며, 물리적 ( 기계적회전의 ) 디스크속도로인해랜덤 (random) I/O 병목현상이일어난다. 결과적으로데이터대역폭제한은 DW 성능을제한하고, 랜덤 I/O 병목은 OLTP 성능을제한한다. < 그림 1-14 데이터대역폭과스토리지병목현상 > 디스크스토리지와데이터베이스서버간의너무작은대역폭 데이터베이스사용에있어, 종종디스크에서데이터베이스서버로가는데이터이동을제한하는병목현상이발생한다고오라클은지적한다. 오라클에따르면, 이는전통적스토리지제품들이좁고제한된데이터베이스-스토리지인터페이스를제공하기때문으로, 이로인해데이터베이스 I/O 경로상에서데이터대역폭을제한하는많은병목현상이발생하게되고, 따라서데이터베이스사용전반의성능이제한받게된다. 일반적으로대용량의데이터를처리하는범용데이터베이스서버가 ( 스토리지에서데이터베이스까지 ) 데이터를적정속도로전달하기위해필요한대역폭을제공하려면많은 SAN HBA(Host Bus Adapter) 를확보해야한다는것이다. 그렇지만, 오라클에의하면, 적정성능을내기위해필요한많은수의 HBA를서버가지원할수없거나제공하기에는너무많은비용이드는경우가허다하고, 필요한대역폭및이중화를제공하기위한 SAN switch의비용과복잡성또한크게증가한다. 게다가대형스토리지어레이는 ( 자체의 ) 수백개의디스크를
20 1 장 Exadata 란무엇인가? 위한적정대역폭을제공할수없기때문에, 디스크의실제성능은원래가능한수준아래로끌어내려진다. 디스크성능은디스크로가는 FCL(fibre channel loop, fibre channel: 엔터프라이즈스토리지환경에서 SAN을위한스토리지네트워킹에주로사용되는표준네트워크기술 ) 상에서또스토리지어레이의처리능력에의해제한된다. 결국스토리지병목현상은디스크 I/O, 디스크어레이, FC, SNA HBA 등에서두루발생하게된다 ( 그림 1-15, 표 1-1). < 그림 1-15 스토리지병목현상 > 병목 병목 병목 병목 병목 병목 병목 병목 전통적스토리지는 back-end disk loop, cache, controller, front-end channel, SAN link, HBA 에서병목현상이발생한다. < 표 1-1 데이터대역폭문제와스토리지병목현상 > 데이터대역폭문제 디스크스토리지와데이터베이스서버간의데이터대역폭병목으로인해종종데이터이동이제한된다. 디스크와서버사이의파이프가데이터크기에비해너무느리다 (10 배에서 100 배까지 ). 스토리지병목현상 서버내병목 : 제한된 fibre channel HBA 수 fibre channel loop 상의병목 SAN 구성의불충분및복잡성 스토리지어레이내부의병목 물리적디스크 I/O 병목 참조 : Oracle
1 장 Exadata 란무엇인가? 21 한편, 전통적스토리지장치의또다른문제는데이터베이스가스토리지상에존재하는지를인식하지못한다는것이다. 따라서데이터베이스인식 (database-awareness) 차원의어떠한 I/O 혹은 SQL도처리할수없다. 그러니까데이터베이스가필요로하는데이터를스토리지에요청할때스토리지로부터돌아오는것은데이터베이스쿼리의결과가아니라데이터블록 (data block) 들이다 ( 그림 1-16). 다시말해, 전통적스토리지는요청받은특정 row와 column을인식하는데이터베이스인텔리전스 (database intelligence) 를갖고있지못하기때문에, 데이터베이스를위한 I/O 처리시데이터베이스쿼리가요구하는것보다훨씬더많은데이터를돌려보내면서대역폭을낭비하게된다 ( 그런데이문제는스토리지장치와별개로데이터베이스자체의데이터저장구조 (row-oriented 혹은 column-oriented) 와도밀접히관련된다 ). 그래서오라클은스토리지병목현상을극복하기위해몇가지의근본적조치가취해질필요가있다는결론에이른다. 그것은바로데이터대역폭과데이터이동량그리고물리적디스크 I/O에관한것이다. < 그림 1-16 종래의데이터베이스 > 데이터요청 쿼리요청 블록블록블록 블록단위데이터이동 쿼리결과제공 데이터베이스인텔리전스부재 데이터베이스인텔리전스 1.2.2 Exadata 아이디어 Exadata 아이디어는기본적으로데이터베이스 I/O의최적화에관한것으로, 데이터베이스성능혹은데이터베이스 I/O 문제의근본원인이데이터베이스서버와스토리지간의대역폭이너무좁은데에기인한다는인식에서출발해 (Exadata V1), 랜덤 (random) 디스크 I/O의최소화로그관점이확대되었다 (Exadata V2). 그런데이 Exadata 아이디어는기존 Oracle Database( 구조와기능 ) 를그대로유지한다는전제하에서문제를해결하려는하나의대안으로나온것이라는점을특별히지적할필요가있다 ( 이기본전제는 Exadata를정확히이해하기위한하나의단초가된다 ).
22 1 장 Exadata 란무엇인가? 아무튼 Exadata 아이디어란바로너무좁은대역폭문제를해결하기위해, 보다많은파이프를추가하고, 보다큰파이프를만들고, 파이프에보다적은데이터를실어보내고, 그리고랜덤디스크 I/O를최소화하는장치및기술을제공하는것이다 ( 그림 1-17, 표 1-2). 따라서 Exadata는데이터베이스성능을제한하는데이터베이스 I/O의문제를네가지핵심차원 파이프수, 파이프크기, 스토리지와데이터베이스서버간의데이터이동량, 랜덤디스크 I/O 에서다룬다. < 그림 1-17 데이터대역폭병목현상에대한솔루션 > 디스크스토리지와데이터베이스서버간의너무작은대역폭 보다많은라인 보다큰라인 보다적은데이터이동 보다적은디스크 I/O < 그림 1-2 Exadata 이이디어 > Exadata 관점 Exadata 아이디어 데이터대역폭 파이프수 파이프크기 보다많은파이프 : 스토리지에서데이터베이스서버로데이터를실어보내는파이프수를더늘린다. 또한데이터베이스크기의증가에비례해데이터파이프가용이하게확장될필요가있다. 보다큰파이프 : 스토리지에서데이터베이스로가는개별파이프들을더크게만든다.
1 장 Exadata 란무엇인가? 23 < 그림 1-2 Exadata 이이디어 > Exadata 관점데이터이동량랜덤디스크 I/O Oracle Database Exadata 아이디어 보다적은데이터이동 : 스토리지와데이터베이스서버간에보다적은양의데이터가이동하도록데이터처리일부를스토리지자체에서수행한다. 디스크 I/O 최소화 : 랜덤디스크 I/O 를최소화하는장치및기술을제공한다. Oracle Database 유지 : 데이터베이스 ( 구조와기능 ) 와옵션이변경되지않고유지된다. 참조 : Oracle 1.2.3 Exadata 솔루션 Exadata가 Oracle Database의구조와기능을유지하면서데이터대역폭및스토리지병목현상을극복하기위해 ( 네가지관점의 Exadata 아이디어를실현하기위해 ) 제시하는솔루션의핵심은바로지능적스토리지서버이다. 오라클은웹 (web) 서버, 애플리케이션서버, 데이터베이스서버와마찬가지로스토리지서버역시별도로존재해야한다고본다 ( 그림 1-18). < 그림 1-18 Exadata 솔루션 > 웹서버 애플리케이션서버 데이터베이스서버 Interconnect 스토리지서버 Exadata 솔루션은 Exadata 스토리지서버 ( 소프트웨어포함 ) 와 Oracle Database 11gR2 데이터베이스서버그리고고속의 interconnect를하나의데이터베이스머신으로구성하는것이다. 그럼으로써 Exadata 솔루션은스토리지서버의초병렬구조를통해더많은파이프를제공하고, 고속의 interconnect를통해더큰파이프를제공하고, 스토리지서버내의데이터처리를통해보다적은데이터를 ( 데이터베이스서버로 ) 실어보내고, Exadata 플래시캐시 (flash cache) 를통해랜덤디스크 I/O를최소화하는네가지방식으로스토리지병목문제를다룬다 ( 표 1-3).
24 1 장 Exadata 란무엇인가? < 표 1-3 Exadata 솔루션 > Exadata 아이디어 Exadata 는보다많은파이프를가진다. Exadata 는보다큰파이프를가진다. Exadata 는파이프를통해보다적은데이터를보낸다. Exadata 는랜덤디스크 I/O 발생을최소화한다. 초병렬구조, 초병렬스토리지그리드 고속의 Interconnect Exadata 스토리지서버내데이터처리 ( 데이터필터링, 데이터압축 ) Exadata 스토리지서버내플래시캐시 Exadata 솔루션 초병렬구조 (massively parallel architecture) 기반 : Exadata 는데이터베이스서버와스토리지서버간에보다많은데이터를보다빨리전달하도록보다많은파이프를제공한다. 초병렬스토리지그리드 (massively parallel storage grid): 스토리지 cell( 서버 ) 이라는모듈단위의빌딩블록 (building block) 들로구성된다. 데이터대역폭은용량과함께확장된다. 보다큰파이프 (InfiniBand interconnect) 사용 : 데이터베이스서버와스토리지서버간에대단히큰대역폭을제공한다 ( 대단히짧은대기시간과함께종래의 SAN HBA 가제공하는것보다 10 배가큰 40Gb/ 초의대역폭을제공한다 ; fibre channel 보다 10 배빨리데이터를전송한다 ). 작업부하분산 : 데이터집약적처리는 Exadata 스토리지에서실행된다. 보다적은데이터이동 : 데이터베이스서버의 CPU 부하를덜어내는한편, 서버로반환되는데이터를획기적으로줄이기위해쿼리처리의일부가 Exadata 스토리지내로이동된다. 따라서 Exadata 는데이터베이스인식 (databaseaware) 을통해쿼리처리에필요한데이터만데이터베이스서버로보낼수있다. 그결과데이터베이스서버와스토리지서버간에보다적은데이터가이동하게된다. 데이터압축 (Hybrid Columnar Compression): 10 배의비용절감과상응한성능향상을제공한다 (archive 경우는 50 배의압축률을제공한다 ). 플래시캐시사용 : ( 지능적 ) 플래시캐시를통해데이터베이스처리와관련된랜덤디스크 I/O 병목현상을해결하고빠른응답시간을제공한다 ( 랜덤 I/O 성능을 20 배향상시킨다 ). 참조 : Oracle
1 장 Exadata 란무엇인가? 25 1.3 Exadata 차별성 1.3.1 Exadata 기술 Exadata는본질적으로 Oracle Database를위한스토리지의역할을새로이부여하고, Oracle Database와스토리지간의관계를재설정한다. 이특화된스토리지 ( 서버 ) 를오라클은지능적 (intelligent, smart) 혹은프로그래머블 (programmable) 이라고규정한다 ( 이는 Netezza의 FPGA 를연상시킨다 ). 나아가 Exadata는고성능및대용량의표준하드웨어와병렬처리를최대한활용하고, 곧잘오라클성능문제를유발시키는사용자에의한시스템구성의오류를방지하기위해사전구성 (pre-configured) 방식으로시스템을제공한다. 결과적으로 Exadata 시스템은이전의 Oracle 시스템에비해향상된데이터처리효율및성능을제공할수있다 (. Exadata 시스템은 Oracle Database를위해하드웨어와소프트웨어가완전히통합된데이터베이스플랫폼으로, Exadata Storage Server와 Oracle Database Server 그리고 interconnect로구성된다. Exadata Storage Server는 Oracle Database를위해최적화된지능적스토리지로, Exadata 시스템의근간이된다. 이 Exadata 시스템의가장큰특징은종래의스토리지가데이터베이스인식스토리지서버로대체됨으로써, 쿼리 ( 트랜잭션 ) 처리가데이터베이스서버와스토리지서버로이원화되는 2계층구조라는점이다 ( 그림 1-14). 초병렬데이터베이스그리드 : 계산집약적처리 데이터필터링을제외한대부분의오퍼레이션 병렬실행 < 그림 1-19 Exadata 2- 계층아키텍처 > Oracle Database Server Oracle DBMS 데이터베이스계층 Interconnect Exadata Storage Server Exadata 소프트웨어 Disk Array 스토리지계층 초병렬스토리지그리드 : 데이터집약적처리 Smart Scan Hybrid Columnar Compression Storage Index Smart Flash Cache
26 1 장 Exadata 란무엇인가? 여기서스토리지계층은데이터필터링, 데이터압축, 데이터캐싱 (caching) 을포함한데이터집약적처리를수행하고, 데이터베이스계층은필터링을통해걸러진데이터에대해다른모든오퍼레이션 ( 집계, 정렬등 ), 즉계산집약적처리를수행하며, 각계층은서로 interconnect를통해연결된다. Exadata는데이터양의급증에따른비용증가와성능저하등의근본문제를데이터베이스플랫폼차원에서해결하기위해개발된것으로, 무엇보다대용량의데이터를대단히빨리처리할수있는아키텍처구현에중점을두었다. 따라서 Exadata는초병렬그리드및고속의 interconnect 를통해서버와스토리지를연결하는네트워크파이프의크기와수를늘리고, 스마트플래시캐시 (Smart Flash Cache) 라는고속의대용량플래시메모리를채택한다. 또한스마트스캔 (Smart Scan) 이라는오라클고유의지능적쿼리기술, 스토리지인덱스 (Storage Index) 라는불필요한데이터의사전제거기술, HCC(Hybrid Columnar Compression) 라는보다효율적인데이터압축기술을적용하는등, 새로운시스템아키텍처와기술을통해데이터및 I/O 병목문제를해결하고처리속도를향상시키고자한다. 이가운데특히스마트스캔은대용량의데이터처리과정에서발생하는네트워크나프로세서의병목문제를보다근본적으로제거하려는 Exadata의핵심소프트웨어기술이다. 종래에는쿼리실행시, 모든데이터를데이터베이스서버로불러들이는이유로해서곧잘네트워크나프로세서의병목문제가불거졌다. 그런데스마트스캔을적용하면스토리지로부터필요한데이터만가져올수있어대용량의데이터를매우빠르게처리할수있다. 스토리지인덱스는스토리지에저장된칼럼의최소값과최대값을디스크용량전체에걸쳐추적함으로써, 쿼리 (WHERE 절 ) 에서지정된데이터 ( 칼럼값혹은범위 ) 를포함하지않는데이터블록 (Storage Region) 을 I/O 대상에서제외한다. 따라서불필요한데이터에대한 I/O를사전 ( 데이터스캔전에 ) 에방지할수있다 ; 스토리지인덱스는스마트스캔에앞서수행된다. HCC는데이터압축을최적화하기위해 ( 관계형데이터베이스데이터에대한새로운유형의데이터저장방식인 hybrid columnar 의채택을통해 ) 칼럼기준의새로운데이터압축기술을적용함으로써, 데이터가차지하는스토리지공간을줄이고상응하는성능향상 (I/O 감소와데이터대역폭절약 ) 효과를제공한다 ( 오라클은 10배의데이터압축률을기준으로할때, DW table의크기는 10배로줄고쿼리는 10배더효과적으로실행될수있다고주장한다 ).
1 장 Exadata 란무엇인가? 27 Exadata의주요특성인 Exadata 스마트플래시메모리는메모리카드형태로 Exadata Storage Server에추가돼, 새로운메모리계층 (CPU-캐시-메모리-플래시-디스크) 을구현한다 (Exadata 스마트플래시캐시는오라클이최근 10년간의최대기술들중의하나로꼽는 Sun FlashFire에서나왔다 ). 하나의 Exadata 시스템 (full-rack 기준 ) 은총 5TB의플래시를표준용량으로제공하는데, 여기에새로운데이터압축기술 (HCC) 이적용될경우, 50TB(5TB x 10배압축률 ) 로확장된다고오라클은주장한다. SQL이 Oracle에전달되면, Oracle Database는지능적으로처리일부를스토리지서버로덜어낸다. 그러면 Exadata Storage Server는데이터블록전체가아니라쿼리에필요한로 (row) 와칼럼만을데이터베이스로돌려보낸다. 이스마트스캔기능을통해시스템은데이터이동량을크게줄일수있다. 이줄어든데이터흐름은다시, 쿼리를실행하고결과를제공하는데걸리는전체처리시간을줄인다. 여기서 HCC는높은압축률 (Query Mode는 10배, Archive Mode는 50배 ) 을제공함으로써대량의데이터가효과적으로스캔될수있도록한다. 스토리지인덱스는스캔프로세스에서적절한데이터만스캔되도록보장하기위해불필요한데이터 (row) 를사전에제거하는가장빠른방법을제공한다. 스토리지인덱스를통해불필요한로를제거함으로써스캔되는로수를크게줄일수있다. Exadata 스마트스캔, HCC, 스토리지인덱스는각기 Exadata 성능퍼즐을맞추는대단히중요한부분들로, 상호연동을통해상승효과를만들어내고공동으로 Exadata 스토리지솔루션을완성한다 ( 그림 1-20). 그렇지만스토리지와데이터베이스간의좁은대역폭접속은이들이점을한번에날려버릴것이다. 이문제를방지하기위해 Exadata는 Exadata 스토리지서버와데이터베이스서버간에인피니밴드 (InfiniBand) 접속을제공한다. 상대적으로새로운기술인 InfiniBand는전통적이더넷 (Ethernet) 보다훨씬더큰대역폭을제공한다. Exadata는이 InfiniBand 상에서스토리지와데이터베이스서버간의통로를종래보다더많이추가할수있다. 결국 Exadata Storage Server는불필요한데이터를읽고전송하는데시간을소모하지않고, 필요한데이터를더크고더많은파이프를통해전송한다. 여기에지능적스마트플래시가디스크 I/O의효율적제거에가세하고, 디스크 I/O와데이터통행을더한층줄이기위해 Oracle Database 11gR2는인- 메모리 (In-Memory) 병렬쿼리실행을제공한다. 이것이 Exadata의성능비결, Exadata 시크릿이다. 오라클 RAC(Real Application Cluster) 는여전히, 복수의서버노드로확장하는스케일 - 아웃
28 1 장 Exadata 란무엇인가? (scale-out) 컴퓨팅을위한기반이다. 오라클그리드컴퓨팅 (grid computing) 은이 RAC에의해가능한것으로, RAC 구현의중심에있다. 또스토리지관리를단순화하고자동화하는 ASM(Automatic Storage Management) 은견고하고유연한스토리지하부구조의기반으로, (SMP는물론이고 ) RAC를스토리지차원에서지원한다. 한편 Exadata 시스템은랙 (rack) 최적화된시스템구성 (quarter-rack, half-rack, full-rack) 중에서하나를선택할수있기때문에, 서버와스토리지가통합된솔루션을 ( 캐비닛내에장착되는 ) 보다작은단위로시작할수있고, 필요에따라단위를추가함으로써 ( 혹은새로운랙을추가함으로써 ) 용량과성능을함께확장해나갈수있다. Exadata는확장가능한데이터베이스및스토리지엔진과함께 RAC 그리드컴퓨팅소프트웨어와 ASM 스토리지관리소프트웨어, Linux나 Solaris OS를사용해, 스케일-업 (scale-up) 시스템 (SMP) 이아닌, 스케일-아웃시스템을제공한다. 그런데한가지중요한점은, 이러한 Exadata 시스템상에서작동하기위해애플리케이션이나데이터베이스가수정될필요는없지만, Exadata의특성과기능을십분활용하기위해애플리케이션과데이터베이스레벨에서적절한디자인과구현이고려될필요가있다는것이다 ( 2부 Exadata 구현 참조 ). < 그림 1-20 Exadata 시너지 > 10TB 의사용자데이터 10 TB 의 IO 필요 압축수행후 1TB (HCC) 파티션제거로 100GB (Partition Pruning) 스토리지인덱스적용으로 20GB 스마트스캔적용으로 5GB ( 메모리혹은플래시상 ) 초단위의응답시간 (Exadata Database Machine 상 ) 데이터는 10 배줄어들고, 스캔은 2000 배빨라진다. 출처 : Oracle
1 장 Exadata 란무엇인가? 29 1.3.2. Exadata 용도 오라클은 Exadata가모든작업부하에대해작동하고확장하는유일한데이터베이스머신이라고주장한다. 오라클에의하면, Exadata는강력한성능을기반으로모든데이터관리, 즉데이터웨어하우징, OLTP 애플리케이션, DBMS 통합 (consolidation) 모두에적합한플랫폼이다 ( 표1-5). 오라클 DBMS를사용하는곳이라면누구나 Exadata를도입해보다쉽게 DW를구축할수있고, ERP, CRM과같은 OLTP 애플리케이션을운영할수있으며, 다양한 DBMS를단일환경으로통합할수있다는것이다. 그러나Exadata상에OLTP와DW를통합할수있다고해서, Exadata상에 OLTP와 DW를통합해야 ( 만 ) 하는것은아니다. 이는간단한일이아니고, 현재로서는이러한통합에이에대해제시할수있는베스트프랙티스도없기때문이다. < 표 1-5. Exadata 용도별성능이점 > DW 를위한최적의성능 OLTP 를위한최적의성능 혼합작업부하를위한최적의성능 데이터집약적쿼리처리와데이터마이닝스코링 (data mining scoring) 등을데이터베이스서버로부터덜어내보다데이터가까이로가져옴으로써, 쿼리성능과동시 (concurrency) 처리모두를향상시킨다. hot data 를 Sun FlashFire 에그대로옮김으로써디스크랜덤 I/O 병목문제를해결한다 ( 비즈니스애플리케이션에대해 10 배빠른 I/O 응답시간과 10 배적은디스크사용을가능케한다 ). 초병렬서버그리드 (massively parallel server grid) 상에데이터웨어하우징, 트랜잭션프로세싱, 혼합작업부하를통합함으로써, 제삼자제공의특화된하드웨어, 보안, 관리솔루션의비용부담을없앨수있게한다. 출처 : Oracle Exadata 시스템에서데이터베이스통합이란 Exadata 시스템내에복수의 Oracle Database를둘수있고, Exadata 시스템내의모든 Oracle Database는스토리지서버와데이터베이스서버를공유할수있다는의미이다. 따라서데이터베이스, 스토리지, 데이터베이스서버가 Exadata 시스템내로모두통합될수있다. 이때 Exadata는자원할당, 작업우선순위, 작업부하균형을관리함으로써, 모든애플리케이션을위한고성능플랫폼을제공할수있고, 공유환경내에서응답시간을예측할수있으며, 모든데이터의요구를수용할수있다고오라클은주장한다 ( 표 1-6, 그림
30 1 장 Exadata 란무엇인가? 1-21, 표 1-7). < 표 1-6. Exadata 용도 > DW OLTP DC 대량데이터를빨리처리하기위한초병렬대용량하드웨어 스토리지내데이터집약적처리 대부분의분석능력보유 OLAP, statistics, spatial, data mining, real-time transactional ETL, point query 강력한 DW 최적화 partitioning, bitmap indexing, join indexing, materialized view, result cache 그리드 (grid) 상의실제비즈니스애플리케이션실행 고유한장애극복가능스케일 - 아웃 OLTP 데이터베이스 RAC, Data Guard, Online Operaion(Online Index Rebuild, IOT, Online Table Redefinition 등 ) OLTP 에적합한장애극복가능스케일 - 아웃스토리지 ASM, Exadata 통합 하나의시스템내상이한작업부하들의혼합 DW 위주의대량데이터처리 OLTP 위주의랜덤업데이트 멀티미디어위주의스트리밍 (streaming) 파일 고성능에의한모든혼합작업부하처리가능 응답시간예측가능 모든작업부하에대해작동하고확장하는유일한데이터베이스머신 다중 - 데이터베이스, 다중 - 애플리케이션, 다중 - 사용자환경내의응답시간예측가능 참조 : Oracle
1 장 Exadata 란무엇인가? 31 < 그림 1-21 Exadata 데이터베이스통합 > ERP 12.5% CRM 25% Warehouse 25% Data Mart 25% HR 12.5% 데이터베이스통합 모든애플리케이션을위한고성능저비용플랫폼 공유환경내예측가능한응답시간 모든데이터요구수용 완전성, 개방성, 통합성 DW Database ERP Database CRM Database..... InfiniBand Switch/Network Exadata Cell Exadata Cell Exadata Cell DW 와 OLTP 모두를위한용도 ( 혼합가능 ) 출처 : Oracle
32 1 장 Exadata 란무엇인가? < 표 1-7 Exadata 데이터베이스통합 > 데이터베이스스토리지통합 Exadata 와 ASM 은모든스토리지서버가 ( 데이터베이스들에 ) 공유될수있게한다. 공유시스템구성 ASM(data striping) 은모든데이터베이스를모든스토리지상에분산한다. hot-spot 저장공간과확보되고도사용되지않는저장공간을제거한다. 완전한스토리지그리드 ( 성능 ) 가모든데이터베이스에가용하다. 데이터베이스혹은클러스터수준의스토리지보안이지원된다. 예측가능한성능 Exadata I/O Resource Manager 는예측가능한성능을보장하기위해 I/O 의우선순위를매긴다 (user, job, application, database 레벨에서 ). 독립된스토리지가불필요하다. 데이터베이스서버통합 복수의데이터베이스가복수의 Exadata Database Machine 서버상에서운영될수있다. 공유시스템구성 애플리케이션은하나이상의데이터베이스서버상에서실행되는하나의 database service 에접속된다 (service 는동적으로확장, 축소, 이동될수있다 ). 대형애플리케이션은 RAC 를통해노드들상으로확장될수있다. 복수의작은데이터베이스는단일노드상에서운영될수있다. 예측가능한성능 Instance Caging 은복수의데이터베이스가동일노드상에서운영될때, 성능예측가능한 CPU 자원 ( 사용 ) 을제공한다 ( 각데이터베이스 ( 인스턴스 ) 를프로세서 (CPU core) 들의일부로제한한다 ). 참조 : Oracle 1.3.2 Exadata 이점 오라클은 Exadata 사용에따른주요이점으로성능, 확장성, 비용절감, 조기사용, 표준화를제시한다 ( 표 1-8). 오라클에의하면, 먼저빠르고예측가능한성능 (DW에대해 10-100배, OLTP에대해 20배성능향상 ) 은고속의인터커넥트를비롯해플래시메모리와같은하드웨어요소, 스마트스캔, 스토리지인덱스, HCC와같은소프트웨어기술그리고오라클모범사례에근거한사전구성 (pre-configuration) 등을통해실현가능하다. 전통적스토리지를사용하는전형적 DW에서는데이터대역폭병목현상으로인해, 데이터베이스크기가증가하면서대형 table의스캔시간
1 장 Exadata 란무엇인가? 33 < 표 1-8 Exadata 이점 > 성능 DW 를위한획기적성능향상 (10-100 배 ) 보다많은파이프 : 초병렬구조 보다넓은파이프 : 종래의스토리지보다 5 배더빠른속도 보다적은데이터전송 : 스토리지내데이터처리 OLTP 를위한획기적성능향상 (20 배 ) 플래시메모리 : 랜덤 I/O 최소화 확장성 비용절감 ( 낮은 TCO) 조기사용 표준화 혼합작업부하 스토리지절약 가용성 & 보안 무제한의확장성 데이터양의증가에따른선형적성능 ( 데이터대역폭 ) 확장 랙최적화 Oracle 의하드웨어 / 소프트웨어통합솔루션 기존의 Oracle 투자보호 : 데이터베이스및관리비용절감 스토리지비용절감 업계표준시스템 ( 구성요소 ) 사전구성시스템 : 하드웨어, 소프트웨어가포함된하나의완전한시스템 신속한설치 단일지원 단일 Oracle 환경 : OLTP 와 DW 시스템모두를위한 Oracle 표준화 ETL 복잡성감소 기존애플리케이션에대한투명성 ( 변경불필요 ) 기존방식대로의데이터베이스관리 ( 기존 Oracle DBA 스킬활용 ) transaction/job 레벨의품질서비스 다용도 : DW, OLTP, DBMS 통합 데이터압축 미션크리티컬 장애복구, 백업, Point-in-Time Recovery, 데이터검증, 암호화 참조 : Oracle 이급격히늘어난다. DW는점점더커져만가기때문에성능문제는시간이갈수록점점더악화된다. 대신에 Exadata를사용하는 DW에서는 DW의크기가증가할때 Oracle Exadata 서버를더많이추가함으로써데이터대역폭을선형적으로확장할수있다 ( 그림 1-22). 이는 table이더커
34 1 장 Exadata 란무엇인가? 지더라도쿼리는여전히동일시간내에결과를내놓을수있고, 따라서 DW가계속성장하더라도성능문제를겪는대신더많은비즈니스통찰을얻을수있고더나은의사결정을내릴수있다는의미이다. < 그림1-22 Exadata성능및확장성 > Table Scan Time 10 시간 5 시간 1 시간 전형적 DW Exadata 1TB 10 TB 100 TB Exadata 는오라클의지능적소프트웨어에의해사용되는강력한하드웨어를제공한다. 성능은용량과함께확장된다. 결과 더많은비즈니스통찰 더나은의사결정 경쟁력제고 Table Size 출처 : Oracle 확장성은데이터양의증가에따라성능및데이터대역폭을선형적으로향상하기위해 Exadata 시스템을스케일-업 ( 하나의랙내 ) 과스케일-아웃 ( 복수의랙 ) 으로용이하게확장해나갈수있다는것이다. 따라서속도 X와용량 Y의요구를만족시키는시스템 Z가바로 Exadata가제시하는것이다. 그것은일정한사용자데이터에대해일정한처리효율을제공하기위해적절한수의 Exadata Storage Server와 InfiniBand switch를가지고 Oracle Database가설치된시스템이다. 만일하나의랙으로충분치않으면, 복수의랙으로확장해나간다. 비용절감은기존의 Oracle Database 투자를보호할수있고기존의데이터베이스관리기술을계속적으로사용할수있는데따른운영비용과스토리지비용의절감그리고업계표준의아키텍처채택에따라가장최신제품 ( 서버, 스토리지, 네트워크등 ) 을사용하는것으로가능하다. 조기사용은하드웨어와소프트웨어가포함된완전한시스템을신속히설치및가동할수있고, 모든
1 장 Exadata 란무엇인가? 35 하드웨어와소프트웨어에대해오라클로부터단일지원을받을수있다는것이다. 이와아울러종래의환경에서수주에서수개월이걸리는준비및설치기간을 Exadata 환경에서는불과일주일내에완료할수있음으로써, 빠른투자회수및리스크최소화또한가능하다 ( 그림 1-23). < 그림1-23 조기사용및리스크감소 > 구성요소들을가지고완전히처음부터구축 OWI 참조구성 Exadata 시험및검증 설치및구성 구성요소확보 사전구현시스템사이징 수주에서수개월 시험및검증 설치및구성 구성요소확보 수주 보다신속한사용 보다낮은리스크 데이터베이스사전설정 Oracle Database Machine 인도 인도후 1 주내 출처 : Oracle 표준화란 Oracle 환경의표준화를의미한다. Exadata 시스템은 DW와 OLTP 모두에대해 Oracle 표준을적용할수있고, 기존의 OLTP 혹은 DW 애플리케이션에대해어떤변경도요구하지않는다. Exadata는업계표준하드웨어, Linux( 혹은 Solaris), Oracle Database에기초하기때문에, 기존의애플리케이션에대해투명하게작동하고기존방식대로데이터베이스를관리할수있다. 1.3.4 Exadata 포지셔닝 Exadata는주로 Netezza( 네티자 ) 와 Teradata( 테라데이타 ) 의특화된 DW 시스템그리고확장가능한 IBM 서버 (Power System과 System z 메인프레임 ) 와경쟁하는것으로자리매김된다. 오라클은특히 ( 특정작업부하를위해 ) IBM DB2나 Oracle Database를사용하면서확장성이가장뛰어난 IBM 서버와가격과성능으로경쟁할의도를분명히가지고있다. 오라클은또한적어도 ( 보
36 1 장 Exadata 란무엇인가? 다오래된 SMP 시스템에서작동중인대형오라클데이터베이스 ( 크기가수TB에서수PB의범위에있는 ) 들중일부를새로운컴퓨팅패러다임으로옮길강력한의지를가지고있다. 이는상당히중요하다 왜냐하면대형데이터베이스및데이터웨어하우스의대부분은현재의서버하드웨어를확장해나가기를원하는데, 그핵심이유는확장가능한서버, 특히 Unix 서버를선호하기때문이다. 따라서오라클은이러한목적에 ( 대형데이터베이스를스케일-아웃옵션을가진표준서버의단일시스템에서시작할수있도록하는 ) Exadata를제공하기를 ( 기존시스템을 Exadata로대체해나가기를 ) 원한다. Exadata의주고객대상은우선적으로기존의오라클고객이될것이다. 오라클은 Exadata 고객확보에있어, Oracle Database를사용하며시스템포화혹은한계에이르거나데이터베이스플랫폼의표준화에관심을가지거나새로운플랫폼을도입할필요가있는대형고객을일차적표적으로삼을것이다 ( 오라클은어떤특정 DW 플랫폼고객의 80% 는또한오라클고객이기도하다고강조한바있다 ). 고객입장에서는플랫폼표준화, 통합의차원에서성능과비용양쪽의이점이보장되기만한다면충분히검토해볼여건이마련된셈이고, 경쟁업체들입장에서는대단히강력한경쟁자가부상한셈이다. 전형적으로 10TB를초과해 PB로들어가는범위가 Exadata 머신이성능과확장성을확실히제공하는영역이라볼수있다. 중요한점은, 디스크공유구조 (shared disk architecture) 기반인오라클이대형데이터웨어하우징에서그주요단점들을극복하기위한노력의일환으로내놓은 Exadata가이제 DW와 OLTP 지원모두를겨냥한다는것이다. 이두작업부하는미션-크리티컬애플리케이션을지원하는확장가능한 Unix 시스템이나메인프레임상에서곧잘혼합적으로나타날수있다. 그리고이러한유형의서버는사용자들이상당한관심을가지고주시하는대상이다. Exadata를위한최상의적소로예상할수있는곳은데이터베이스작업부하들을적극적으로통합하고 ( 초 ) 대형데이터베이스를보다빠른속도로처리하고자하는메가데이터센터 (mega-data-center) 이다. 이에근거해오라클은머지않아 Exadata( 류 ) 가오라클의주력제품이될것으로예상한다 ( 그림 ). 한편기술면에서, 얼핏종래의단일구조를복잡하게만든것처럼보이는 Exadata의 2계층의구조에대해, 오라클은데이터베이스를스토리지에보다가까이두었다고주장하는반면, 오히려둘사이의거리를더벌려놓았다는비판도있다. 나아가 Exadata( 스마트스캔 ) 가전혀지능적이지도효율적이지도않다는지적도있고, ( 그것이데이터베이스서버로보내지는데이터양을줄일수있는것은사실이라하더라도 ) 그구조를유지하는데드는막대한하드웨어투입의효율성에
1 장 Exadata 란무엇인가? 37 관한논란도있다. 그렇지만 Exadata 시스템아키텍처, 하드웨어구성, 비용등과관련된지적이나논란에도불구하고, Exadata 시스템의시장진입은일단성공적으로평가되는듯하다. 주요평가기관에서 Exadata 시장진입을포괄적으로인정하고, 시장 ( 특히 DW 어플라이언스및분석 DBMS 업체들 ) 에서는여러모로강력한경쟁자가부상한것으로받아들이는분위기이며, 차츰 Exadata 고객사례가늘고있기때문이다. Exadata는통합시스템을제공하고자하는오라클목표의시작이다. 아마도앞으로상당기간, 막대한투자가계속될것이다.