“거친 정보의 바다를 함께 건너다”
공개 SW 기반 DBMS 전환 자동화 Tool 개발
Development of Automatic DBMS Conversion Tool based on Open Source Software 초고속 인터넷 LTE 네트워크 단말기 제조능력 및 외산 DBMS 제품이 국내 DBMS 시장의 93% 점유 2012년 기준 “국산 DBMS의 성능은 이제 경쟁력을 갖고 있다!” DBMS 교체의 필수조건 DB Migration
“공개 DBMS 전환작업 최대의 걸림돌”
임시변통적 수작업으로 인해 비용과 시간이 낭비
기반 DB를 현 방식으로 전환할 때, 많은 비용/시간 소요! DBMS 전환 자동화 Tool enCub 개념도
Stored Procedure
Java C/C++ C# 자동전환 Android Java Objective C HTML5
Stored Procedure
표준 SQL DB
사용자 애플리케이션 데이터베이스 로직 데이터베이스 DBMS 전환 자동화 Tool enCub 개발툴 아키텍처
PL/SQL 문법
ANTLR
Parser PL/SQLPL/SQL 문법 문법 PL/SQLPL/SQL 문법 문법 Stored Procedure Translator
DBMS Adaptor DBMS 전환 자동화 Tool enCub 내부 아키텍처 DBMS 전환 자동화 Tool enCub 변환 프로세스 DBMS 전환 자동화 Tool enCub 일정
정기회의 KickOff Final 강연/세미나
5 6 7 8 9 10 11 대 중 소 제목 시작일 종료일 비고 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 자료 수집 및 분석 05월 06일 05월 31일 솔트웨어/큐브리드 1.1 ORACLE SQL 분석 솔트웨어/큐브리드 1.2 PL/SQL 분석 솔트웨어/큐브리드 1.3 CUBRID SQL 분석 솔트웨어/큐브리드 1.4 비교 Table 작성 솔트웨어/큐브리드 1.5 Stored Procedure 실 사용례 수집 솔트웨어/큐브리드 2 설계 06월 01일 06월 30일 솔트웨어/큐브리드 2.1 화면 설계 솔트웨어/큐브리드 2.2 변환 엔진 설계 솔트웨어/큐브리드 2.3 Source Manager 설계 솔트웨어/큐브리드 2.4 Target Manager 설계 솔트웨어/큐브리드 3 1차 개발 07월 01일 08월 30일 솔트웨어 3.1 화면 개발 솔트웨어 3.2 Parser 개발 솔트웨어 3.3 변환 엔진 개발 솔트웨어 4 1차 테스트 08월 15일 09월 15일 1차 산출물 마감(한컴) 4.1 Stored Procedure 변환 테스트 숭실대 5 2차 개발 09월 15일 10월 30일 솔트웨어 5.1 화면 개발 솔트웨어 5.2 Parser 개발 솔트웨어 5.3 변환 엔진 개발 솔트웨어 6 2차 테스트 10월 15일 11월 15일 2차 산출물 마감(한컴) 6.1 Stored Procedure 변환 테스트 숭실대 7 패키징 11월 15일 11월 30일 솔트웨어/한컴/큐브리드 7.1 홍보자료 작성 솔트웨어/한컴/큐브리드 7.2 교육자료 작성 솔트웨어/한컴/큐브리드 DBMS 전환 자동화 Tool enCub 메뉴 구성도
변환대상 PL/SQL수집 PL/SQL변환 변환검증 변환관리
1 7 11 14 PL/SQL PL/SQL 수집 PL/SQL 변환 변환 전/후 비교 Tool 환경관리
2 8 12 15 PL/SQL 조회 변환 결과 조회 변환율 조회 Repository 설정
3 9 13 16 PL/SQL Parsing 변환 LOG 조회 CRUD 비교 사용자 권한 관리
4 10 17 PL/SQL 문법 분석 JAVA CRUD 조회 변환 매핑 관리
5 변환 분석
6 PL/SQL CRUD 조회 DBMS 전환 자동화 Tool enCub 매핑 테이블
SEQ ORACLE Java CUBRID 비고 variable datatype [NOT [NULL]] {:= } expression ; 1 Variable datatype variable = expression; {DEFAULT} variable CONSTANT datatype [NOT [NULL]] {:= } expression ; 2 Constant final datatype variable = expression; {DEFAULT} variable CONSTANT datatype [NOT [NULL]] {:= } init-value ; 3 Initial Values final datatype variable = init-value; {DEFAULT} NOT NULL variable datatype [NOT [NULL]] {:= } expression ; 4 datatype variable = expression; NOT NULL 은 지원하지 않음 Constraint {DEFAULT} 5 referencing_item referenced_item%TYPE; datatype variable = expression; referenced_item의 type 획득 필요 %TYPE Attribute 6 variable_name table_name.column_name%TYPE; datatype variable = expression; database의 column정보 획득 필요 7 unit_name.simple_identifier_name unit 처리 방안 필요 References to 8 simple_identifier_name@link_to_remote_database remote database 처리 방안 필요 Identifiers 9 unit_name.simple_identifier_name@link_to_remote_database remote database 및 unit 처리방안 필요 Assignment Statement 10 variablename = expression; variable_name := expression;
Source Manager Utility Adaptor Oracle PL/SQL 소스 관리 Oracle의 빌트-인 함수
Conversion Manager DBMS 확장 Oracle PL/SQL 소스 변환 지원 DB확장
Target Manager 변환된 Java 관리 ㄴJava Compile ㄴDBMS에 Java Class 등록
Adaptor RDBMS 지원 DBMS Adaptor enCub 단순 자동 전환툴 개발만으로는 성공할 수 없다!
의 독점에 대항 할 더 많은 아군이 필요하다. 바로 수많은 공개소프트웨어 개발자들! enCub Oracle 2 Cubrid
소스코드 관리 형상관리 이슈관리
DATABASE. SARANG.NET 우리는 DBMS 자동전환 Tool 이라는 엔진을 만든다.
이 엔진은 모두의 것이며, 누구든 이 엔진을 튜닝 할 수도 있고, 이를 이용해 새로운 자동차를 만들 수도 있다.
그 과정에서 무한한 경쟁과 협력이 일어나, 누구도 예측하지 못했던 더 멋진 작품 이 탄생할 것이다. 개방, 참여, 공유 = 협업
이것이 우리가 다국적 대기업에 대항하는 방법이며, 거친 정보의 바다를 헤쳐 나갈 원동력이다!