목차 1. CUBRID 현황 2. DB 전환방안 3. CUBRID 주요기능 4. CUBRID 전환사례 2011 CUBRID Co., Ltd. All rights reserved.

Similar documents
슬라이드 1

Microsoft PowerPoint - CNVZNGWAIYSE.pptx

PowerPoint 프레젠테이션

untitled

DBMS & SQL Server Installation Database Laboratory

10.ppt

Cloud Friendly System Architecture

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

슬라이드 1

PCServerMgmt7

Oracle9i Real Application Clusters

[Brochure] KOR_TunA

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

Intra_DW_Ch4.PDF

PowerPoint 프레젠테이션

Oracle Database 10g: Self-Managing Database DB TSC

제목을 입력하세요.

PowerPoint 프레젠테이션

[Brochure] KOR_LENA WAS_

슬라이드 1

MS-SQL SERVER 대비 기능

Portal_9iAS.ppt [읽기 전용]

슬라이드 1

초보자를 위한 분산 캐시 활용 전략

vm-웨어-01장

공개 SW 기술지원센터

PowerPoint 프레젠테이션

목 차

Backup Exec

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

SANsymphony-V

untitled

NoSQL

Chap7.PDF

<49534F C0CEC1F520BBE7C8C4BDC9BBE720C4C1BCB3C6C320B9D D20BDC3BDBAC5DB20B0EDB5B5C8AD20C1A6BEC8BFE4C3BBBCAD2E687770>

서현수

품질검증분야 Stack 통합 Test 결과보고서 [ The Bug Genie ]

ALTIBASE HDB Patch Notes

歯sql_tuning2

Cache_cny.ppt [읽기 전용]

The Self-Managing Database : Automatic Health Monitoring and Alerting


Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

<목 차 > 제 1장 일반사항 4 I.사업의 개요 4 1.사업명 4 2.사업의 목적 4 3.입찰 방식 4 4.입찰 참가 자격 4 5.사업 및 계약 기간 5 6.추진 일정 6 7.사업 범위 및 내용 6 II.사업시행 주요 요건 8 1.사업시행 조건 8 2.계약보증 9 3

슬라이드 1

ETL_project_best_practice1.ppt

결과보고서

solution map_....

PowerPoint Presentation

PowerPoint Presentation

Tablespace On-Offline 테이블스페이스 온라인/오프라인

vm-웨어-앞부속

Windows 8에서 BioStar 1 설치하기

Microsoft PowerPoint - 10Àå.ppt

Agenda 오픈소스 트렌드 전망 Red Hat Enterprise Virtualization Red Hat Enterprise Linux OpenStack Platform Open Hybrid Cloud

スライド タイトルなし

Simplify your Job Automatic Storage Management DB TSC

FileMaker 15 ODBC 및 JDBC 설명서

Analyst Briefing

슬라이드 1

MySQL-.. 1

Oracle Database 12c High Availability

목 차 Ⅰ. 일반사항 1 Ⅱ. 특기사항 3 Ⅲ. 물품내역 및 세부규격 8 Ⅳ. 주의사항

Spotlight on Oracle V10.x 트라이얼프로그램설치가이드 DELL SOFTWARE KOREA

uFOCS


슬라이드 1

MySQL-Ch05

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

6주차.key

Web Application Hosting in the AWS Cloud Contents 개요 가용성과 확장성이 높은 웹 호스팅은 복잡하고 비용이 많이 드는 사업이 될 수 있습니다. 전통적인 웹 확장 아키텍처는 높은 수준의 안정성을 보장하기 위해 복잡한 솔루션으로 구현

USER GUIDE

PowerPoint

Data Guard 기본개념.doc

< FC8A8C6E4C0CCC1F620B0B3B9DF20BAB8BEC8B0A1C0CCB5E5C3D6C1BE28C0FAC0DBB1C7BBE8C1A6292E687770>

Session XX-XX: Name

AGENDA 모바일 산업의 환경변화 모바일 클라우드 서비스의 등장 모바일 클라우드 서비스 융합사례

最即時的Sybase ASE Server資料庫診斷工具

금오공대 컴퓨터공학전공 강의자료

오라클 데이터베이스 10g 핵심 요약 노트

Microsoft PowerPoint - GUI _DB연동.ppt [호환 모드]

