Transcript 1 - CUBRID

프로젝트 수행계획서
- 페타바이트급 이기종 클러스터드 DBMS SW 개발
SW 컴퓨팅산업원천기술개발(차세대 플랫폼 개발)
과제번호
10041311
주관기관
㈜엔에이치엔비즈니스플랫폼
총괄책임자
진은숙 서비스플랫폼개발센터
장
ⓒ 2011 NHN CORPORATION
목차
1
과제 목적 및 범위 정의
2
수행 조직 및 업무
3
작업 계획
4
품질 보증 및 관리 계획
5
보고 및 검토 계획
별첨
I
품질관리 계획서
II
WBS(Work Breakdown Structure)
과제 개요
3차년 과제 전체 개요 및 목표
 개요
본 프로젝트는 지식경제부 SW 컴퓨팅산업원천기술개발 과제의 지원을 받아 NHN Business Platform 이 주관하여 개
발하는 과제로 공식 명칭은 ‘페타바이트급 대용량 이기종 클러스터드 DBMS SW 개발’ 로서 DBMS 클러스터링 기술
과 최근 주목받고 있는 NoSQL 기술을 기반으로 클라우드 컴퓨팅 환경의 대규모 데이터를 처리하기 위한 저장시스
템을 개발하여 전통적인 데이터 관리 시스템의 한계점을 극복하고자 한다.
 목표
 제품 개발
디스크 기반 SQL 데이터 저장 관리 시스템, 메모리 기반 SQL 데이터 저장 관리 시스템 및 NoSQL 데이터 관리 시
스템을 융합한 단일 데이터 관리 시스템을 개발하여 클라우드 컴퓨팅의 저장 관리 시스템 및 OLTP 환경에서 발생
하는 요구를 투명하게 처리하는 시스템을 개발한다. 또한 가상화 기법을 사용하여 클라우드 컴퓨팅 환경에서 노드
의 확장성을 유연하게 지원할 수 있도록 한다.
 오픈랩 운영(생태계 구축)
제품 전 과정에서 발생되는 산출물과 이슈의 내용을 공개하여 프로젝트의 진행상황을 외부 개발자와 사용자에게
공개하여 프로젝트 활성화에 기여하며, 대용량 데이터 처리에 관심을 가지고 있는 국내 플랫폼 개발 인력의 참여
를 유도하고 커뮤니티 활성화에 기여한다.
과제 개요
과제 관련 산출물의 용어 정의
 사업수행계획서, 품질관리계획서 및 기타 요구사항정의서 에서 사용된 용어가 문서에 따라 다르게 표현되어 중요한
