큐브리드 제품 살펴보기_200609.(831)

Download Report

Transcript 큐브리드 제품 살펴보기_200609.(831)

CUBRID 제품
살펴보기
1
목차
1
회사 소개
2
CUBRID 제품소개
3
CUBRID 연계솔루션
2
1. 회사 소개
3
개요
 회사명: 주식회사 큐브리드
 대표이사: 강 태 헌 (姜 兌 憲)
 설립일: 2006년 02월 06일
 소재지: 서울시 강남구 논현동 240-10 중앙빌딩 3층
 웹사이트: http://www.cubrid.com
4
주요 연혁
2006.07. XDBMS 공동개발 계약(NHN)
2006.06. CUBRID 6.5 출시 및 무료선언
2006.03. 신NEIS 시스템 개통 (CUBRID)
2006.03. CUBRID 6.4 출시
2006.02. CUBRID 설립. UniSQLCUBRID 명칭 변경
2005. 03. UniSQL 6.3 출시
2004. 12. UniSQL 6.2.1출시
2004. 05. UniSQL Mobile DB 3.0 출시
2004. 04. UniSQL MMDB 3.0 출시
2003. 10. UniSQL MMDB, Mobile DB 2.5 출시
2003. 01. UniSQL 6.0 출시
2002. 06. UniTool(Visual-SQL, Easy-Manager) 출시
2001. 10. UniSQL 5.0, UniCAS 4.5 출시
2000. 12. 통합 애플리케이션 서버 UniCAS 4.0 출시
1999. 07. UniSQL 4.0K 출시
1997. 01. 3계층 클라이언트/서버 미들웨어 Vision3 개발
1996. 09. 웹 애플리케이션 서버 UniWEB 개발
1988. 02. 한국컴퓨터통신㈜ 설립
5
회사 비전
국산 DBMS 성공
플랫폼 SW 기술력 확보
DBMS 카피 점유율: 40%
개발자 확보: 40%
6
제품 개발 로드맵
CUBRID 6.4
CUBRID 7.0
대규모
개발자
확산
안정된
DBMS 확보
2006.03




최대의 리눅스 플랫폼 지원
성능향상
안정성
보안 강화
2007.02






성능향상
Stored Procedure
Replication
Partition
Better Support
Better Tools
7
CUBRID 8.0
대용량
인터넷
서비스
최적의
DBMS




2008.02
극한 성능
Availability
Scalability
Replication
큐브리드 6.4
 안정된 DBMS 확보

10여년간 제품 안정화

공공/민수 등 수천개 사이트 성공 운영

신 NEIS: 3000여 카피 성공 운영
 입증된 성능
DBBench (연세대)
60
50
Transactions/Sec

동시 사용자 수에 따른 성능
40
CUBRID
대표 상용DB
My SQ L
30
20
10
0
CUBRID
대표 상용DB
My SQ L
8
1 User
10 User
55.47
53.83
52.42
51.87
50.22
31.04
동시 사용자 수
100 User
4.09
3.42
0.8
큐브리드 7.0
 대규모 개발자 확산


개발자 기능

Java Stored Procedure

통합된 관리 도구

Eclipse IDE 통합

설계/개발 도구 연동
대규모 피드백 관리 기능

자동 오류 패키징 및 보고

ITrack 연동을 통한 개선 사항 흡수
9
큐브리드 7.0 개발 항목
 개발자 편의성

Java 기반의 Stored Procedure
 성능 향상


TPC 등 성능 벤치마크: 1.5 ~ 3배 향상
백업/복구 성능: 1.5 ~ 3배 향상
 기술지원 및 운영 기능 향상



질의 튜닝 도구
성능 및 상태 모니터링 도구
점검 및 장애 지원 자동화
10
큐브리드 8.0
 대용량 인터넷 서비스 최적의 DBMS

극한의 규모와 성능

테라급 DB 크기

일체형 DBMS (메모리 객체 활용)

인터넷 서비스 도구 연동

고가용성/확장성


클러스터링, 64bit

Replication
마이그레이션 도구

타 DBMS 응용 및 DB 자동 마이그레이션