FileMaker ODBC 및 JDBC 가이드

Virtualization Days 2013

기타자료.PDF


Ask The Expert

Orcad Capture 9.x

PRO1_02E [읽기 전용]

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

<4D F736F F F696E74202D20352E20BCBAB4C920C1DFBDC C F6EC0BB20C0A7C7D120BDC7BDC3B0A C3B3B8AEB9E6BEC

I What is Syrup Store? 1. Syrup Store 2. Syrup Store Component 3.

요약 1

초보자를 위한 ADO 21일 완성

PRO1_04E [읽기 전용]

Voice Portal using Oracle 9i AS Wireless

ZConverter Standard Proposal

PowerPoint Presentation

PowerPoint Presentation

oracle9i_newfeatures.PDF

Transcription:

CUBRID 관점에서의 DB 마이그레이션 A to Z Date: 2014/09/30 큐브리드 2014 CUBRID Co., Ltd. All rights reserved. 0 / 58

목차 1. CUBRID 현황 2. DB 전환방안 3. CUBRID 주요기능 4. CUBRID 전환사례 2011 CUBRID Co., Ltd. All rights reserved.

1. CUBRID 현황 2011 CUBRID Co., Ltd. All rights reserved.

about CUBRID NAVER 에서제품개발을하는국내유일의오픈소스 DBMS 인터넷서비스최적의 DBMS 를지향하는개방형정보플랫폼 서버와 (GPL) 인터페이스 (BSD) 의유연한오픈소스라이선스정책 국내 186,658 건 해외 (30 여개국 ) 64,228 건 2014 CUBRID Co., Ltd. All rights reserved. 3 / 58

CUBRID Development 2008 CUBRID 2008 R1.0 Source License 확보 / 오픈소스화 큐브리드인수 국내특허 1 건, 국제특허 1 건 ( 복제 ) 2009 CUBRID 2008 R2.0 Global Open Source Project 시작 (sf.net) CUBRID HA ( 고가용성 ), 64BIT 지원 계층형 Query 지원 국내특허 3 건 (HA, Click C, 질의캐슁 ) 국제특허 1 건 (Click Counter) 2010 CUBRID 2008 R3.0 SQL 확장 BLOB/CLOB 타입관련 API 지원 HA 모니터링대시보드제공 2011 CUBRID 2008 R4.0 성능 / 인덱스개선 HA 운영고도화 SQL 확장 2013 CUBRID 9.3 SELECT 1.6 배, throughput 응답시간 3 배향상 Database sharding 미들웨어기능지원 분할기능안정화, 성능개선 분석함수추가 2014 CUBRID Co., Ltd. All rights reserved. 4 / 58

Development Organization 루마니아 - 엔진개발및서스테이닝 한국 - 엔진개발및서스테이닝 중국 - 도구및드라이버개발 - 품질보증 (QA) 2014 CUBRID Co., Ltd. All rights reserved. 5 / 58

R&R 제품개발 영업, 마케팅, 컨설팅, 기술지원 NAVER CUBRID 적용 국내개발자 / 사용자확산 해외개발자 / 사용자확산 대외사업 : 국내, 해외 2014 CUBRID Co., Ltd. All rights reserved. 6 / 58

CUBRID Site www.cubrid.com dev.naver.com www.cubrid.org www.sourceforge.net. 2014 CUBRID Co., Ltd. All rights reserved. 7 / 58

2. DB 전환방안 2011 CUBRID Co., Ltd. All rights reserved.

2.1 DB 전환절차 2011 CUBRID Co., Ltd. All rights reserved.

DB 전환절차 - 개요 1 2 기존환경분석 기존시스템분석 : 전환범위, HW, SW, DBMS 종속성, 개발환경분석 전환가능성분석 : 비용절감, 전환업무 / 유지보수수행인력검토 전환일정수립 서비스연속성유지, 전환실패시원시스템전환고려 3 전환 DBMS 환경구성 : OS, WEB, WAS, DBMS, 응용및솔루션설치 이관 DB 스키마이관 : 계정. table, view DB 데이터이관 : 각테이블별데이터 Stored Procedure 이관 : PL/SQL, T-SQL 변환 4 5 검증및최적화 전환오픈 응용이관 : 비표준 SQL 변환 기능테스트 : 단위업무별 / 시나리오기반테스트, WAS/DBMS 에러로그확인 성능테스트 : 동시사용자예측시나리오테스트, 지연 Query 개선 업무전환일정및전환시간확정 서비스중단일정공고 6 안정화 정상작동여부일정기간모니터링 2014 CUBRID Co., Ltd. All rights reserved. 10 / 58