개념 또는 용어를 정의한다.
용어
연관 용어
설명
시스템
전체 시스템, 목표 시스템
본 과제에서 개발하고자 하는 “페타바이트급 이기종 클러스터드 DBMS SW” 를
미한다.
서브 시스템
모듈
본 과제의 목표 시스템(페타바이트급 이기종 클러스터드 DBMS SW)을 구성하는
중용 모듈인 “하이퍼미들웨어”, “클러스터드 DBMS 엔진”, “Key-Value 엔진”,
메모리 상주 DBMS 엔진” 을 의미한다.
서브 컴포넌트
서브 저장소
각 서브 시스템의 중요 개발 단위를 모듈 또는 서브 컴포넌트라고 칭한다.
본 과제의 4개 서브 시스템 중, 하이퍼미들웨어를 제외한 나머지 3개의 서브 시스
은 모두 데이터를 저장하는 시스템으로 서브 저장소라고 칭한다.
클러스터드 DBMS 엔
진
SQL 엔진, SQL DBMS, 디스크
기반 SQL 데이터 저장 관리 시
템
전통적인 관계형 DBMS 로 본 과제가 개발하려고 하는 서브 저장소 중 하나의 타
을 의미한다.
Key-Value 엔진
NoSQL 엔진, 디스크 기반
NoSQL 데이터 저장 관리 시스
최근 주목받고 있는 저장소인 NoSQL 엔진으로 본 과제가 개발하려고 하는 서브
장소 타입 중 하나이다.
메인 메모리 상주
DBMS 엔진
메모리 DBMS,
메모리 기반 SQL 데이터 저장
리 시스템
전통적인 관계형 DBMS는 데이터 저장을 위해 기본적으로 DISK 를 기본으로 하고
있으나, 고속의 데이터 처리를 위해 메인 메모리를 기본 데이터 저장 장치로 활용
는 시스템으로 본 과제의 4개 중요 서브 시스템 중 하나이다.
하이퍼미들웨어
미들웨어
본 과제의 4개 중요 서브 시스템 중 하나로 사용자(클라이언트 라이브러리)와 하
의 서브 저장소간 커뮤니케이션 등을 담당하는 서브 시스템이다.
클라이언트 라이브러
리
인터페이스, 클라이언트 인터페
이스, 라이브러리
일반적으로 개발자가 개발하는 응용 프로그램에서 서버 시스템에 접속하기 위한
터페이스를 의미한다. 본 과제에서는 하이퍼미들웨어와 사용자 프로그램(어플리
이션)과 통신을 위한 라이브러리를 의미한다.
카탈로그
DBMS가 저장하는 데이터의 빠른 처리를 위한 부가 저보를 칭한다.
메타 데이터 관리자
본 과제의 목표 시스템에서 데이터를 구분하는 기본 정보는 “키” 이며, 메타 데이
관리자는 목표 시스템 전체를 통하여 키의 분산 정보를 공유하는 모듈을 의미한다.
과제 개요
목표 시스템 구조도 및 업무 범위
응용
프로그램
응용
프로그램
응용
프로그램
응용
프로그램
응용
프로그램
라이브러리
응용
프로그램
라이브러리
<Secondary>
Meta Data
Managemeant
1
Meta Data
Managemeant
하이퍼미들웨어
2
하이퍼미들웨어
3
디스크 기반 SQL 데이
터 저장 관리 시스템
클러스터링 DBMS 엔
진
DISK
4
디스크 기반 NoSQL 데
이터 저장 관리 시스템
Key-Value 엔진
DISK
……
메모리 기반 SQL 데이
터 저장 관리 시스템
메모리 상주 DBMS 엔
진
목표 시스템 세부 구조도 및 업무 범위
인터페이스 (클라이언트 라이브러리)
초기 제안서에서는 Swift API 였으나,
사용성 측면에서 Rest API 로 변경
1
C 라이브러리
서브시스템
JDBC 라이브러리
Rest 라이브러리
서브시스템
중요 모듈
시스템 단위
1 미들웨어
연결 관리자
No-SQL 클러스터(Key-Value 엔진 )
2
해싱기반 가상노드
데이터복제기
가상노드간
리밸런서
Rest 기반의
NoSQL 인터페이스
고병행성을 위한
잠금관리자
실행
관리자
모니터링
관리자
메모리상주 DBMS 클러스터
3
질의 최적화기
잠금/권한
관리자
트라이기반의
B-Tree 인덱스
트랜잭션
관리자
로그기반
저장관리자
메타 데이터
관리자
디스크 DBMS 클러스터
4
질의 최적화기
잠금/권한
관리자
버퍼/캐시
관리자
트랜잭션
관리자
버퍼/캐시
관리자
글로벌 인덱스
관리자
분산 병렬
질의 처리 관리자
글로벌 인덱스
관리자
분산 병렬
질의 처리 관리자
메인 메모리
스토리지 관리자
디스크
스토리지 관리자
메인 메모리
스토리지 관리자
디스크
스토리지 관리자
과제 개요
제품 개발
 업무 범위
대분류
중분류
전체 시스템 설계
내용
• 시스템 아키텍쳐 설계
• 서브 저장시스템과 하이퍼미들웨어같 연동
구조 설계
• 서브 저장소에 대한 요구 사항 정의
하이퍼미들웨어 개발
• 시스템 아키텍쳐 설계
(클라이언트 라이브러리 포함)
• 인터페이스 언어(S-SQ) 정의
• 프로그램 인터페이스 API (Rest API) 정의
• Gateway 설계
• Configuration Master 설계
제품개발
• 저장소 구조 설계
• 통신 프로토콜 설계
클러스터링 DBMS 엔진 개발(RDS)
• 시스템 아키텍쳐 설계
: 디스크 기반 SQL 데이터 저장 관리
• 디스크 저장구조 설계
시스템 개발
. 로그 처리
. 체크포인트
. 가상 데이터베이스 파일 구조
. 볼륨 구조
• 질의 처리기 설계
• 복제 프로토콜 정의
비고
과제 개요
제품 개발
 업무 범위