T-SQL, PL/SQL 마이그레이션
11
주요 고객
 국내
 공공분야










교육부 초중등 학교종합정보시스템 (1998-2001): 8,650개교
교육부(KERIS) 신NEIS (2005): 16개 시도교육청 3,000 Copy
행자부 민원처리 인터넷 공개시스템 (2000): 230개 시군구 및 광역시도
행자부 행정종합정보시스템 2단계 XML서버 (2002): 234개 시군구 및 16개 광역시
도
행자부 등록관리 (RA) 시스템 (2002): 25개
행자부 정보화마을 1, 2, 4차
정통부 ITA
한국전산원 초고속국가망, 정보화사업, 인증센터 등
한국산업인력공단 전자결재시스템/EDMS
부산교통공단 전자결재시스템/EDMS 등
 민수분야


KCC 통합정보시스템 (MIS)
금강기획, 강원랜드, 신한/기업/씨티/외환은행 등
 국외




대만: Government Service Network 프로젝트
캄보디아: Government Administration Information System 프로젝트
미얀마: Basic e-Government 프로젝트
12
중국: Corporate Synergy Development
Center, Kaoshuring Institute
2. CUBRID 제품소개
2.1
2.2
2.3
2.4
CUBRID 제품군
엔터프라이즈 데이터 관리 기능
성능
개발자 생산성
13
2.1 CUBRID 제품군
14
CUBRID 제품 구조
15
CUBRID 제품군
 CUBRID Server

고성능 멀티트레드 DBMS 엔진

복수 DB, 복수 볼륨, 복수 서버 구조

질의결과 재사용을 위한 클라이언트 캐쉬 관리 (2단계
데이터 캐쉬)

관계형 DBMS의 편의성, 안정성

객체지향 DBMS의 확장성
16
CUBRID 제품군
 CUBRID CAS

다양한 인터페이스를 지원하는 애플리케이션 서버

JDBC, ODBC, OLEDB, PHP, TCL, C/C++

3-tier 기반의 고성능 구조

클라이언트 상태, 트랜잭션
모니터링

부하 분산 및 로드 밸런싱

LOG 추적/분석을 통한 성능 관리
17
CUBRID 제품군
 CUBRID Manager


GUI 기반 CUBRID Server, CUBRID CAS의
관리 콘솔 제공
단일 인터페이스를 통한 다중 호스트, 다중
DB 서버 관리

질의 관리, 질의 분석, 튜닝 도구

데이터베이스, 백업, 복구 관리

사용자 권한 관리

서버/CAS의 상태 관리 및 보고 기능

로그 분석 도구
18
2.2 엔터프라이즈 데이터
관리
- 보안 및 권한 관리
- 가용성
- 관리 및 운영 기능
19
보안 및 권한 관리
보안 및 데이터 암호화






데이터 암호화 및 접근 인증 모듈을 통해 개인정보
보호에 부합하는 보안성 확보
PKI(서버 인증서 및 관리자 인증서)에 기반한
강력한 인증 기능 제공
사용자별 응용 권한 관리
내부 사용자, 유지보수 관리자 접근 제어 기능
ENCRYPT/DECRYPT 내장함수를 이용한 고성능
암복호화
교육인적자원부 新NEIS(교무업무) 시스템 적용
20
암호화 모듈 연계도
JDBC
CUBRID CAS
사용자별 세션
사용자별 세션
CUBRID Server
JDBC
Driver
관리 모듈
SECURE
DB
인증 모듈
DB
인증
FLAG
CAS Process
CUBRID Server 엔진
암호화된
전자서명,
인증서
dbguard.jar
signgate.jar
인증 모듈
인증
FLAG
CAS Process
인증 모듈
복호화
암호화
관리 모듈
암호화 정보
인증
FLAG
Crypto Module
보안 정책 정보
CAS Process
File System
21
캐쉬 생성기
CACHE
관리 모듈
서버 인증서
KEY MANAGER
(암호화 키 정보)
생성
가용성
백업/복구 기능




3 단계의 백업 레벨 제공
 Full, Incremental-1, Incremental-2