DB 전환절차 - TCO 분석 연차 DBMS ( 서버종류 / 사양 ) CUBRID ( 서버종류 / 사양 ) 구분소비자가격 Core Factor 합계구분소비자가격 Core 수량합계 Database E.E Premium HA Service 1 년차 Real Application Clusters Professional Service Partitioning (DB 전환지원비용 ) 합계 ( 소비자가 ) 합계 ( 할인률적용 ) 합계 2년차 도입가의 22% 적용 Premium HA Service 3년차 도입가의 22% 적용 Premium HA Service 4년차 도입가의 22% 적용 Premium HA Service 5년차 도입가의 22% 적용 Premium HA Service 5 년간총소유비용 5 년간총소유비용 구분 고려사항 DBMS 에디션 : Standard,Edition, Enterprise Edition 라이선스단위 : CPU, Core, Socket 도입비용 운영비용 기타 서버 CPU 수량 : 1CPU 8Core, 2CPU 16Core 서버벤더별가중치 : IBM AIX, HP-UX, ORACLE Solaris, Linux, Windows 추가기능유무 : 이중화, 클러스터, 파티셔닝등 도입수량 : 1EA, 2EA 도입가대비 SUL, SPS 요율및정책 On-Site 유지보수계약 상용 / 오픈소스라이선스정책 : 도입가, 정액 ( 률 ) 제 DBMS 전환비용 2014 CUBRID Co., Ltd. All rights reserved. 11 / 58

DB 전환절차 1. 기존환경분석 No. 구분분석대상분석내용 1 전환범위업무 스키마 현정보시스템의전환범위확인 전체서비스 / 일부서비스 데이터베이스사용자계정. table / view 정보 key (primary, foreign) 설정정보 2 데이터베이스 데이터, 용량 기타 데이터문자셋 (EUC-KR, UTF-8 등 ) 정보 각테이블별데이터건수 Store Procedure / Function 정보 이중화, DB Link 사용여부 HW HW 종류및스펙 3 HW 4 사용량 OS OS 종류및버전 백업방식, 솔루션종류백업 스크립트방식백업 / 복구지원여부 ( 솔루션사용시 ) PV(Page View) 정보 ( 최대, 최소 ) 사용자접속량 사용자수, 최대동시접속자수, 평균동시접속자수서버사용량 CPU, Memory 평균사용률, 최대사용률 5 개발환경 응용인터페이스 연동 SW 응용개발언어 데이터베이스인터페이스방식 데이터베이스에접근하는솔루션 SW 종류및명칭 인터페이스방식 (JDBC 등 ) 2014 CUBRID Co., Ltd. All rights reserved. 12 / 58

DB 전환절차 2. 전환일정수립 No. 구분수행내용일정비고 전환범위선정 1 기존 환경 분석 현 DBMS 환경분석 현 HW(OS 등 ) 분석 사용량 / 개발환경분석 ~ XX.XX 전환가능성분석전환업무수행인력 ( 업체 ) 2 일정수립전환일정수립 ~ XX.XX 전환 DBMS 환경구성 1-2 일소요예상 스키마 / 데이터이관 1 일소요예상 3 이관 Stored Procedure 이관 ~ XX.XX 평균 5 개 /1 일 응용프로그램 (SQL) 이관 평균 30 개 /1 일 운영환경이관 1-2 일소요예상 4 검증및최적화기능 / 성능테스트 ~ XX.XX 전환수행 5 전환 서비스확인 서비스오픈 ~ XX.XX 6 안정화안정화지원 ~ XX.XX 2014 CUBRID Co., Ltd. All rights reserved. 13 / 58

