2017 데이터그랜드컨퍼런스 클라우드와오픈소스 DBMS 의만남 오명환 (mhoh@cubrid.com)/( 주 ) 큐브리드 1
기술동향 2017 CUBRID Co., Ltd. All rights reserved. 2 / 28
클라우드 : IaaS, PaaS, SaaS ( 출처 : Wikipedia) 2017 CUBRID Co., Ltd. All rights reserved. 3 / 28
왜클라우드고려할까? 사용자측면 부담없는구매유지비용지출 높은컴퓨터가용률및휴대성 일관성있는사용자환경 전문적인지식없이쉽게사용가능 서비스사업자측면 개별 IT인프라대비구축 / 운영 (TCO) 비용절감 유연한자원할당 긴급자원증설고민해소 자동화된통합관리체계구축 2017 CUBRID Co., Ltd. All rights reserved. 4 / 28
왜오픈 SW 를고려할까? TCO 절감 기술종속성탈피 ( 내재화 ) 2017 CUBRID Co., Ltd. All rights reserved. 5 / 28
1 오픈소스 CUBRID 소개 2 G- 클라우드구축사례 3 오픈소스 CUBRID 전환시고려사항 6
CUBRID? 100% 오픈소스 RDBMS 2017년 7월 : 10.1 release 2008년 : 오픈소스전환 (8.x, 9.x) 2006년 : CUBRID 제품명변경및 freeware 전환 1992년 : UniSQL Interface(drivers) ODBC OLEDB JDBC CCI Python PHP CUBRID TOOLs BSD license ( 자유롭게수정 / 배포가능 ) CUBRID servers GPL v2 license ( 수정 / 배포시소스공개의무 ) 2017 CUBRID Co., Ltd. All rights reserved. 7 / 28
CUBRID 오픈소스프로젝트 www.cubrid.com https://github.com/cubrid/cubrid www.cubrid.org https://jira.cubrid.com 2017 CUBRID Co., Ltd. All rights reserved. 8 / 28
Github/CUBRID sub-projects Cubrid cubrid engine (banana pie) Cubrid-manager Cubrid-manager-server Cubrid-migration Cubrid-manual Cubrid-drivers : odbc, php,. Cubrid-testtool Cubrid-testcase 2017 CUBRID Co., Ltd. All rights reserved. 9 / 28
특성 기능구분 SQL Data Type Modeling API Transaction Availability CUBRID SQL-92, SQL-99(ODB) Alpha-numeric, Large Object (CLOB, BLOB) RDB (table, column, RI) JDBC, PHP, ODBC, OLEDB, C api, etc Record leve locking Online backup/recovery HA (High Availability) 대용량 RDBMS 보편성, 확장성, 안정성 DB/ 테이블 : 개수및크기무제한 64bit 지원트랜잭션 ACID 보장 : commit, rollback, savepoint 다중단위잠금 : 테이블, 레코드단위고가용성기능 HA (High Availability) 백업및복구온라인 / 오프라인백업지원전체백업, 증분백업, 시점복구다양한응용환경 JDBC, PHP, ODBC, OLEDB, Ruby, Python, C API CUBRID Manager 플랫폼에독립적인 GUI 개발및운영도구통합도구 : 관리, 질의, 진단, 튜닝등 2017 CUBRID Co., Ltd. All rights reserved. 10 / 28
10.1 특성 Faster 9.x 대비약 2 배성능향상 MVCC CTE (Common Table Expression) CUBRID 10.1 Timezone Catalog : comment String compression Better Stronger, Stable 9.x 대비 5K 이상의이슈해결 HA 의안정성강화 2017 CUBRID Co., Ltd. All rights reserved. 11 / 28
10.1 vs 9.3 성능비교 TCP-W Odering TPC-W Shopping YCSB-B YCSB-A SYSBENCH TCP-C - 10,000 20,000 30,000 40,000 50,000 60,000 70,000 80,000 90,000 100,000 TCP-C SYSBENCH YCSB-A YCSB-B TPC-W Shopping TCP-W Odering 9.3 14,858 865 37,686 59,312 283 1,699 10.1 26,420 1,109 61,757 87,195 1,836 6,323 주 ) 측정장비 : Intel Xeon CPU E5-2630L v2@2.40ghz (24 cores) / 16GB Memory / SSD 2017 CUBRID Co., Ltd. All rights reserved. 12 / 28
10.1 vs MySQL 성능비교 2017 CUBRID Co., Ltd. All rights reserved. 13 / 28
HA ( 고가용성 ) Shared-Nothing : scale-out Application R/W R/O R/O Cubrid servers Heartbeat check Cubrid servers Cubrid servers 복제 Master DB Slave DB Replica DB 복제 2017 CUBRID Co., Ltd. All rights reserved. 14 / 28
1 오픈소스 CUBRID 소개 2 G- 클라우드구축사례 3 오픈소스 CUBRID 전환시고려사항 15
G- 클라우드 2017 CUBRID Co., Ltd. All rights reserved. 16 / 28
G- 클라우드 2017 CUBRID Co., Ltd. All rights reserved. 17 / 28
G- 클라우드 2011 ~ 12년 : 16개부처총 42개업무 2013년 : 16개부처총 34개업무 2014년 : 11개부처총 21개업무 ( 국사편찬위원회등 ) 2015년 : 17개부처총 29개업무전환 ( 공공데이타포털등 ) 2016년 : 18개부처총 30개업무전환 ( 온-나라, 기록물관리등 ) 2017년 : 20개부처총 45개업무전환예정 2017 CUBRID Co., Ltd. All rights reserved. 18 / 28
온 - 나라 시스템명 : 업무관리 ( 온-나라 ) 시스템 업무개요 : 중앙부처및자치단체간업무과정의투명성과책임성을확보하고, 행정업무의계획수립, 문서작성, 보고, 의사결정을지원하는업무관리시스템 업무현황 : 정부기관의업무처리절차를통합화및표준화하고이를체계화한시스템으로일정, 메모보고, 문서관리카드, 지시사항, 회의관리등의업무서비스를제공함. 시스템사용현황 : 17개위원회 1600여명 (Named User), 행정자치부 3000여명 (Named User) 시스템개요 시스템구성 시스템환경 - DB서버 17개 VM *2, 공통기반 VM 7대 *2,Red Hat 6.7 - Chakan IDM( 사용자관리 ),Discovery( 검색 ), Magic SSO Polaris Converter( 문서변환 ) 구축기간 - 1 차 : 2015.08 ~ 2016.07(G- 클라우드전환 ) - 2 차 : 2016.11 ~ 2017.03( 고도화 ) CUBRID 도입목적 - 공개 SW 기반 DBMS 활용을통한 TCO 절감 CUBRID 성공요인 - 업무별 DB Architecture 재설계및최적화튜닝적용 CUBRID 9.3 2017 CUBRID Co., Ltd. All rights reserved. 19 / 28
국가공무원인재개발원 시스템명 : 나라배움터 URL: http://e-learning.nhi.go.kr 업무개요 : 대한민국국가공무원이시공간에대한제약없이학습자료와교육과정을찾고교육을 On-Line 상에서교육을받을수있는 All-in-one( 올인원 ) 이러닝 (e-learning) 교육플랫폼 업무현황 : 국가 지자체등 80 여개공무원교육훈련기관이러닝사이트로검색부터수강서비스를제공하며, ON-LINE 상에서강의참여가어려운수강생을고려하여 Gov-MOOC 동영상강좌제공 시스템사용현황 : 500 여개기관, 사용자약 100 만명 ( 국가직공무원, 공동활용기관및기타기관 ) 시스템개요 시스템환경 - 서버 : eslim(20 Core/70GB) * 2 - OS : Red Hat Enterprise Linux Server (RHEL6.7) - Storage : 1T * 2 시스템구성 구축기간 - 1 차 : 2015.08 ~ 2016.02(G- 클라우드전환및시범운영 ) - 2 차 : 2016.07 ~ 2012.02( 통합시스템구축 ) CUBRID 도입목적 - 공개 SW 기반 DBMS 활용을통한 TCO 절감 CUBRID 성공요인 - 용도별데이터베이스, 브로커분리및 DB 최적화작업 CUBRID 9.3 2017 CUBRID Co., Ltd. All rights reserved. 20 / 28
한국정보화진흥원 시스템명 : 공공데이터포털 URL: http://www.data.go.kr 업무개요 : 대한민국정부가보유한다양한공공데이터를개방누구나편리하고손쉽게활용할수있게하는것을목적으로하는공공데이터통합제공시스템 업무현황 : 비지니스활용가능성이높은공공데이터를중심으로오픈API 개발사업을추진하여민간사업자에게공공데이터를이용하기쉬운환경제공 시스템사용현황 : 400여개기관 700여명 (Named User), 월별제공데이터호출 (Open API) 2천만건 시스템개요 시스템구성 시스템환경 - eslim(8 Core/32GB) * 2, Red Hat(RHEL6.5), 400G*2 - CA Gatway(OpenAPI관리 ), 데이터시각화, 웹필터, 웹로그 - 기관연계서비스 (Oasis), 공공데이터제공및통계시스템 구축기간 - 1 차 : 2015.08 ~ 2015.12(G- 클라우드전환 ) - 2 차 : 2016.07 ~ 2016.12( 오픈 API 개발및연계구축 ) CUBRID 도입목적 - 공개 SW 기반 DBMS 활용을통한 TCO 절감 CUBRID 성공요인 - Slave 서버로 Read 성업무서비스전환으로가용성향상 CUBRID 9.3 2017 CUBRID Co., Ltd. All rights reserved. 21 / 28
해양수산부 시스템명 : 지능형해양수산재난정보체계구축 업무개요 : 해양오염예방활동지원및태풍상황관리, 해양수산재난상황을관리하기위한시스템구축 업무현황 : 해양재난에효과적으로대처하기위해다양한정보를신속하게공유및적조등타재난분야에대해서도관측및대응을위한시스템구축및정보제공 시스템사용현황 : 70여개관측소관리자 시스템개요 시스템구성 시스템환경 - HP rx3600(4p/4 Core/32GB) * 2,Red Hat 7.2, 500G*2 - 실시간여객션경로 (GPS) 관리및사고발생정보전파 OPEN API 기상 / 해양관측정보수집및관리 구축기간 - 1 차 : 2015.10 ~ 2016.04-2 차 : 2016.08 ~ 2017.02 CUBRID 도입목적 - 공개 SW 기반 DBMS 활용을통한 TCO 절감 CUBRID 성공요인 - 이중화구성으로 (HA) 24x365 일지속적인서비스가능 CUBRID 9.3 2017 CUBRID Co., Ltd. All rights reserved. 22 / 28
국사편찬위원회 시스템명 : 한국사능력검정시험시스템 URL: http://www.historyexam.go.kr 업무개요 : 2006 년개발되어시행된한국사능력검정시험은양적인성장과더불어국가시험기능추가및각기관에서활용등시험성격의확대로강력한시스템신뢰성및개인정보보호를위한고도화사업추진 업무현황 : 매년 4 회 6 개등급시험실시 시스템사용현황 : 14 년 26 만지원, 15 년상반기기준누적자수험생수 100 만명 시스템개요 시스템환경 - eslim(16 Core,32GB) * 2, Red Hat(RHEL6.5) - 시험등록기간에 (2주) 최대 15만명이상시험응시 시스템구성 구축기간 - 1 차 : 2014.11 ~ 2015.06(CUBRID, G- 클라우드전환 ) - 2 차 : 2015.07 ~ 2016.04(CUBRID 고도화 ) CUBRID 도입목적 - 공개 SW 기반 DBMS 활용을통한 TCO 절감 CUBRID 성공요인 - DB 성능튜닝및 REPLICA 추가에의한부하분산 - 이중화구성으로 (HA) 24x365 일지속적인서비스가능 2017 CUBRID Co., Ltd. All rights reserved. 23 / 28
문화체육관광부 시스템명 : 공직자통합메일 업무개요 : 행정기관에서주요자료유출방지및이메일을통한해킹을예방하기위해 e- 메일통합규정에관한국가사이버안전관리규정에따라 2008 년 12 월부터운영중인시스템 업무현황 : 이메일전송, 첨부파일바로보기 ( 한글, 워드, 파워포인트, 엑셀,PDF, 이미지형식 ), 푸알알림기능 시스템사용현황 : 중앙행정기관 69, 지자체 217, 교육청 12 개등 300 여개기관, 45 만영 (Named User) 시스템개요 시스템환경 - eslim(8 Core * 2,132GB) * 10, CentOS 6.2 - Broker 2중화, Database sharding(cubrid SHARD) 시스템구성 구축기간 - 1 차 : 2008 년 12 월서비스제공 - 2 차 : 2013 년시스템개선사업 CUBRID 도입목적 - 공개 SW 기반 DBMS 활용을통한 TCO 절감 CUBRID 성공요인 - SHARD 을이용한부하분산 - 이중화구성으로 (HA) 24x365 일지속적인서비스가능 2017 CUBRID Co., Ltd. All rights reserved. 24 / 28
대한민국국방부 시스템명 : 국방통합데이터센터 - 정보시스템이전 통합사업 업무개요 : 각군의전산소에서운영중인정보시스템을국방통합데이터 1,2 센터로이동. 국방통합데이터 1,2 센터에서각자원별 HW 를통합 업무현황 : 국방정보시스템의통합운영환경을통하여, 운용의효율성제고및전체정보시스템의이중화로가용성을확보하고각군 기관의정보시스템소요에적시대응할수있는체계구축 시스템개요 시스템구성 시스템환경 - 서버 : HP x86 (1센터, 2센터 : 640 core) - OS : Red Hat Enterprise Linux Server (RHEL 6.5) - 솔루션 : DB 암호화 ( 소프트포럼 ) 구축기간 - 1 차 : 2014.01 ~ 2014.12 CUBRID 도입목적 - 오픈소스기반의 DBMS 도입으로효율성제고및이중화 로가용성확보 CUBRID 성공요인 - HA 및 REPLICA 적용으로시스템안정성및가용성확보 2017 CUBRID Co., Ltd. All rights reserved. 25 / 28
네이버 237 개서비스, 2100 카피이상 ( 메일, 네이버 me, Nsight, N 드라이브, OwFS, 포토앨범, 쪽지, 라인클로버, 공통덧글, 네이버셀, NCS 메일, 내서재, 회원관리, 사전등 ) 2017 CUBRID Co., Ltd. All rights reserved. 26 / 28
1 오픈소스 CUBRID 소개 2 G- 클라우드구축사례 3 오픈소스 CUBRID 전환시고려사항 27
전환시고려사항 스키마이관 CMT(Cubrid Migration Tool) 을이용하여자동 (1:1) 으로변환 Migration Tool 를이용하여전체또는일부데이터이관자동변환 데이터이관 ( 개발, 운영 ) Insert 형태의 SQL 로작성하여처리 변경된스키마에맞게데이터를이관하여야할경우별도의전환프로그램작성 실서비스전환시서비스중단시간을최소화하기위한실데이터이관방안마련 Stored Procedure 이관 PL/SQL 은 ORACLE 에서개발하고저작권을가지고있는스크립트 JAVA Store Procedure ( 프로시져, 펑션 ) 작성또는 encub 툴로로직변경 Scalar function 인경우는튜닝시 inline view 변경고려 응용 (SQL) 전환 표준 SQL 이아닌특정 DBMS 의비표준 SQL 을 CUBRID 에서지원하는 SQL 로변환 Trigger 변환 튜닝작업 전환된 SQL (index, hnit) 튜닝작업 DB 파라메터튜닝작업 2017 CUBRID Co., Ltd. All rights reserved. 28 / 28
Thank you mhoh@cubrid.com 29