Off-line 및 On-line 백업 지원
다양한 3rd-party 백업 시스템과의 연동
 BackupXcelerator (Ncerti)
 Lagato NetWorker (EMC)
 Netvault (BakBone)
장애 발생 시점 또는 특정 시점으로 복구 지원
22
가용성
HA 구성 방법

Active-Standby Model
HB Backup
HB Active
Dummy
HUB
Data/HB
LAN 1
BackBone
Switch
LAN 0 Backup
LAN 0
RIP :xxx.xxx.xxx.xxx
Primary NODE
:Host#1
Standby NODE
:Host#2
23
관리 및 지원 편이성
관리 도구 (Easy Manager)







데이터베이스 생성, 삭제, 실행, 백업, 복구 등 모든
DBA 관리 업무 지원
사용자 관리 및 스키마 관리
주기적인 업무(예: 백업)의 자동 수행 지원
데이터베이스 상태 점검, 모니터링, 에러 로그 검색
Cubrid CAS의 실행, 정지, 모니터링 등
Broker의 실행, 추가, 관리, 모니터링 등
Access log, Error log, Script log 관리 기능
24
관리 및 지원 편이성
질의 도구 (Visual-SQL)







다양한 위저드 기능 제공
탐색기 기능 제공
 스키마·OID·트리거 네비게이터
다양한 형태의 데이터 검색 기능 제공
다양한 데이터 조작 기능 제공
질의 계획 및 통계 정보를 이용한 튜닝 제공
Excel 및 CSV 형태의 Export/Import 제공
각종 도움말 기능
25
2.3 CUBRID의 성능
26
성능
 Client-Server Architecture




Client와 Server가 Query Processing 역할 분담
Client:
 Query Parsing
 실행 계획 수립
 Client Query Cache (Workspace) 관리: 반복 접근시
메모리 구조 성능 보장
Server:
 Multi-threaded Query Execution
 6단계의 Isolation Level 지원을 통한 Row 단위의
Locking을 지원하여 동시성 향상
CAS: 부하 증감에 따른 응용 서버 수의 자동 조정
27
성능
Sophisticated Query Optimizer





최대의 성능을 내도록 질의에 대한 최적화된 실행
계획 생성
Rewrite Optimization
 같은 의미를 가지는 비용이 저렴한 질의로
변환하는 최적화
Cost Based Optimization
Rule Based Optimization
다양한 SQL Hint 등으로 튜닝 가능
28
성능
 질의처리 연산

스캔 방법
 순차 스캔(Sequential Scan)
 인덱스 스캔(Indexed Scan)



Prefix B+-Tree
조인 방법
 Nested-Loop Join
 Correlated Index Join
 Merge Join
OID Navigation
29
DBBench Benchmark 결과
 개요

연세대 산학협력단에서 한국소프트웨어진흥원의 용역
과제인 “LINUX 상에서 운영되는 관계형 DBMS 성능 분석
소프트웨어 개발”의 개발 산출물인 DBBench를 이용하여
BMT 수행
 수행방법



TPC-W 기반의 데이터베이스 트랜잭션 테스트만을
수행하는 DBBench를 이용하여 BMT 수행
DB 사이즈에 따른 초당 실행되는 transaction의 수 측정
사용자 수에 따른 초당 실행되는 transaction의 수 측정 등
 수행대상



CUBRID
최상으로 알려진 상용 DB
MySQL
30
DBBench Benchmark 결과
DB Size 별 처리 성능
140
Transactions/Sec
120
100
CUBRID
대표 상용DB
My SQL
80
60
40
20
0
small DB
siz e (1000)
M iddle DB
siz e
(10000)
Large DB
siz e
(100000)
CUBRID
50.97
51.87
11.11
대표 상용DB
M ySQL
53.35
144.16
50.22
31.04
13.56
0.86
31
DBBench Benchmark 결과
동시 사용자 수에 따른 성능
Transactions/Sec
60
50
40
CUBRID
대표 상용DB
MySQ L
30
20
10
0
CUBRID
대표 상용DB
MySQ L
1 User
10 User
55.47
53.83
52.42
51.87
50.22
31.04
동시 사용자 수
32
100 User
4.09
3.42
0.8
2.4 개발자 생산성
33
API
 Cubrid JDBC Driver