DB 전환절차 3. 이관 No 수행내용비고 1 전환 DBMS 환경구성 서비스전환을위한대상장비를준비하여환경구성 SW 환경의운영장비에이전을위한 OS 및기타관련 SW (WEB, WAS 등 ) 를설치하여운영 환경준비 2 데이터베이스스키마이관 CMT(CUBRID Migration Tool) 을이용하여자동으로변환 3 데이터베이스데이터이관 전체또는일부데이터 ( 일부테이블일경우에도 ) 를모두이관하는경우CMT(CUBRID Migration Tool) 을이용하여자동으로변환 이관할데이터의양이적거나기초코드성데이터일경우는 insert 형태의 SQL 로작성하여처리 업무개선이발생하는경우스키마의변경이이루어지므로변경된스키마에맞게데이터를 이관하여야할경우별도의전환프로그램작성 실서비스전환시서비스중단시간을최소화하기위한실데이터이관방안마련 4 Stored Procedure 이관 PL/SQL 은 ORACLE 에서개발하고저작권을가지고있는스크립트 개발언어중가장범용적이며, 일반응용프로그램으로의이식도수월하도록하기위해 JAVA 를이용하여 Store Procedure ( 프로시져, 펑션 ) 작성 5 응용이관 표준 SQL 이아닌특정 DBMS 의비표준 SQL 을 CUBRID 에서지원하는 SQL 로변환 6 운영환경이관 기존에사용하던 DBMS 의서비스구동및백업등에사용되었던스크립트를수정 복구는특성상서비스를먼저중단시킨후수행시켜야하며, 복구가완료되면검증후서비스 재구동 2014 CUBRID Co., Ltd. All rights reserved. 14 / 58

DB 전환절차 4. 검증및최적화 ( 기능테스트 ) No 분류항목테스트방법예상결과 1 첫페이지첫페이지접속첫페이지접속에러없이모든내용이보여야한다. 2 관리자 로그인 관리자로그인 정상로그인되어야한다. 로그아웃 관리자로그아웃 정상로그아웃되고, 관리자행위수행시에러가나야한다. 새글등록게시판에새로운글등록에러없이수행되어야한다. 목록보기게시판목록선택기존글과새로등록한글이모두보여야한다. 3 게시판 본문보기 목록중신규등록글선택 본문이정상적으로보여야하며, 조회수도증가하여야한다. 글수정 선택한글수정 정상적으로수정되어, 다시보기시수정된내용이보여야한다. 구동 서비스종료후구동 에러없이수행되어야하며, 구동후첫페이지및로그인을수행하여에러가없어야한다. 4 운영 종료백업 서비스종료백업수행 에러없이종료되어야하며, 사용자의업무접속시에러가발생하여야한다. 서비스종료없이, 정상적으로에러없이수행되어야한다. 복구 복구수행 백업후, 사용자가입력한데이터를임의삭제후복구를수행하여정상복구됨을확인한다. 2014 CUBRID Co., Ltd. All rights reserved. 15 / 58

DB 전환절차 4. 검증및최적화 ( 성능테스트 ) 시나리오테스트방법기댓값 / 현재값 (PV) 수행결과 (PV) 기본환경 1 2 1. 동접은 10,100,1000으로한다. 2.think time:1분, running time:10분으로하고총 10회테스트진행게시판 1, 2페이지목록보기 1,2페이지의본문랜덤보기목록 : 본문 7:3의비율로수행게시판 1, 2페이지목록보기 1,2페이지의본문랜덤보기신규글등록목록 : 본문 : 등록 7:2:1의비율로수행 1000 800 2014 CUBRID Co., Ltd. All rights reserved. 16 / 58

DB 전환절차 5. 전환오픈 No. 내용시작시간종료시간 0 0-1 0-2 1 업무전환일정및전환시간확정 업무전환에따른서비스중단일정공고 운영서버설치 WEB, WAS, DBMS 설치 연동솔루션설치 응용설치 사전테스트 원서비스롤백방안마련 기존서비스중단 기존서비스백업 ( 필요시 ) D-14 D-14 D-3 D-2 D-1 D-1 00:00 00:10 2 데이터이관 00:10 01:00 3 신규서비스구동 ( 내부 ) 기본테스트 01:00 01:30 4 외부오픈 01:30 01:35 5 모니터링 01:30 ~ 2014 CUBRID Co., Ltd. All rights reserved. 17 / 58