대분류
중분류
내용
Key-Value 엔진 개발(NoSQL)
• 시스템 아키텍쳐 설계
: 디스크 기반 NoSQL 데이터 저장 관
• 인덱스 구조 설계
리 시스템 개발
비고
. 비트맵 인덱스, B+Tree, Cages
• 멀티 테넌시 지원 구조 설계
• 시계열 데이터 처리 모델 설계
• SSD 기반 로그 처리 모델 설계
• 질의 구문 정의
제품개발
메모리 상주 DBMS 엔진 개발(MDS)
• 시스템 아키텍쳐 설계
: 메모리 기반 SQL 데이터 저장 관리
• 파티션 그룹 서버 설계
시스템 개발
• 질의 구문 정의
• 메인메모리 상주 엔진 설계
• 복제 기능 설계
• 관리 도구 설계
오픈랩 개발 환경 구축
• 이슈 관리 시스템
• 소스 관리 시스템
오픈랩
• CI(Continuous Integration) 시스템
• 정적 분석 도구 연동
• 파일 공유 시스템
초기 사업 계획서에 포함되
지 않은 서브 시스템이다.
요구 사항 정의 단계에서
스템의 활용성을 증가하기
위해 추가하였다.
과제 개요
생태계 구축
 업무 범위
대분류
중분류
내용
외부 개발자와 커뮤니케이션을 위
• 프로젝트 기본 내용 구축
한 환경 구축
• 문서 배포 기능
• 사용자 관리 기능
• 권한 관리 기능
• Wiki 시스템
오픈랩
• 포럼
생태계 구축 기반 조성
• 국내외 매체를 통한 홍보 활동
• 플랫폼 개발 커뮤니티와 관계 형성
• 산학 연계를 통한 개발자 양성
비고
과제 개요
전체 작업 단계
 작업 단계
작업 단계
프로젝트
계획
요구사항
정의 & 분석
내용
주요산출물
• 사전조사 및 시장 동향 조사
• 사업 계획서
• 과제 품질 관리를 위한 품질 관리 계획서 작성
• 과제수행 계획서
• 과제 실행을 위한 과제 수행 계획서 작성
• 품질관리 계획서
• 조사된 시장의 요구와 기술을 바탕으로 요구 사항 도출
• 요구 사항 분석
-
목표 분석
-
요 구 사항 구조화
-
요 구 사항 분류(기능적, 비기능적 요구사항으로 분류)
-
사용자 시나리오 고려
• 요구사항 정의서
• 요구 사항 명세
•
설계
-
기능 명세 포함
-
비기능 명세 포함
요구 명세에 대한 품질 속성 워크샵 실시
• 개발 표준 정의
• 설계서 작성
•
-
모듈 다이어그램 작성
-
각 모듈간 인터페이스 정의
-
Sequence Diagram 을 통한 연산 흐름 작성
설계서 검증
-
중요 시나리오에 대한 설계 검증
• 설계서
수행 결과
과제 개요
전체 작업 단계
 작업 단계