Pure JAVA Driver
운영환경
 JDK 1.2 이상
JDBC 3.0 표준 지원
 java.sql
 javax.sql
Cubrid 확장 기능 지원
 OID, set 타입 지원
34
API
 Cubrid ODBC Driver


ODBC spec 3.51 기반 지원
Core, Level1 API 지원
 Cubrid OLEDB Provider


OLEDB spec 2.7 기반 지원
ODBC/OLEDB를 통한 툴 연결 및 프로그래밍
인터페이스 제공
 Cubrid PHP Interface


php 3.x, 4.x, 5.x 지원
apache-php 연동을 통한 간편한 웹 응용 개발
가능
35
모델링
 관계형 모델





ISO/ANSI SQL92 지원
풍부한 자료형 지원
default, not null, unique 등 각종 constraint지원
뷰 지원
트리거 지원
 객체형 모델




사용자 정의 타입 지원
메소드 지원
상속 및 다중 상속 지원
집합형 데이터 타입 지원
36
모델링
 스키마 관리
 데이터베이스 테이블, 인덱스 등 스키마 객체를
생성/삭제/갱신 기능
 시스템 카탈로그 테이블을 통한 스키마 정보 검색













DB_CLASS
DB_DIRECT_SUPER_CLASS
DB_VCLASS
DB_ATTRIBUTE
DB_ATTR_SETDOMAIN_ELM
DB_METHOD
DB_METH_ARG
DB_METH_ARG_SETDOMAIN_ELM
DB_METH_FILE
DB_INDEX
DB_INDEX_KEY
DB_AUTH
DB_TRIG
37
확장성
 테이블 (클래스) 확장





검증해 놓은 클래스를
상속받아 새로운 클래스를
만드는 기능
클래스 사이에 속성과 함수를
공유
다중 상속 지원
클래스 재사용으로 대학원생
출신학교 char(20)
생산성 향상
학과 char(30)
전공 char(30)
예제
졸업 년도 char(4)
38
학생
학번 int
학년 int
학과 학과
이름 char(10)
성적표 set(record)
학부생
확장성
 메소드 확장



시스템이 정의해 놓은 함수 외에 사용자가 함수를
정의할 수 있는 기능
 C로 작성되어 공유라이브러리 형태로 클래스에
등록
 클래스 메소드, 인스턴스 메소드
데이터에 대한 직접 접근 방지 가능
호출 예제
 CALL sum_grade() ON CLASS record
 SELECT t_year, sum_grade() FROM record
39
확장성
 데이터 타입 확장

시스템이 정의해 놓은 데이터 타입 외에 사용자가
데이터 타입을 정의하는 기능
 복잡하고 내포적인 데이터 표현 가능
 조인 연산 없이 복수개의 클래스를 직접 접근
가능
학생
학과
학과 코드 char(5)
학번 int
 예제
학년 int
학과 학과
이름 char(10)
성적표 set(record)
40
학과 이름 char(30)
멀티미디어 프레임워크
 멀티미디어용 데이터 타입와 메소드 내장






내장된 메소드 확장으로 새로운 멀티미디어
구조체와 메소드 제작 가능
데이터베이스 내에 저장하거나 외부 파일로 저장
데이터 저장위치에 관계없이 동일한 관리 가능
저장되는 데이터 크기에 제한이 없음
멀티미디어 데이터 부분 갱신 및 멀티미디어
데이터 랜덤 액세스 가능
단순한 BLOB, CLOB 차원을 넘는 프레임워크
41
멀티미디어 프레임웍
 LO (Large Object)




데이터베이스 볼륨 내에 데이터 저장
구성되는 데이터베이스 페이지에 영향 (1,2,4,8k 페이지)
동시성 제어 지원
백업 및 복구 지원
 FBO (File Based Object)