DB 전환절차 6. 안정화 분류확인사항측정값 (max/avg) 이상유무 WEB/ WAS server CPU 사용률이 80% 이상 1 분이상지속되는가? 50%/ 5% Y / N log error log 에기록되는내용이있는가? Y / N server CPU 사용률이 80% 이상 1 분이상지속되는가? 50%/ 5% Y / N DBMS log error log 에기록되는내용이있는가? Y / N 2014 CUBRID Co., Ltd. All rights reserved. 18 / 58

2.3 DB 전환시고려사항 2011 CUBRID Co., Ltd. All rights reserved.

SQL 구분기능구분기능 윈도함수 (window function) 자동증가칼럼 (auto increment column) 질의문 계층적질의 (hierarchical query) PIVOT 연산자 DDL 무정지인덱스생성 (non-blocking index creation) 분할 (partitioning) GROUP BY... ROLLUP 기본키 (primary key) 제약조건에이름명시 문자열집계 저장프로시저 (stored procedure) 정규표현식 정규표현식 ((Regular Expression) 기반비교 프로그래밍 문장수준트리거 (statement level triggers) 제약조건 (Constraint) CHECK 제약조건 행수준트리거 (row level triggers) 인덱싱 DML partial index(filtered index) 내림차순인덱스 (descending index) 다중행 INSERT(multiple rows INSERT) MERGE 문 VIEW 업데이트가능한뷰 (updateable views) with CHECK option 유도테이블이있는뷰 (views with derived tables) UNION 데이터타입 ENUM 타입연산 INTERSECT 트랜잭션지원 DDL(transactional DDL) (Operators) EXCEPT DDL SEQUENCE ORDER BY.. NULLS LAST 2014 CUBRID Co., Ltd. All rights reserved. 20 / 58

Shared everything vs. Shared nothing 구분 Shared everything Shared nothing RAC Replication 아키텍쳐 W+R W+R W+R R Disk Clustering Disk Disk Storage Replication Disk Clustering 설치및구성 어려움 쉬움 장애절체 Auto Failover Auto Failover 부하분산 쓰기, 읽기분산 (Active-Active) 읽기분산 (Active- Standby) 노드확장 제한적 제한없음 (1:N 방식 ) 2014 CUBRID Co., Ltd. All rights reserved. 21 / 58

이기종 DB 연계방안 DB Link ORACLE DB1 ORACLE DB2 CUBRID CUBRID or 이기종 DB db1_con = getconnection(db1_url); statement = db1_con.createstatement(); ResutlSet rs = statement.execute( select a.val, b.name from tbl1 a, tbl2@db_link b tb where a.id = id1 and a.key = b.key ); while (rs.next()) { val = getstring( val ); name = getstring( name ); } cubrid_con1 = getconnection(cubrid1_url); cubrid_con2 = getconnection(cubrid2_url); cub_stmt1 = cubrid_con1.createstatement(); cub_stmt2 = cubrid_con2.createstatement(); ResultSet rs1 = cub_stmt1.execute ( select a.key, a.val from tbl1 a where a.key = key1 ); ResultSet rs2 = cub_stmt2.execute ( select b.key, b.name from tbl2 b where b.key = id1 ); ArrarList keylist = new ArraryList(); Integer idx = 0; while (rs2.next()) { keylist.add(rs2.getstring( key )); name_buf[idx++] = rs2.getstring( name ); } while (rs1.next()) { key = rs1.getstring( key ); idx = keylist.indexof(key); val = rs1.getstring( val ); name = name_buf[idx]; } 2014 CUBRID Co., Ltd. All rights reserved. 22 / 58

기술지원 단계구분지원내역 착수교육 개발자 SQL 전환교육 DB 전환 개발환경구성 DB Object 및어플리케이션소스변환 Meta Data 이관 개발환경구성및 DB전환대상시스템연동환경검증 이행방안고려 Table Schema(column type, Index 등 ) 변경 Query Syntax /Stored Procedure/ Function 변환 Error 처리및 SQL Tunning CMT(CUBRID Migration Toolkit) 를활용하여 MetaData 이관 Type 호환성에따라추가적인 Conversion이필요한경우 Scripts 작성수행 테스트 검수및종료 운영 단위 / 통합테스트 운영 안정화지원 테스트계획수립 어플리케이션단위 / 통합테스트 테스트결과에따른 Error 처리및최적화수행 데이터및연동검증 운영자 / 사용자 ( 온라인 ) 매뉴얼제공 운영자교육 DBMS SW 검수 백업및모니터링등상시업무수행 긴급장애지원 전화 / 이메일지원 트러블슈팅 패치, 업그레이드적용 2014 CUBRID Co., Ltd. All rights reserved. 23 / 58

2.3 CMT (CUBRID Migration Toolkit) 2011 CUBRID Co., Ltd. All rights reserved.

CMT (CUBRID Migration Toolkit) Oracle, MS-SQL, MySQL 의 DB Object 및 Data 를 CUBRID 로마이그레이션을수행하는 GUI 기반도구 ORACLE/ MySQL 등 Schema Sequence Table Index Constraint View Data CMT CUBRID Migration Toolkit CUBRID Schema Sequence Table Index Constraint View Data 2014 CUBRID Co., Ltd. All rights reserved. 25 / 58

CMT (CUBRID Migration Toolkit) 1. 마이그레이션유형선택 2014 CUBRID Co., Ltd. All rights reserved. 26 / 58

CMT (CUBRID Migration Toolkit) 2. 소스데이터베이스연결설정 2014 CUBRID Co., Ltd. All rights reserved. 27 / 58

CMT (CUBRID Migration Toolkit) 3. 대상데이터베이스연결설정 2014 CUBRID Co., Ltd. All rights reserved. 28 / 58

CMT (CUBRID Migration Toolkit) 4. 객체매핑 2014 CUBRID Co., Ltd. All rights reserved. 29 / 58

CMT (CUBRID Migration Toolkit) 5. 내용확인 2014 CUBRID Co., Ltd. All rights reserved. 30 / 58

CMT (CUBRID Migration Toolkit) 6. 마이그레이션진행 2014 CUBRID Co., Ltd. All rights reserved. 31 / 58

CMT (CUBRID Migration Toolkit) 7. 완료 2014 CUBRID Co., Ltd. All rights reserved. 32 / 58

encub Oracle 의 PL/SQL 을 Java Stored Procedure 로변환해주는자동화도구 개념도 Stored Procedure Java C/C++ C# Android Java Objective C HTML5 자동전환 데이터베이스유틸리티 Stored Procedure 표준 SQL DB 사용자애플리케이션데이터베이스 SP 직데이터베이스 2014 CUBRID Co., Ltd. All rights reserved. 33 / 58

3. CUBRID 주요기능 2011 CUBRID Co., Ltd. All rights reserved.

CUBRID 기능요약 구분 CUBRID 주요기능 SQL ANSI SQL (SQL-92 기준, SQL-99,2003 호환 ) 대용량 데이터베이스용량, 테이블레코드건수제한없음 DATA type Transaction Alpha-Numeric data type char, varchar, int, numeric, etc (External) Large Object type (CLOB, BLOB) ACID support Record based locking API JDBC, PHP, ODBC,.NET, C-API, Ruby, Python, etc Availability Miscellaneous Backup/ Restore Active / Stand-by 구조의자동 fail-over Replica를활용한다중서버읽기부하분산 Partitioning GNU Crypto 함수 JAVA Stored Procedure Online/Offline Backup, Incremental Backup 시점복구 Not Supported DB Link, Parallel Query, Materialized View, Temporary Table, Job 2014 CUBRID Co., Ltd. All rights reserved. 35 / 58

CUBRID Architecture C, JDBC, ADO.NET, OLEDB, ODBC, PHP, Perl, Python, Ruby, Node.js API Job Queuing Connection Pooling Monitoring Logging Broker Query Parser & Optimizer Query Manager Lock Cache Lock Manager Object Manager Transaction Manager Server Storage Manager Log Manager File Based Object Data Volume Index Volume Temp Volume Active Log Archive Log BROKER - CUBRID 데이터베이스서버와응용프로그램의통신을중계하는 CUBRID 의전용미들웨어 - 3-tier 구조를통하여응용사용자폭증시완충역할 ( 커넥션폭증제한등 ) 을통하여데이터베이스서버의안정된서비스환경구현 - 커넥션풀링 / 모니터링 / 로그추적및분석 / 로드밸런스기능제공 2014 CUBRID Co., Ltd. All rights reserved. 36 / 58

3-tier Architecture with a Native Middleware Connect Request Query Receive Result Connection pooling Parsing, Optimizing Relay request / result SQL logging Process / Store Data 2014 CUBRID Co., Ltd. All rights reserved. 37 / 58

Performance 2014 CUBRID Co., Ltd. All rights reserved. 38 / 58

CUBRID Scalability Replication CUBRID HA Sharding CUBRID SHARD 2014 CUBRID Co., Ltd. All rights reserved. 39 / 58

CUBRID HA DBMS Cost Disk-shared Replication Consistency Auto- Failover Oracle RAC +++++ Shared everything N/A N/A O MS-SQL Cluster +++ Shared everything N/A N/A O MySQL Cluster ++ Shared nothing Log Based Async Sync O MySQL Replication + Third-party Free Shared nothing Statement Based Async O CUBRID Free Shared nothing Log Based Sync Semi-sync Async O 2014 CUBRID Co., Ltd. All rights reserved. 40 / 58

HA Auto Fail-Over AP Web Server AP Web Server Auto Fail-over Fail-back Broker #1 Broker #2 Automatic Switch-over Active Server Standby Server Active Server Active Server Node Fail Replication Replication 2014 CUBRID Co., Ltd. All rights reserved. 41 / 58

3 nodes 구성 Nodes (M : S : R) 설명 Master node HA Standard 1 : 1 : 0 하나의마스터노드와하나의슬레이브노드로구성 Slave node HA Extended 1: N : 0 서비스가용성향상및읽기 / 쓰기부하분산을위한구성으로, 하나의마스터노드와 N 개의슬레이브노드로이루어진다. IDC 이중화구성도가능. Replica node HA Extended (Load Balance) 1 : 1 : N 서비스가용성향상및읽기부하분산을위한구성으로, HA 기본구성에여러개의복제노드 (Replica nodes) 가추가된구성이며, HA 확장구성에비해마스터노드의부하가적음. 2014 CUBRID Co., Ltd. All rights reserved. 42 / 58

3 replication modes Commit Start End Write Write Request ( ) Start End ( ) End ( ) Semi-Sync OK Sync OK End CUBRID HA-mode Speed Consistency Sync Low High Semi-Sync Mid Mid Async High Low 2014 CUBRID Co., Ltd. All rights reserved. 43 / 58

Replication Tables User Table id name age 1 Jackie 10 User Table id name age 2 Bruce 12 1 Jackie 10 3 Chuck 13 2 Bruce 12 4 Billy 14 3 Chuck 13 4 Billy 14 2014 CUBRID Co., Ltd. All rights reserved. 44 / 58

CUBRID HA Config (Standard - M:S=1:1) 2014 CUBRID Co., Ltd. All rights reserved. 45 / 58

CUBRID HA Config (Extended - M:S=1:N) 2014 CUBRID Co., Ltd. All rights reserved. 46 / 58

CUBRID HA Config (Extended M:S:R=1:1:N) 2014 CUBRID Co., Ltd. All rights reserved. 47 / 58

SHARD 물리적으로다른데이터베이스에데이터를수평분할방식으로저장한 DB 인스턴스자체 DB User Table Shard #1 User Table id name age 1 Jackie 10 id name age DB Shard 2 Bruce 12 1 Jackie 10 2 Bruce 12 3 Chuck 13 4 Billy 14 Shard #2 User Table id name age 3 Chuck 13 4 Billy 14 2014 CUBRID Co., Ltd. All rights reserved. 48 / 58

CUBRID SHARD Process user apps. JDBC 1) Query Execution using Hint SELECT name FROM student WHERE student_no = /*+ shard_key */? DB shard middleware 2) analyze SQL Hint & select shard. key_column range (hash result) min max shard_id student_no 0 63 0 student_no 64 127 1 student_no 128 191 2 student_no 192 255 3 3) query with selected shard shard #0 shard #1 shard #2 shard #3 2014 CUBRID Co., Ltd. All rights reserved. 49 / 58

