기술문서 CA AllFusion TM ERwin DataModeler 에서 Embarcadero ER/Studio 로의마이그레이션가이드 차세대데이터모델링솔루션으로의마이그레이션에대한단계별가이드 2009 년 4 월 Corporate Headquarters Asia-Pacific Headquarters DevGear 100 California Street, 12th Floor L7. 313 La Trobe Street 서울특별시서초구 San Francisco, California 94111 Melbourne VIC 3000 반포동 743-1 4층 Australia 데브기어
소개 데이터의양은급격하게늘어나고있고, 데이터를저장하는데이터베이스의구조는이전어느때보다도더욱복잡해지고있습니다. 기업은이제보다새롭고정교한방법으로회사의데이터자산을이해할목적으로데이터모델을주시하고있습니다. 예전까지는단지애플리케이션개발자들이데이터베이스구조를이해하기위해데이터모델을파악하려고애를썼습니다. 하지만, 이제는근본적인비즈니스질문에대한해답을구하기위해데이터모델을파악하고있습니다. 예를들어 고객에대한단일 (single) 한정의는무엇인가? 와같은중요한질문등입니다. 기업들이이러한비즈니스문제해결을기대하게됨에따라, 높은수준의하이 - 엔드기능을가진데이터모델링도구를보다잘활용할필요가있게됩니다. 기존의 ERwin 사용자가메타데이터영향분석과추적과같은기능을보고나면, 이제 변화가필요한 시점이되었음을알게됩니다. 이가이드는 ER/Studio 로업그레이드를하여얻을수있는것이무엇인지, 그리고어떻게진행하는지를설명합니다. 변경에따른영향은최소화하면서도, 기존의데이터모델에내포된지적자산은보존되어야합니다. ERwin 과비교했을때수많은차세대특장점을가진 ER/Studio 가업무생산성을현격하게높여주고비용절감을원하는엠바카데로고객이라면이미경험하였습니다. AllFusion ERwin Data Modeler를넘어서는 ER/Studio의장점 보다수준높은모델파일시스템기술 ER/Studio 는하나의일반적인논리모델을유지하면서다수의독립적인물리모델을생성하고각각을논리모델과연결할수있습니다. 또한이모두가하나의.dm1 파일에모두저장될수있습니다. ERwin 에서이렇게하려면파일을여러개만들어야하므로논리와물리모델요소간을서로연결하여추적할수없게됩니다. ER/Studio 는각각이분리되면서도서로통합될수있는방식을취하기때문에논리모델, 물리모델, 실제데이터베이스동기화와업데이트에대해완벽하고도손쉬운솔루션을제공합니다. 따라서연결이안되어있는수많은파일을동기화하기위해별도의수고를들일필요가없으며아래와같은이점을가지게됩니다 : Oracle, MS-SQL 등다수의이기종데이터베이스플랫폼기반으로된기존의데이터베이스애플리케이션을관리할때, 본래의논리모델로연관성을가지고연결추적할수있습니다. 애플리케이션을프로토타이핑하여 Access 와같은프로토타입환경에서먼저구축한후 Oracle, MS-SQL, Sybase 와같이보다견고한실운영 RDBMS 로단계적으로마이그레이션할경우에파일을여러개다룰필요가없습니다. 단일한환경에서테스트 DB, 개발 DB, 운영 DB 의물리모델을한꺼번에관리할수있습니다. Where Used 기능을통해영향분석과추적이가능합니다. 보다수준높은메타데이터영향분석및추적능력 ER/Studio 를이용하여원본논리모델과다중물리모델들간의추적관리가가능합니다. 하나의파일에서여러개의모델을관리하기때문에 ERwin 보다영향분석은더쉬워지고신뢰도또한높아집니다. 이외에도, Where Used 로다음과같은기능을제공합니다 : 2
Where Used 기능으로데이터사용, 영향분석이가능합니다. 비즈니스논리엔티티가여러개의물리모델들에서사용된구체적인지점을식별할수있습니다. Where Used 는물리데이터베이스디자인과정에역정규화된논리엔티티를식별합니다 사용자정의 맵핑기능으로모델러가거꾸로접근해야할경우에도서로다른논리모델과물리모델을맵핑할수있습니다. 하나의논리엔티티로부터만들어진두개의서로다른테이블이다른이름을가지고있는것을보여주는 Where Used 의예시. 그림 1 엔티티에디터 보다수준높은비쥬얼데이터라이니지특징 시스템간의데이터라이니지 ( 흐름 ) 를문서화하는것은크리티컬합니다. 특히 SOA 를구현하거나, DW( 데이터웨어하우징 ) 프로젝트진행, CDI/MDM 프로젝트등기타통합작업시더욱그렇습니다. ER/Studio 의데이터라이니지를통해모델러는데이터가시스템간에어떻게표현되는지를시각적인흐름으로파악할수있습니다. 모델러는원본 / 타겟을모델단위에서맵핑할수있으므로엑셀, Access 등별도의파일로관리할필요가없습니다. 데이터흐름의각컴포넌트는 ER/Studio 의 Where Used 기술에적용되어서어떠한데이터흐름프로세스가무슨엔티티와테이블이관련되는지에대해영향분석을할수있습니다. 보다수준높은다이어그램레이아웃특장점 데이터모델러가늘상겪게되는어려움은어떻게하면 읽을수있는다이어그램 을만들것인가하는것입니다. ER/Studio 는업계에서가장효율적인자동다이어그램레이아웃옵션을제공합니 3
다. 이옵션은다이어그램정보가전혀없는데이터베이스즉 sql DDL 이나, 데이터베이스카탈로그등에서부터바로리버스 - 엔지니어링을하게될때특히유용합니다. 레이아웃옵션은다음과같습니다 : Circular ( 원형 ) Orthogonal ( 직각형 ) Tree ( 트리형 ) Hierarchical ( 계층형 ) Symmetric ( 좌우대칭형 ) Disconnect Elements ( 자유형 ) 레이아웃옵션은각각보다읽기쉽고, 이해하기쉬운다이어그램을제공합니다. 보다수준높은다이어그램네비게이션 ER/Studio 는크고복잡한데이터모델을위해보다향상된네비게이션을설계, 제공합니다. 따라서, 사용자의생산성을현격하게높일수있도록되었습니다 : 중첩된서브모델 ( 즉. 서브모델밑에서브모델, 그밑에서브모델 ) 을통해모델러는보다단순하게 서브셋 다이어그램을영역을만들고, 관심있는특정영역에만집중할수있습니다. 다양한네비게이션 : 메인다이어그램 ( 전체통합다이어그램 ) 화면에서패닝과줌인기능이제공됩니다. 관계 (Relationship) 네비게이션을통해멀리떨어져있는관계된테이블로이동할수있습니다 ; 필요시이기능은자동으로다이어그램을걸쳐해당엔티티를쫓아가며움직입니다 오버뷰윈도우에서썸네일뷰를통해다이어그램을쫓아갑니다 ( 패닝 ) 별도의줌윈도우에서는마우스커서가위치한곳의아이템을 100% 확대하여보여줍니다. 이윈도우는다이어그램의상세내용을살펴볼때유용합니다. 메인다이어그램 ( 통합다이어그램 ) 의내용이너무작게보이는경우에사용합니다 ( 줌-아웃 ) 다이어그램의각오브젝트를표현하는방식이훨씬다양합니다 : 논리이름옆에물리이름을나란히표시가능 테이블에바인딩되어있는인덱스표시가능 엔티티나테이블에첨부태그 (Attachments: 예 : 사용자정의태그 ) 표시가능 코드오브젝트 ( 프로시저머티리얼라이즈뷰, 펑션등 ) 를다이어그램에표시가능 보다수준높은모델공개와커뮤니케이션 ER/Studio 엔터프라이즈에는웹포탈이포함되어있습니다. 웹포탈은거의실시간으로리포지토리 ( 엔터프라이즈에디션에포함되어있음 ) 의정보를공개합니다. 개발자, DBA, 업무분석가는웹브라우저를통해모델메타데이터를브라우징, 조회, 검색, 문서작성할수있습니다. 따라서모델에대한커뮤니케이션과정이현격하게향상됩니다. 정보공개와전달이 셀프 - 서비스 될수있기때문입니다. 더이상모델이바뀔때마다리포트를새로고치는작업을할필요가없습니다. 포탈에는검색과리포팅에최적화된별도의리포팅리포지토리가있습니다. 이것은 ETL 프로세스를통해 ER/Studio 리포지토리와동기화를유지합니다. 보다수준높은메타모델작성및확장기능 4
메타모델확장기능첨부태그 (Attachments) 시스템은 ER/Studio 사용자들이매우널리활용하는기능입니다. 사용자의고유한요구에맞게데이터모델의모든영역에서별도의메타테이터를태깅할수있기때문입니다. 그저 전형적인 엔티티, 어트리뷰트, 데이터타입, 관계 (relationship) 정보만을보여주는데이터모델에서이제는그이상을표현할수있습니다. 따라서기업전반에걸쳐보다넓은층의관계자가데이터모델을활용할수있게됩니다. 첨부태그 (Attachments) 를통해기업전반에걸친데이터가버넌스정책, 데이터관리책임, 정보작업흐름등의설명메타데이터에포함시켜표현할수있습니다. 또한 ER/Studio 는보안등급관련스키마를표시하여주의관리하고, 사생활보호정책을관련법규에맞도록데이터와문서를맵핑할수있습니다. 자동화인터페이스와 VBA 를통한확장기능 ER/Studio 에는이미작성되어있는 VB 매크로가들어있습니다. 따라서 ER/Studio shell 을모두프로그램적으로엑세스할수있습니다. 수십가지의이미작성되어있는매크로는바로사용될수도있고편집. 변경될수있으며, 확장되어고유한비즈니스요구에맞게사용자만의매크로로추가될수도있습니다. 모델을엑셀로익스포트하기, 엑셀파일로부터참조값임포트하기, 데이터타입변환기, 프라이머리와포린키생성기등간단하고실용적인매크로는이미내장되어있습니다. 보다수준높은메타데이터 ER/Studio 와 ERwin 모두딕셔너리시스템을제공합니다. 딕셔너리시스템은도메인, 룰, 유효값등재사용컴포넌트를작성하고엑세스할수있도록해줍니다. 하지만, 여기까지만비슷할뿐입니다. ER/Studio 의데이터딕셔너리시스템과 Where Used 인터페이스는오브젝트추적수준에제한이없습니다. ER/Studio 의 Data Dictionary 의강점은다음과같습니다 : 서로다른별도의 ER/Studio 모델파일간에도임포트와재사용이가능합니다 ( 리포지토리없이도가능 ). Recursive 방식으로반복재사용 (Recursive) 가능합니다. 재사용오브젝트는다른재사용오브젝트안에서다시재사용될수있습니다. ( 예를들어, 디폴트 (Default) 를한번만들고나서, 다른많은도메인 (Domain) 에서재사용할수있습니다. ER-Win 에비해재사용오브젝트세트가훨씬광범위합니다. ( 예를들어, 첨부태그 (Attachment), 도메인, 참조값, 명명표준템플릿, 디폴트, 룰, 템플릿프로시저, 트리거등 ) 메타데이터추적수준이보다높습니다. 데이터딕셔너리와기타중요오브젝트에서바인딩정보인터페이스를통해도메인 (domain) 과같은요소가다이어그램중어디에바인딩되어있는지를빠르게표시할수있으므로변경영향분석이보다쉽습니다. ER/Studio 엔터프라이즈에디션의데이터딕셔너리에서는리포지토리에있는모든모델을공유하는것이현격하게향상됩니다. 따라서아키텍트가표준을기업전반에적용하는데도움이됩니다. 데이터딕셔너리오브젝트에변경이생기면해당오브젝트를사용하는모든모델에전파됩니다. 컨버전계획 계획 (Planning) 은컨버전의기초작업입니다. 계획을하면혹시라도발생될수있는함정이나지뢰를피할수있습니다. 또한컨버전에얼마의기간과노력을들일것인지를미리결정할수있습니다. 5
기존모델의목록을확인하고평가수행 다른모델링도구로컨버팅할때, 첫번째단계는기존의모델링도구에들어있는목록을파악하는것입니다. 즉 ERwin 으로작성했던모든모델을확인. 분석하는것입니다. 만일 Erwin 모델메니저를사용해왔다면, 목록확인이쉽습니다. 모델이모두모델메니저안에들어있기때문입니다. 하지만, 혹시라도모델메니저에서실제로빠진것이있는지는확인할필요가있습니다. 만약모델메니저에없다면, 회사에서사용되고있는모든목록을파악해야하므로컨버전작업이보다어려워지게됩니다. 가장쉬운경우라면, 지난몇년간소수의엔터프라이즈모델만컨버전하면될수도있습니다. 하지만각부서마다수많은모델들이흩어져있을수도있을것입니다. 이것들은각개발자또는 DBA 의 PC 에들어있거나다양한네트워크드라이브심지어이메일에드어있을수도있습니다. 무엇보다중요한것은이러한기존모델의목록을만들고이것이어디에있고누가책임관리하고있는지를파악하는것입니다. 초기목록파악이완료되면, 다음단계는앞으로도계속사용할모델을결정하는것입니다. 이에따라컨버전작업에소요될시간과인력이결정됩니다. 회사전체로수백개의모델을가지고있는회사가많습니다. 모델중일부는개발과관련되어변경이계속되는와중에있을것이고, 몇몇은효과적으로종료된후변경이거의없을것입니다. 또한구닥다리가되어이미사용되지않는것도있을것입니다. 모델사용현황을파악하게되면, 컨버전이필요한모델을결정하고컨버전시간과인원을산정할수있게됩니다. 또한가지고려해야할점은모델의특징입니다. 어떤모델은애플리케이션종속적이고매우물리적으로치우쳐있을수있습니다. 특정데이터베이스관리, DDL 작성, 구조변경차원의관리중심인경우입니다. 거의대부분거의 논리 정보가없고, 심지어논리모델이없을수도있습니다. 이경우에는 ER/Studio 를사용하여실제데이터베이스를리버스 - 엔지니어링하는것이 Erwin 모델을컨버전하는것보다훨씬효과적입니다. 리버스 - 엔지니어링을하면관리해야하는실운영데이터베이스구조와모델이정확히맞아떨어지게됩니다. 따라서컨버전후에별도로모델구조를별도로검증할필요가없게됩니다. 또한데이터베이스와모델이동기화에서빠져있기쉬운물리오브젝트 ( 스토리지파라미터, 트리거, 스토어드프로시저등 ) 를빠뜨릴염려가없습니다.. 안타깝지만, 실운영데이터베이스에서리버스 - 엔지니어링을통해모델에대한부가적인지식을가져올수는없습니다. 데이터모델관리가오랫동안잘되어왔다면모델안에는실제구현된데이터베이스보다많은정보가들어있게됩니다. 주제영역, 비즈니스룰, 비즈니스이름과정의등의논리정보는데이터베이스카탈로그에서들어있지않기때문에리버스 - 엔지니어링으로는가져올수없습니다. 이런정보는버리기에는너무나소중합니다. 모델을볼사람들은이미기술분야를넘어서서다양한관계자로확산되고있습니다. 많은업무분석가들이논리데이터모델을지표로사용하여마케팅캠페인, 고객프로파일링, 재고분석리포트를작성합니다. 따라서잘관리된모델을가지고있다면보다많은정보를컨버전할수있습니다. 하지만이경우에는해당물리모델이실제데이터베이스와비교되고동기화되어있는지를사전에확인해야만합니다.. 컨버전프로세스정의 ERwin 파일과모델을 ER/Studio 로컨버전하는과정을정의합니다. 이과정에서다음과같은주요결정또한함께진행됩니다 : ER/Studio 로컨버전해야할모델과아닌것은무엇인가? 언제컨버전할것인가? 6
ERwin 물리모델을사전에검증하고동기화해야하는가? 즉물리모델에서부터 ER/Studio 모델로적용되어야만하는가? 누가컨버전할것인가? 누가컨버전결과를검증할것인가? 누가앞으로 ER/Studio 모델을관리할것인가? 주요고려사항은다음과같습니다 : 모델이안정적이고, 완료된상태인가? 즉여전히변경중에있지는않은가? 데이터베이스관리시모델을사용하는가? 데이터베이스관리시모델링툴이아닌다른툴을사용하는가? 컨버전프로세스 이컨버전프로세스는기존의모델과메타데이터자산을유지할수있도록해줍니다. ERwin 3.5.2, 4.1.x, r7.x 에서 ER/Studio 로자연스럽게컨버전할수있습니다. ERwin 의사용버전에따랄 ER/Studio 로컨버전방식이조금다릅니다. ERwin 4.x 이전과 r7x 이전버전은간단합니다. ER/Studio 는네이티브 ERX 임포트기능이있기때문에모델을바로 ER/Studio 로임포트하고임포트된정보를극대화합니다. 버전 4.0 이후에서는 ERX 임포트가작동하지않습니다. 하지만매우다양한소스로부터메타데이터를임포트 / 익스포트할수있는 ER/Studio 의애드 - 온이있습니다. 이애드 - 온은 Erwin 4.1 이나 r7.x 뿐만아니라 BI, ETL, 기타메타데이터교환포맷등다양한데이터소스와도호환됩니다. 전체리스트는아래의엠바카데로 (Embarcadero Technologies) 웹사이트를참고하세요 (http://www.embarcadero.com/products/erstudio/mirmodelbridges.xml). ERWIN 3.5.2 에서컨버전 Note: 임포팅을진행하기전에 Erwin 3.5.2 를사용하여해당모델을 ERX 파일로저장하세요. File > Save As 에서파일타입리트스중 ERX 를선택하면됩니다.. ER/Studio 는 ERwin 3.5.2 의 ERX 파일을바로임포트합니다. ERX 파일임포트절차는아래와같습니다 : 1. ER/Studio 를시작합니다. 2. File > New. 로갑니다. 3. 3 번째옵션인 Import Model From: 선택 7
4. 드롭다운에서 ERX file 선택 5. Import 버튼클릭 6. 임포트할 ERX 파일네비게이션. 7. Open 클릭하면, ER/Studio 가 ERX 파일을임포트하여하나의 dm1 을만들고거기에논리모델과물리모델을임포트합니다. 8. 파일명은기존의 ERX 파일명을디폴트로사용합니다. File > Save 로가서원하는로컬드라이브나, 네트워크드라이브에모델을저장합니다. 9. 생성된모델을 ER/Studio 리포지토리에넣고싶다면 Repository > Diagrams > Add... 로가면 ER/Studio 에서대화상자가표시되어서작성자, 다이어그램명, 프로젝트등다이어그램정보를입력하게됩니다. ( 리포티토리를사용하려면, ER/Studio Repository 가미리설치되어있어야합니다 ). ALLFUSION ERWIN DATA MODELER 4.1.X 과 R7.X 에서컨버전 ER/Studio 는애드 - 온인메타위저드 (MetaWizard) 를통해서 ERwin 4.1.x.er1 파일똔는 ERwin r7 의.erwin 파일을임포트합니다. 우선.er1 이나.erwin 파일을각자에맞는 XML 포멧으로저장합니다. 만일 Erwin 이 ER/Studio 가설치된컴퓨터에같이있다면, 이브릿지가 Erwin API 를사용하여자동으로이과정을진행합니다. Note: ERwin 이 ER/Studio 와같은컴퓨터에있지않다면,.er1 파일을.xml 파일로사전에바꾸어야합니다. ERwin 4.1.x.er1 과 r7.erwin 파일은오염된데이터를가지고있는것으로악명이높습니다. 따라서.xml 파일로저장하기전에해당.er1 파일에대해서진단체크를먼저작동시켜보는것이바람직합니다. Erwin 을사용하여파일을깨끗하게하려면 Tools > Diagnostics 로갑니다. 이것은 ER/Studio 로임포트하기전에해당.er1/.erwin 파일을깨끗하게합니다. 일단이복구절차가완료되면 File > Save As 로가서파일타입에서.xml 을선택할수있습니다. er1 이나.erwin 파일을브릿지를 8
통해서컨버전하려면단계에따라서진행하면됩니다. Note: 필요하다면엠바카데로 (Embarcadero Technologies) 에연락하여메타위저드 (MetaWizard) 의평가판을요청하세요. 임포트와익스포트는각각별도로라이센스되어있습니다 ask@embarcadero.kr 로연락하면됩니다. ERwin.xml/.er1/.erwin 파일을임포트하는절차는다음과같습니다 : 1. ER/Studio 를시작합니다. 2. File > New. 로갑니다 3. 마지막선택옵션인, Import Model From: 를선택 4. 목록에서 External Metadata 를선택하면. 메타위저드 (MetaWizard) 가시작됩니다. 5. 목록에서 CA AllFusion ERwin 4.x Data Modeler 나 CA AllFusion 7.x Data Modeler 를선택. 6. 미리저장해둔 ERwin.xml 파일을선택 ( 만약 er1/.erwin 을선택하면메타위저드가알아서 XML 변환을한후에컨버전합니다 ). 9
7. Next 클릭. 메타위저드 (MetaWizard) 가 XML 파일오류, 일관성등을체크합니다. 8. Finish 클릭. ER/Studio 가논리모델과물리모델을임포트합니다. 9. 파일명을디폴트로 ERwin 에서사용한파일명을쓰고확장자는.dm1 (ER/Studio 파일 ) 로됩니다. File > Save 로가서원하는로컬드라이브나네트워크드라이브에저장합니다. 10. 생성된모델을 ER/Studio 리포지토리에넣고싶다면 Repository > Diagrams > Add... 로가면 ER/Studio 에서대화상자가표시되어서작성자, 다이어그램명, 프로젝트등다이어그램정보를입력하게됩니다. ( 리포지토리를사용하려면, ER/Studio Repository 가미리설치되어있어야합니다 ). 아래그림 2 와같습니다. 10
그림 2 ER/Studio 리포지토리에다이어그램추가 컨버전프로세스검증 ER/Studio 는기본모델오브젝트인엔티티, 어트리뷰트, 테이블, 컬럼등을컨버전하는것뿐만아니라, Erwin 파일을읽어내어기타중요한데이터를보존합니다. 예를들면 : ERwin Diagram Aesthetics ( 레이아웃, 색상, 폰트등 ) ERwin 주제영역 (Subject Area) 임포트 ERwin UDP 임포트 ERwin 도메인 (Domain), UDT, 룰 (Rule), 디폴트 (Default) ERwin 의모델오프젝트정의와메모노트 4.1.x 또는 r7.x 의경우에는다음과같은몇가지물리정보를잃어버릴수있습니다.: ERwin 트리거와프로시저코드 ERwin 매크로 테이블스토리지파라이터 (Table storage parameter) 스토리지오브젝트 (Storage object) 컨버전이완료되고난후 ER/Studio 모델을실운영데이터베이스와비교하여이러한물리정보를복구할수있습니다. 비교를실행하면테이블, 컬럼, 포린키등물리적인구조가올바르게마이그레이션되었는지또한검증할수있게됩니다. 논리메타데이터를검증하는것은약간더복잡합니다. ER/Studio 는광범위한자동화인터페이스를통해다양한엘셀 (Microsoft Excel) 리포트를제공합니다. 엔티지, 어트리뷰트, 엔티티의서브모델사용, 도메인사용, 오브젝트정의등을엑셀로문서화하여분석할수있기때문에 ERwin 에서생성된리포트와비교. 검증하는데에도물론활용하기좋습니다. 11
Embarcadero Technologies Inc. 는애플리케이션개발자및데이터베이스전문가가자신이선택한환경에서소프트웨어애플리케이션을설계, 빌드및실행하는도구를사용할수있도록합니다. 전세계 3 백만이상의커뮤니티와 Fortune 지선정 100 대기업중 90 개기업이 Embarcadero 의 CodeGear 및 DatabaseGear 제품군을기반으로하여생산성을향상시키고개방적인협업및자유로운혁신을추구하고있습니다. Embarcadero 는 1993 년에설립되어캘리포니아샌프란시스코에본사가있으며전세계에사무소를두고있습니다. Embarcadero 의온라인주소는 www.embarcadero.com 입니다. Embarcadero 의주요제품인 DatabaseGear 의도구에는 ER/Studio, DBArtisan, Rapid SQL 및 Embarcadero Change Manager 가있습니다. 데브기어는미국 Embarcadero Technologies Inc. 와기존의코드기어한국지사의협력으로전략적으로설립된엠바카데로솔루션전문공급기업입니다. 데브기어는 Delphi, C++Builder, JBuilder, Delphi Prism 등개발툴제품들과 ER/Studio, PowerSQL, DB Artisan, EA/Studio 등의데이터베이스툴제품들에대한한국시장에공급은물론기술지원및교육을제공합니다. 데브기어웹사이트는 http://www.devgear.co.kr/ 이며제품에대한문의는 ask@embarcadero.kr 로하면됩니다. 12