파일 시스템으로 데이터 저장
사용 방법은 LO와 동일 (생성하는 방법만 다름)
다른 프로그램과 데이터를 공유할 때 용이함
동시성 제어 지원
백업 및 복구 지원하지 않음
42
3. CUBRID 연계솔루션
- 연계솔루션 및 도구
- 마이그레이션 이슈
43
연계솔루션 및 도구
•
•
•
•
Sun Cluster
HP MC ServiceGuard
IBM HACMP
EMC Legato AAM
• Tmax JEUS
• BEA WebLogic
• JBOSS
• Tomcat ..
• 메타빌드 Indigo EAI
• Tibco EAI
• 삼성SDS Maxigent 분배
H/A
연계S/W
• 한국정보인증
• 케이사인
• 펜타시큐리티시스템
• M2Soft Report Designer
• FORCS OZ
분배S/W
SSO
PKI
Web
아키텍처
WAS
보안
DB보안
레포팅툴
• 제한 없음
연계/ 고가용성
분배
개발용
S/W
개발툴
통합
시스템관리
응용
솔루션
G/W
EDMS
Backup통합자원관리
• Ncerti BackupXcelerator
• Bakbone Netvault
• EMC Legato Networker
• NKIA OmniWorker
44
• SNT enRiseOffice
• 사이버다임 Destiny EDM
• 유니온정보시스템 dDIMS
마이그레이션 이슈
 DDL(Data Definition Language)



SQL-92 표준에 따라 CREATE, DROP, ALTER에 대한 데이터 정
의어를 지원
CUBRID 데이터베이스 예약어(Reserved Word)는 변경하거나 큰
따옴표(“”)로 String처리하여 사용
테이블 단위의 Storage Option은 지원하지 않음
 DML(Data Manipulation Language)




INSERT, UPDATE, DELETE, SELECT와 같은 표준 DML 준수
표준 SQL Function 및 확장 Function 지원
Stored Procedure는 ESQL기반의 Method형태로 지원
OLAP Function 미 지원
 DCL(Data Control Language)

GRANT, REVOKE와 같은 DCL 준수
45
마이그레이션 이슈
 이기종 DB Data Migration
Init.properties
IN
他 DB

JDBC

DB2DB
SELECT
INSERT
JDBC
CUBRID DB

WRITE
READ
데이터수집_정보 FILE
스키마_정보 FILE
user.sqluser.sql
user.sql
table.sql
index.sql
view.sql
데이터/BLOB FILE
table.sql
table.dat
Blob.lo
loaddb
46
IMPORT
마이그레이션 이슈

Pure Java 기반의 DB2DB Tool을 이용한 기본 정
보 수집
•
•

수집한 기본 정보 파일을 기반으로 데이터 파일 생
성
•
•
•

일반 데이터와 BLOB 데이터를 구분하여 수집 정보파일
생성
스키마 구성 정보 파일 생성 ( Table, Index, View 별도)
데이터 파일은 SQL형태와 CUBRID Load포맷 지원
저장 파일은 DB단위, 테이블단위 모두 지원
BLOB 파일은 별도 OBJECT 파일로 생성
생성된 데이터 파일을 DB2DB를 이용하여 Load
•
•
스키마 정보와 SQL형태의 데이터 파일, BLOB 데이터 파
일 지원
Load형태의 데이터 파일은 CUBRID loaddb 유틸리티를
47
이용
마이그레이션 이슈
 동종 하위버전에 대한 마이그레이션

재구축 명령을 통한 지원 (unloaddb/loaddb)
•

CUBRID 재구축 명령어인 unloaddb/loaddb 명령을 이용하여
가장 안정적으로 마이그레이션을 진행
마이그레이션 명령을 이용한 지원(migrate_v64)
•
특정 버전에서 마이그레이션 하고자 할 경우 CUBRID에서 제공
하는 버전간 마이그레이션 유틸리티를 이용하여 진행
 정리


DB 재구축 및 他DB에서 마이그레이션은 특별한 작업 없이
단기적으로 수행할 수 있음
마이그레이션에 따른 가장 큰 이슈는 Stored Procedure임
•
•
단기적으로는 Method형태의 변환 필요
2007년 2월 출시되는 버전부터는 Java기반의 Stored
Procedure 지원
48
(주)큐브리드
서울시 강남구 논현동 240-10 중앙빌딩 3층
TEL: +82-2-2015-0600 FAX: +82-2-2015-0610 http://www.cubrid.com
49