SQL Compatibility Phase 1 v.8.2.x Phase 2 v.8.3.x Phase 4 v8.4.x Phase 6 v9.0 Oracle MySQL MySQL MySQL, Oracle Hierarchical Query SQL: 60+ PHP: 20+ LOB, API++ SQL: 70+ PHP: 20+ Implicit Type Conversion+ Currency SQL Usability+ Usability+++ MSSQL win-back RegExpr MySQL, Oracle win-back: Monitoring system Oracle: Ads, Shopping CM CM, CQB, CMT CUNITOR Web manager CM Monitoring ++ 2014 CUBRID Co., Ltd. All rights reserved. 50 / 58

CUBRID Tools CUBRID Manager - DBA CUBRID Query Browser - 응용개발자 CUBRID Web Manager - 웹기반 DB 관리도구 CUBRID Migration Toolkit - 이기종 DBMS 이관 모델링도구 데이터암호화 DB 접근제어 2014 CUBRID Co., Ltd. All rights reserved. 51 / 58

4. CUBRID 전환사례 2014 CUBRID Co., Ltd. All rights reserved. 52 / 58

정부 G- 클라우드컴퓨팅 2014 CUBRID Co., Ltd. All rights reserved. 53 / 58

정부 G- 클라우드컴퓨팅 WEB WAS DB OS 2014 CUBRID Co., Ltd. All rights reserved. 54 / 58