작업 단계
구현
내용
• 개발 환경 구축
- 소스 관리 시스템 구축
- 이슈 관리 시스템 구축
- 산출물 관리 저장소 구축
- 빌드 시스템 구축
• 프로그램 개발
주요산출물
• 개발 환경
• 소스 코드
• 매뉴얼
• 매뉴얼 작성
시험
-
사용자 매뉴얼 작성
-
운영자 매뉴얼 작성
• 시험 환경 구축
• 시험 계획서 작성
• 시험 명세서 작성
•
-
기능 시험 명세 포함
• 시험 계획서
-
비기능 시험 명세 포함
• 시험 명세서
시험 시스템 개발
-
기능 시험 프로그램 개발
-
비기능 시험 프로그램 개발
• SW 시험 수행
• SW 시험 결과 보고서 작성
평가
• 전체 프로젝트 산출물 점검
• 시험 결과서 분석을 통한 제품 기능/비기능 품질 평가
• 시험 소스코드
• 시험 결과서
수행 결과
과제 개요
주요 산출물
산출물명
내용
BaseLine 시점
사업 계획서
• 과제 수행에 필요한 전반적인 계획을 기술
• 참여 기업 현황, 참여 인력 현황, 보유 기술, 사업화 및 오픈랩 운영 계획 기술
과제 계획 단계 말 승인 완
료
과제 수행계획서
• 과제의 목적, 목표, 수행 범위 등 전반적으로 과제에서 수행할 작업 내용을 단계별로
정의
• 계획 단계에서 부터 개발 및 평가 단계 동안 과제 수행 기간 동안 생성할 산출물을
명시
• 과제 전체의 일정 기술
요구사항 분석 단계 말 승
인 완료
품질관리 계획서
• SW 개발 활동 전반의 결함을 최소화 하기 위한 단계별 대처 계획을 명시
과제 계획 단계 말 승인
요구 사항정의서
• 요구사항 정의서에서 열거된 각각의 요구사항에 대한 상세 명세를 작성함.
• 세부적인 요구사항에 대한 기술로서 해당 요구사항의 구체적인 개발 내용을 기술함
요구사항 분석 단계 말 고
객 승인 완료 시
설계서
• 모듈 및 모듈간 인터페이스 설계 정의
• 업무 정의 Flow 설계
• 시스템 기능 구현 정의 및 기능 설계
설계 단계 말 고객 승인 완
료시
매뉴얼
• 사용 및 운영에 필요한 가이드 문서 작성
시험 계획서
• 사용자가 요구사항 분석 단계에서 요구했던 기능관련 사항과 운용 시 발생할 수 있
는 문제점을 중심으로 계획을 수립(기능, 비기능)
• 개발 후 시스템(유지보수, 운영)에 대한 테스트 계획 수립
시험 수행 전 승인 완료
• 시험을 수행할 환경, 사전조건, 사용 툴, 테스트 완료 기준
• 기능 시험 시나리오 정의
• 비기능 시험 시나리오 정의
시험 수행 전 승인 완료
• 시험 결과 작성
• 전체 참여자의 리뷰를 통해 프로젝트 결과물에 대한 평가 수행
과제 종료 전 승인 완료
시험 명세서
시험 결과서
고객에 제품 인도 또는 QA
파트에 시험 수행 전 승인
과제 개요
과제 일정
 1차년 도 상세 작업 일정은 별도 WBS(Work Breakdown Structure) 에 기술(별첨 참고)
단계
작업
시장 조사
프로젝트 계획
품질관리 계획수립
실행계획 수립
요구사항 도출
요구사항 정의 & 분석
요구사항 분석
요구사항 명세
설계
구현
SW 설계서 작성
SW 설계 검증
개발환경 구축
프로그램 개발
시험 환경 구축
시험
시험 계획 수립
시험 명세서 작성
시험 및 결과 작성
평가
산출물 점검
품질 평가
2012년 1H
1
2
3
4
2012년 2H
5
6
7
8
9
10
11
12
과제 개요
3차년 과제 일정
테라 바이트급 이기종 클러스터링 데이터 관리 SW 개발
 과제 일정
