오픈소스 DBMS CUBRID 9.1 소개및 클라우드...
Transcript of 오픈소스 DBMS CUBRID 9.1 소개및 클라우드...
© 2013 CUBRID Co., Ltd. All rights reserved. 0 / 50
Date: 2013-06
서비스사업팀
오픈소스 DBMS CUBRID 9.1 소개 및클라우드/가상화 구축사례
© 2011 CUBRID Co., Ltd. All rights reserved.
목차
1. CUBRID 현황
2. 라이선스 및 서비스 정책
3. CUBRID 주요기능
4. 클라우드/가상화 구축 사례
© 2011 CUBRID Co., Ltd. All rights reserved.
1. CUBRID 현황
© 2013 CUBRID Co., Ltd. All rights reserved. 3 / 50
CUBRID Intro
• NHN에서제품개발을하는국내유일의오픈소스 DBMS
• 인터넷서비스최적의 DBMS를지향하는개방형정보플랫폼
• 서버와(GPL) 인터페이스(BSD)의유연한오픈소스라이선스정책
국내176,166건
해외(30여개국)42,685건
© 2013 CUBRID Co., Ltd. All rights reserved. 4 / 50
CUBRID Development
2008
CUBRID 2008 R1.0
2009
CUBRID 2008 R2.0
2010
CUBRID 2008 R3.0
2011
CUBRID 2008 R4.0
• Source License 확보/오픈소스화
• ㈜큐브리드인수
• Global Open Source Project 시작 (sf.net)• CUBRID HA (고가용성), 64BIT 지원• 계층형 Query 지원
• SQL 확장• BLOB/CLOB 타입관련 API 지원• HA 모니터링대시보드제공
• 국내특허 1건, 국제특허 1건(복제)
• 국내특허 3건 (HA, Click C, 질의캐슁)• 국제특허 1건 (Click Counter)
• 성능/인덱스개선• HA 운영고도화• SQL 확장
2013
CUBRID 9.1
• SELECT 1.6배 , throughput 응답시간 3배향상• Database sharding 미들웨어기능지원• 분할 기능안정화, 성능개선• 분석함수추가
© 2013 CUBRID Co., Ltd. All rights reserved. 5 / 50
CUBRID Site
www.cubrid.com www.cubrid.org
dev.naver.com www.sourceforge.net.
© 2013 CUBRID Co., Ltd. All rights reserved. 6 / 50
Development Organization
루마니아-엔진개발및서스테이닝
한국-엔진개발및서스테이닝
중국-도구및드라이버 개발-품질보증(QA)
© 2013 CUBRID Co., Ltd. All rights reserved. 7 / 50
R&R
제품개발 영업, 마케팅, 컨설팅, 기술지원
NHN CUBRID 적용
국내개발자/사용자 확산
해외개발자/사용자 확산
대외사업: 국내, 해외
© 2013 CUBRID Co., Ltd. All rights reserved. 8 / 50
2. 라이선스 및 서비스 정책
© 2013 CUBRID Co., Ltd. All rights reserved. 9 / 50
CUBRID License
Server
Interfaces
Server
Interfaces
CUBRID GPL 기반 DBMS
GPL
GPL
BSD
구분무료
이용가능배포
허용가능소스코드취득가능
소스코드수정가능
2차적저작물재공개의무
독점SW와결합가능
GPL O O O O O X
LGPL O O O O O O
MPL O O O O O O
BSD O O O O X O
Apache O O O O X O
© 2013 CUBRID Co., Ltd. All rights reserved. 10 / 50
Service Policy – End user
개발단계(지원시간기준) 운영단계 (1대 /년간기준)
ProfessionalService
Support Service (4 Levels)
EnterpriseService
EnterpriseHA Service
PremiumService
PremiumHA Service
구분 Oracle, DB2, MS-SQL외 CUBRID
라이선스비용 O X
서비스비용(유지보수) O O
가상화가격정책
~15Core ~31Core 32Core
1.00 1.50 1.75
© 2013 CUBRID Co., Ltd. All rights reserved. 11 / 50
구분 세부항목StandardService
Enterprise Service
Enterprise HA Service
Premium ServicePremium HA
Service
기본지원 CD/매뉴얼 O O O O O
설치지원
정기교육 O O O O O
최초 설치 O O O O O
패치,업그레이드 O O O O O
환경 설정 및구성 O O O O O
기술 어카운트 매니저 SM SM/AM SM/AM SM/AM SM/AM
이메일 지원 O O O O O
전화 지원 O(8X5) O(24X5) O(24X5) O(24X7) O(24X7)
일반기술지원
원격지원 O(8X5) O(24X5) O(24X5) O(24X7) O(24X7)
장애지원 O O O O O
정기 점검 2회 4회 4회 6회 6회
고급기술지원
사용 가능한 서비스요청횟수
2회 6회 6회 10회 10회
HA 이중화 구성 X X O X O
HA Trouble shooting
X X O X O
트러블 슈팅 O O O O O
질의 리뷰 서비스 X O O O O
성능 튜닝 서비스 X O O O O
hot fix 제공 X O O O O
Service Policy – Level
© 2011 CUBRID Co., Ltd. All rights reserved.
3. CUBRID 9.1 주요기능
© 2013 CUBRID Co., Ltd. All rights reserved. 13 / 50
CUBRID 9.1 주요기능
Stability
• 온/오프라인 백업/복구• 증분 백업/ 압축 백업 지원• 사용자/그룹별 권한 관리• HA 환경에서 장애발생 시
자동 절체 지원
Performance
• 멀티 쓰레드/ 서버 구조• 브로커 미들웨어에 의한 커넥션 풀링
로드밸런싱/Proxy 지원• 비용기반 옵티마이저• 고성능 Index 지원
Scalability
• 멀티 볼륨/ 볼륨 자동 추가 지원• DB/테이블/컬럼/인덱스 무제한 생성• 테이블 Partitioning을 통한 데이터 분할 관리• DB Sharding을 통한 노드 확장 및 다중 노드 관리• 1:N 복제 구성을 통한 부하분산 및 서비스 확장 지원
Ease of Use
• MySQL/Oracle 구문 호환성 향상• JDBC, PHP, ADO.NET, OLEDB, Python,
Ruby, C-API 지원• GUI기반 통합운영도구, 개발도구 제공• Web기반 통합운영도구 제공• 스키마/데이터 마이그레이션 도구 제공
© 2011 CUBRID Co., Ltd. All rights reserved.
3.1 CUBRID Architecture
© 2013 CUBRID Co., Ltd. All rights reserved. 15 / 50
CUBRID Architecture
APIC, JDBC, ADO.NET, OLEDB, ODBC,PHP, Perl, Python, Ruby, Node.js
Broker
ServerQuery
ManagerLock
Manager
Log ManagerStorage Manager
JobQueuing
Monitoring
Query Parser &Optimizer
Connection Pooling
Logging
LockCache
ObjectManager
DataVolume
IndexVolume
TempVolume
File BasedObject
TransactionManager
Active Log
Archive Log
© 2013 CUBRID Co., Ltd. All rights reserved. 16 / 50
3-tier architecture with middleware
• Connect• Request Query• Receive Result
• Process / Store Data
• Connection pooling• Parsing, Optimizing• Relay request / result• SQL logging
© 2013 CUBRID Co., Ltd. All rights reserved. 17 / 50
3.2 Performance
© 2013 CUBRID Co., Ltd. All rights reserved. 18 / 50
Performance
© 2013 CUBRID Co., Ltd. All rights reserved. 19 / 50
Random Insert Performance
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
Qu
eri
es
per
seco
nd
QPS decline over one hour
CUBRID QPS
© 2013 CUBRID Co., Ltd. All rights reserved. 20 / 50
3.3 Scalability
© 2013 CUBRID Co., Ltd. All rights reserved. 21 / 50
CUBRID Scalability
Replication
CUBRID HA
ShardingCUBRID SHARD
© 2013 CUBRID Co., Ltd. All rights reserved. 22 / 50
CUBIRD HA
DBMS Cost Disk-shared Replication ConsistencyAuto-
Failover
Oracle RAC +++++Shared
everythingN/A N/A O
MS-SQL Cluster +++Shared
everythingN/A N/A O
MySQL Cluster ++ Shared nothing Log BasedAsyncSync
O
MySQL Replication
+ Third-partyFree Shared nothing
Statement Based
Async O
CUBRID Free Shared nothing Log BasedSync
Semi-syncAsync
O
© 2013 CUBRID Co., Ltd. All rights reserved. 23 / 50
Server 이중화
Replication
ActiveServer
StandbyServer
Broker #2Broker #1
APWeb Server
APWeb Server
AutomaticSwitch-over
Node Fail
Replication
AutoFail-over Fail-back
ActiveServer
ActiveServer
© 2013 CUBRID Co., Ltd. All rights reserved. 24 / 50
Replication
ActiveServer
StandbyServer
Broker #2Broker #1
APWeb Server
APWeb Server JDBC Driver
CCI Library
Fail-over Fail-back
Node Fail
Broker 이중화
AutomaticSwitch-over
© 2013 CUBRID Co., Ltd. All rights reserved. 25 / 50
3 Log Sync modes
CUBRID HA-mode Speed Consistency
Sync Low High
Semi-Sync Mid Mid
Async High Low
Write Request
Sync OK
CommitStart
End( )
WriteStart
End
Semi-Sync OK
End( )
End( )
© 2013 CUBRID Co., Ltd. All rights reserved. 26 / 50
Master
node
Slave
node
Replica
node
3 node
HA 구성Nodes
(M : S : R)
HA
Standard1 : 1 : 0
HA
Extended1: N : 0
HA
Extended
(Load Balance)
1 : 1 : N
© 2013 CUBRID Co., Ltd. All rights reserved. 27 / 50
3 Broker mode
Broker mode description
Read Write - 읽기, 쓰기서비스를제공하는브로커
- 일반적으로액티브서버에연결하며, 연결가능한액티브서버가없으면
스탠바이서버에연결
Read Only- 읽기서비스를제공하는브로커
- 가능한스탠바이서버에연결하며, 스탠바이서버가없으면액티브서버
에연결
Slave Only- 읽기서비스를제공하는브로커
- 스탠바이서버에연결하며, 스탠바이서버가없으면서비스를제공하지
않음.
Preferred Host
Read Only
- 읽기서비스를제공하는브로커
- Read Only 브로커와동일하고, 서버의접속순서및서버선정기준만
다름.
- 서버의접속순서및서버선정기준은PREFERRED_HOSTS 로설정
© 2013 CUBRID Co., Ltd. All rights reserved. 28 / 50
CUBRID HA config (Standard - M:S=1:1)
© 2013 CUBRID Co., Ltd. All rights reserved. 29 / 50
CUBRID HA config (Extended - M:S=1:N)
© 2013 CUBRID Co., Ltd. All rights reserved. 30 / 50
CUBRID HA config (Extended – M:S:R=1:1:N)
© 2013 CUBRID Co., Ltd. All rights reserved. 31 / 50
CUBRID HA config (Extended – M:S=N:N)
© 2013 CUBRID Co., Ltd. All rights reserved. 32 / 50
* 일PV : 9천만 PV* 데이터 : 5천만 건/ 연간* Peak time : 9천 QPS
naver 적용사례
© 2013 CUBRID Co., Ltd. All rights reserved. 33 / 50
DB
“User” Table
id name age
1 Jackie 10
2 Bruce 12
3 Chuck 13
4 Billy 14
Shard #1
“User” Table
id name age
1 Jackie 10
2 Bruce 12DB Sharding
Shard #2
“User” Table
id name age
3 Chuck 13
4 Billy 14
DB Sharding
© 2013 CUBRID Co., Ltd. All rights reserved. 34 / 50
Sharding Solutions
Name TypeRequirements
InterfaceDB ETC
Hibernate shards AS frameworkDBMS w/Hibernatesupport
- Hibernate- JVM
Java
HiveDB AS framework MySQL- Hibernate- JVM
Java
dbShards AS & Middleware MySQLJava, C, PHP, Python, Ruby
Gizzard (Twitter) Middleware Any storage - JVM Java
Spider for MySQLMiddleware &Storage Engine
MySQL Any
Spock Proxy Middleware MySQL Any
Shard-Query Middleware MySQL PHP, RESTful API
CUBRID SHARD Middleware- CUBRID- MySQL- Oracle
Any
© 2013 CUBRID Co., Ltd. All rights reserved. 35 / 50
JDBC
User Apps
CCI
User Apps
CUBRID SHARD middleware
shard #0 shard #N……
CUBRID
CUBRID SHARD
© 2013 CUBRID Co., Ltd. All rights reserved. 36 / 50
Spock Proxy와 CUBRID SHARD 비교
Category Spock Proxy CUBRID SHARD
Sharding rule storage Database Configuration file
Sharding strategy Modulo • Modulo• User defined hash function
Determine Sharding Key
Full SQL Parsing SQL Hint Parsing
Strength No need to change SQL • Supports CUBRID and MySQL• Higher performance
• No SQL parsing• Multi-threaded• Connection pooling• Load balancing
• Custom sharding strategy• Easy configuration
Weakness • Performance degradation:• Extra SQL parsing• Resultset merging
• Supports MySQL only• Not all MySQL SQL is supported• Single threaded
• Requires to change SQL queries to insert the sharding hint
© 2013 CUBRID Co., Ltd. All rights reserved. 37 / 50
.
user apps.
JDBC
key_column
range(hash result) shard_id
min max
student_no 0 63 0
student_no 64 127 1
student_no 128 191 2
student_no 192 255 3
2) analyze SQL Hint& select shard
DB shard middleware
3) query with selected shard
shard #0
SELECT name FROM student WHERE
student_no = /*+ shard_key */ ?
shard #1 shard #2 shard #3
1) Query Execution using Hint
CUBRID SHARD Process
© 2013 CUBRID Co., Ltd. All rights reserved. 38 / 50
CUBRID SHARD Hint
SQL Hint Description
/*+ shard_key */shard key 칼럼에 해당하는 바인드 변수 또는 리터럴 값의 위치를지정하기 위한 힌트
/*+ shard_val( value ) */질의 내에 shard key에 해당하는 칼럼이 존재하지 않는 경우 힌트내에 shard key를 명시적으로 지정하기 위한 힌트
/*+ shard_id( shard_id ) */사용자가 특정 shard DB를 지정하여 질의를 처리하고자 할 때사용하는 힌트
© 2013 CUBRID Co., Ltd. All rights reserved. 39 / 50
Standby
Act
ive
Standby
Act
ive
Standby
Act
ive
N드라이브 적용 사례
Standby
Act
ive
Standby
Act
ive
* Meta DB- 25 Set (1:1 복제)- 1 Set 당 약 250GB (총 6 TB)
* Shard DB 1대당 600~1,400 QPS
© 2011 CUBRID Co., Ltd. All rights reserved.
3.4 Ease of Use
© 2013 CUBRID Co., Ltd. All rights reserved. 41 / 50
SQL Compatibility
Phase 1v.8.2.x
Phase 2v.8.3.x
Phase 4v8.4.x
Phase 6v9.0
Oracle MySQL MySQL MySQL,Oracle
HierarchicalQuery
SQL: 60+PHP: 20+
SQL: 70+PHP: 20+
CurrencySQL
LOB,API++
Implicit TypeConversion+
Usability+ Usability+++
RegExpr
MSSQL win-back MySQL, Oracle win-back:Monitoring system
Oracle: Ads,Shopping
CM CM, CQB, CMT CUNITOR Web managerCM
Monitoring++
© 2013 CUBRID Co., Ltd. All rights reserved. 42 / 50
CUBRID Tools
CUBRID Manager - DBA
CUBRID Query Browser - 응용개발자
CUBRID Web Manager - 웹기반 DB관리도구
CUBRID Migration Toolkit - 이기종 DBMS 이관
•모델링도구- DA# Architecture
•데이터암호화- KSignSecureDB
• DB 접근제어- Chakra Max
© 2013 CUBRID Co., Ltd. All rights reserved. 43 / 50
4. 클라우드/가상화 구축사례
© 2013 CUBRID Co., Ltd. All rights reserved. 44 / 50
CUBRID Deployment in NHN
서비스 45% CUBIRD 전환, 1,093 카피네이버메일, 네이버me, N드라이브, 블로그, 포토앨범, 쪽지, 공통덧글, 로그인… etc
© 2013 CUBRID Co., Ltd. All rights reserved. 45 / 50
정부 G-클라우드 컴퓨팅
공개SW 적용(50% 전환)
부처 업무의클라우드전환(60% 전환)
IT 운영 예산절감
(40% 절감)
G-클라우드인프라통합구축 G-클라우드플랫폼구현 G-클라우드서비스제공
•표준클라우드인프라도입
•미터링기반자원할당
•공개SW 활성화
•부처업무클라우드전환
•원격지 AP 개발플랫폼
•클라우드 PC 플랫폼
•모바일앱플랫폼
•공통행정업무서비스
•공통기반업무서비스
© 2013 CUBRID Co., Ltd. All rights reserved. 46 / 50
정부 G-클라우드 컴퓨팅
OS
DB
WEB
WAS
© 2013 CUBRID Co., Ltd. All rights reserved. 47 / 50
국방부-행정정보 통합지원체계 구축
개요
•국방부및국직기관인트라넷홈페이지(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 암호화솔루션연계
© 2013 CUBRID Co., Ltd. All rights reserved. 48 / 50
개요
•육군인트라넷홈페이지를 1,623개→488개로통합운영
•국직기관및각군에서개발하여운용중인약 3,521개의응용체계를전군차원에
서통합지원하기위하여 2015년까지 921개로통합
기대효과
•예하부대간표준화와일관성에중점을둬홈페이지운용·관리효율성을극대화
•일부부대의업무용 PC를서버로사용함에따른업무용 PC 부족개선
•소프트웨어개발및운용환경을표준화하고, 주요서버용소프트웨어는이중화구
성을통해안정성을향상
시스템구성
• OS : Linux (x86)/ 가상화(RHEV)
• WEB(EWS), WAS(Jboss),
DBMS(CUBRID 16Core * 16식 = 256Core) – 이중화구성
• DB 암호화솔루션연계
육군본부-주전산기 교체사업
© 2013 CUBRID Co., Ltd. All rights reserved. 49 / 50
개요
• 2020년클라우드(Cloud) 산업강국및글로벌리더실현을위한기술력확보
•클라우드(Cloud) 참조모델(Reference Model), 표준화확보를통한클라우드
(Cloud) 기반서비스확대
기대효과
•지식경제부산하기관의클라우드(Cloud) 구축모델화
•개방형소프트웨어(SW) 기반의클라우드(Cloud) 구축을통한비용절감
•클라우드(Cloud) 관리체계구축을통한생산성향상
시스템구성
• OS : Linux (x86)/ 가상화(XEN)
•WEB(Apache), WAS(Jboss),
DBMS(CUBRID 4Core * 6식 = 24Core)
•DB 암호화 (K-Sign)
KIAT-클라우드 시범 풀(Pool) 구축
© 2013 CUBRID Co., Ltd. All rights reserved. 50 / 50
TCO 오픈소스SW 도입으로인한 TCO절감
안정성 국내 1위 인터넷 서비스에서검증 / 기술 개발
기술지원 국내소스코드 보유로 신속한기술지원 제공
(Hot Fix, Patch, Update )
클라우드 대용량서비스 관련 기능개발 (Cluster, 분산파일시스템 등)
개방성소프트웨어의다양한 활용(획득․ 사용․ 복제․ 수정․ 재배포 등)이
가능한오픈소스 라이선스 채택
Why CUBRID