국방부 - 행정정보통합지원체계구축 개요 국방부및국직기관인트라넷홈페이지 (25 개기관 /262 개 ) 통합구축 국방부및국직기관인터넷홈페이지 (15 개기관 /21 개 ) 통합구축 기존다양한 DBMS (MySQL, Oracle, MS-SQL) 이관통합 기대효과 기관별자체구축운영중인시스템을통합구축하여유지보수인력및예산절약, 사용자편의성및만족도증대 시스템구성 OS : 인트라넷 (Linux)/ 가상화 (RHEV), 인터넷 (AIX) WEB(Apache), WAS(Jboss), DBMS(CUBRID 4식 ) 이중화구성 인트라넷 WEB/WAS용서버는가상화 (RHEV) 사용. DB는단독사용 DB 암호화솔루션연계 2014 CUBRID Co., Ltd. All rights reserved. 55 / 58

육군본부 - 주전산기교체사업 개요 육군인트라넷홈페이지를 1,623 개 488 개로통합운영 국직기관및각군에서개발하여운용중인약 3,521 개의응용체계를전군차원에 서통합지원하기위하여 2015 년까지 921 개로통합 기대효과 예하부대간표준화와일관성에중점을둬홈페이지운용 관리효율성을극대화 일부부대의업무용 PC 를서버로사용함에따른업무용 PC 부족개선 소프트웨어개발및운용환경을표준화하고, 주요서버용소프트웨어는이중화구성을통해안정성을향상 시스템구성 OS : Linux (x86)/ 가상화 (RHEV) WEB(EWS), WAS(Jboss), DBMS(CUBRID 16Core * 16식 = 256Core) 이중화구성 DB 암호화솔루션연계 2014 CUBRID Co., Ltd. All rights reserved. 56 / 58