단위 모듈 통합 작업 (개발)
1차년도
시험환경 구축 및 시험 도구 개
발
표준 규격, 경쟁 제품 분석을 통한 요구 사항 정의
단위 모듈 및 정합 시험
통합 시스템 아키텍쳐 설계
1차 통합 시제품 개발
단위 모듈별 설계 및
프로토타이핑을 통한 검증
모듈별 단위 시험 방법 및
평가 항목 도출
시험환경 구축 및 시험 도구 개발
단위 모듈별 단위 시험
단위 모듈별 1차 시제품 개발
3차년도
1차 시제품의 기술 개선 사항 점검 및 보완 사항 정리
1차 시제품 고도화 이슈 정리 및 개발 항목 정리
최종 시제품 개발
통합 시험 방법
및 평가 항목 도
출
실적용 서비스를 위한
시험 방법 및 평가 항목
도출
시험환경 구축 및
시험 도구 개발
시험환경 구축 및 시험
도구 개발
2차년도
단위별 1차 시제품의 기술 개선 사항 점검 및 보완 사항 정리
각 서브 컴포넌트별 고도화 이슈 정리 및 개발 항목 정리
각 서브 컴포넌트별
대한 2차 개발
모듈별 단위 시험 방법 및 평가 항목
도출
통합 시험 방법 및 평가 항목 도출
단위 모듈 및 정합 시험
실서비스 적용 시험
최종 안정화 작업 수행
최종 제품 개발 완료
수행 조직 및 업무 분장
조직도
DBMS 엔진 개발
팀
이규재, 서경식
오보명, 전원희
전성원, 남창우
과제총괄책임자
진은숙 이사(NBP)
아키텍트 자문
프로젝트 관리자
개발 책임자
품질보증책임자
서비스플랫폼개발
센터 아키텍트그
룹
최웅세 랩장(NBP)
이규재 부장(NBP)
오보명 차장(NBP)
참여사 책임자
개발 책임자
품질보증책임자
김기완 대표(선재)
이환재 책임(선재)
김성호 과장(선재)
참여사 책임자
개발 책임자
품질보증책임자
이준섭 팀장
(KT클라우드웨어)
김세영 수석
(KT클라우드웨어)
황민명 책임
(KT클라우드웨어)
메인메모리 개발
팀
김명근,
김희택,
박정민,
유병섭,
이용문,
이환재,
김정현
박은희
온경오
이경모
이현철
최준호
Key-Value 개발
팀
김성진,
김형섭,
박윤성,
박진규,
임창용,
최정대,
김세영
박성훈
박은병
박희종
정윤선
한아름
수행 조직 및 업무 분장
직무 및 역할
직무명
역할
과제총괄 책임자
• 프로젝트 Issue 및 현안에 관한 해결책 지원
• 프로젝트 진행 사항 관리
• 중대한 Issue 발생 시 발주 기관에 보고
아키텍트 자문
• 최종적인 Architecture 형태를 검토한다.
• 프로젝트의 원활한 진행을 위해 필요한 Database나 관련 Tool을 지원한다.
• 개발 산출물 관리 및 품질보증활동 지원
프로젝트 관리자
•
•
•
•
•
참여사 책임자
• 프로젝트 Issue 및 현안에 관한 해결책 지원
• 프로젝트 진행 사항 관리
• 중대한 Issue 발생 시 주관 기관에 보고
개발 책임자
• 요구 사항 수립 부터 시험까지 개발 전 과정을 책임지고 진행
• 개발팀을 리드하여 일정에 맞게 모든 개발 산출물 생산에 대한 관리
품질보증 책임자
• 품질보증 계획 수립 및 유지
- 품질보증 활동 오리엔테이션 실시
- 품질보증 활동 실시 및 결과 보고
- 품질보증 활동 시 발생된 Issue에 대해서 프로젝트관리자에게 통보 및 시정조치 요구
단위 개발팀
• 시스템 개발 및 관련 산출물 작성/검토
- 단위, 통합, 시스템, 인수테스트 수행
- 개발 진행 상황 등에 대해서 진척상황 및 Issue 상황을 프로젝트 관리자에게 보고
프로젝트 관리
프로젝트 관련 내 외부 의사소통 조정 및 지원
산출물 최종 검토, 품질보증 활동실시 또는 지원, 시정조치 사항 검토
프로젝트 중 발생한 중대한 Issue 및 위험의 관리사항을 프로젝트 상위관리자에게 보고
주간업무, 월간업무보고를 통하여 고객 사용 대표 및 고객 스폰서에게 정기적 보고 및 Issue 발생 시 즉시 보고
1차년도 과제 종료
과제 종료 시 자가 진단 항목
과제 종료 후 포스트모텀을 실시하여 과제 전반적인 과정을 점검하고 개선점을 발굴하여 2, 3차년도 과제 진행 시 반영
한다.
범위
평가 항목
개발 목표의 적정성
내용
• 목표 시스템은 최근 경향(시장상황)을 반영하여 고려하고 있는가?
• 목표 시스템은 2-3년 후 개발 완료 시점에 현재의 최고 기술을 추구하고 있는가?
• 최종 3차년 과제 기간 내에 개발 완료할 수 있는 범위로 수립되었는가?
• 최종 사용자(응용프로그램)의 요구를 충분히 반영하고 있는가?
• 시장에 출시된 제품 대비 경쟁력을 확보하고 있는가?
개발 인원의 적정성
• 과제 수행 조직 체계는 적정하게 조직되었는가?
• 과제에 투입된 인원은 적절한 수준의 규모인가?
• 과제가 필요로 하고 있는 기술을 보유한 개발자가 투입되었는가?
• 과제에 투입된 인원이 적절하게 배분되어 있는가?
개발 부분
개발 기간의 적정성
• 과제 수행에 필요한 각 단계별 수행 기간은 적절하게 수립되었는가?
• 각 단계별 기간에 필요한 인원이 적시에 공급되었는가?
• 각 단계별 일정 준수는 여부?
개발 환경
• 개발에 필요한 환경이 적시에 구축되었는가?
• 개발에 필요한 소프트웨어, 하드웨어가 충분히 제공되었는가?
• 개발에 필요한 자원을 사용하는 것이 효율적이었는 가?
개발 프로세스 및 산출물
• 개발 프로세스는 잘 정립되어 있는가?
• 개발 프로세스를 잘 준수하였는가?
• 개발 산출물은 적정한 수준이었는가?
1차년도 과제 종료
과제 종료 시 자가 진단 항목
과제 종료 후 포스트모텀을 실시하여 과제 전반적인 과정을 점검하고 개선점을 발굴하여 2, 3차년도 과제 진행 시 반영
한다.
범위
평가 항목
제품의 품질
내용
• 제품의 기능적 품질은 목표 수준을 만족하는 가?
• 제품의 성능적 품질은 목표 수준을 만족하는 가?
개발
• 제품의 사용 편의성은 목표 수준을 만족하는 가?
• 제품의 전체 구조는 2,3차년도 개발을 수행하는 측면에서 문제가 없는가?
예산 사용의 효율성
• 수립된 예산을 목적에 맞게 지출하였는가?
• 수립된 예산은 적정하게 배분되었는가?
• 참여사별 예산은 적정하게 배분되었는가?
• 예산 지출 과정상 불필요한 프로세스는 없었는가?
커뮤니케이션 적정성
프로젝트 관리
• 과제 참여사간 커뮤니케이션 은 적정하였는가?
• 각 참여사 내부의 조직의 커뮤니케이션은 적정하였는가?
• 과제 참여사와 KEIT, NIPA 와의 커뮤니케이션은 적정하였는가?
프로젝트 보고의 적정성
• 보고 횟수는 적정한가?
• 보고 방식은 적정한가?
• 보고 체계는 적정한가?
품질보증 및 관리계획
 개요