국방통합정보관리소 - 정보시스템이전ㆍ통합사업 개요 기대효과 각군의전산소에서운영중인정보시스템 (HW, SW) 을국방통합정보관리소의 1, 2센터로이동 각군의전산소에서운영중인응용체계를국방통합정보관리소의 1, 2센터로이동 국방통합정보관리소 1, 2센터에서각자원별 HW를통합 국방정보시스템의통합운영환경을구축하고, 정보시스템을통합ㆍ활용함으로써운용의효율성을제고하고, 전체정보시스템을이중화하여가용성을확보 정보자원 Pool 구축하여각군ㆍ기관의정보시스템소요에적시대응함으로써사용자중심의정보화서비스품질을향상 시스템구성 가상화기반의공개SW와 JAVA/JSP 사용 전자정부프레임워크 (egov) 적용 국방클라우드 Pool 적용을위한가상화환경구성 시큐어코딩을고려한개발 DBMS(CUBRID 32Core * 16식 = 512Core) 2014 CUBRID Co., Ltd. All rights reserved. 57 / 58

Why CUBRID TCO 오픈소스 SW 도입으로인한 TCO 절감 안정성 국내 1 위인터넷서비스에서검증 / 기술개발 개방성 소프트웨어의다양한활용 ( 획득 사용 복제 수정 재배포등 ) 이 가능한오픈소스라이선스채택 기술지원 국내소스코드보유로신속한기술지원제공 (Hot Fix, Patch, Update ) 클라우드대용량서비스관련기능개발 (Cluster, 분산파일시스템등 ) 2014 CUBRID Co., Ltd. All rights reserved. 58 / 58