품질 보증은 프로에서 활용하는 프로세스와 산출물의 품질에 대한 적절한 수준의 가시성을 제공하는 것을 목적으로
한다.
 품질 관리 상세 내역은 별도로 작성된 품질관리 계획서에 기술한다.
 위험 관리
 이슈 관리
 형상 관리
 변경 관리
 인력 관리
보고 및 검토 계획
보고 체계
지식경제부
정보통신산업진흥원
한국산업기술
평가관리원
소프트웨어
공학센터
과제총괄책임자
전반적인 프로젝트 상황 보고
진은숙 이사(NBP)
개발 및 제품 품질 관련 상황 보고
프로젝트 관리자
참여사 책임자
참여사 책임자
최웅세 랩장(NBP)
김기완 대표(선재)
이준섭 팀장
(KT 클라우드웨어)
개발 책임자
품질보증책임자
개발 책임자
품질보증책임자
개발 책임자
품질보증책임자
이규재 부장(NBP)
오보명 차장(NBP)
이환재 책임(선재)
김성호 과장(선재)
김세영 수석
(KT 클라우드웨어)
황인명 책임
(KT 클라우드웨어)
보고 및 검토 계획
보고 주기
보고 유형
주요 내용
수행 주기
• 품질관리활동 수행 실적 및 차주 계획
주간
• 품질관리활동 결과 산출물
보고대상
참여기업
품질관리자
품질관리자
총괄책임자
참여기업
품질관리자
품질관리자
총괄책임자
총괄책임자
NIPA
참여기업
품질관리자
품질관리자
총괄책임자
매주
• 이슈 및 리스크 현황
정기
보고
수행 주체
• 품질관리활동 수행 월간 실적 및 익월 계획
월간
• 품질관리활동 월간 산출물
매월
• 이슈 및 리스크 현황
• 품질관리자 또는 총괄책임자의 요구가 있을
수시보고
경우, 해당 수행주체는 품질관리 활동 결과,
이슈 및 리스크 현황에 대해 보고
필요시
끝