Upload
ratana
View
363
Download
1
Embed Size (px)
DESCRIPTION
한국형 DBMS 개발 어떻게 할 것인가?. 김 형주 교수 서울대학교 컴퓨터공학과 객체지향시스템 연구실 1999년 5월. 목차. History of DBMS DBMS 시장 동향 국내 DBMS 개발 동향 Motivation Various Efforts SNU OOPSLA Lab. 국산 Software 의 개발 지난 10년간의 교훈 우리의 현실 SW 분야를 위한 제안. History of DBMS. DBMS 란?. - PowerPoint PPT Presentation
Citation preview
한국형 DBMS 개발 어떻게 할 것인가 ?
김 형주 교수서울대학교 컴퓨터공학과객체지향시스템 연구실
1999 년 5 월
SNU OOPSLA Lab. 2
목차
History of DBMS DBMS 시장 동향 국내 DBMS 개발 동향
– Motivation
– Various Efforts
– SNU OOPSLA Lab.
국산 Software 의 개발– 지난 10 년간의 교훈– 우리의 현실– SW 분야를 위한 제안
SNU OOPSLA Lab. 3
DBMS 란 ?
방대한 양의 데이터를 편리하고 효율적으로 저장 , 검색할 수 있는 환경을 제공해 주는 시스템 소프트웨어
지원되어야 할 기능– 효율적인 스토리지 (storage) 관리– 동시성 제어 (concurrency control) 및 고장 회복 (recovery)
– 효율적인 질의 도구– 응용 프로그램 개발 환경
History of DBMS
SNU OOPSLA Lab. 4
naiveusers
applicationprogrammers
casualusers
databaseadministrator
applicationprograms
applicationprograms system
callssystemcalls queryquery database
schemedatabasescheme
filemanager
filemanager
data filesdata files
data dictionarydata dictionary
applicationprograms
object
applicationprograms
objectdatabasemanager
databasemanager
data manipulationlanguage
precompiler
data manipulationlanguage
precompilerquery
processorquery
processor data definitionlanguagecompiler
data definitionlanguagecompiler
DBMS
disk storage
DBMS Architecture
History of DBMS
SNU OOPSLA Lab. 5
계층형 및 네트워크 DBMS
초기의 DBMS 1970 년대 초기 이후 IMS (IBM), System/2000(MRA) DMS 1100 (Sperry), Total (Cincom), IDMS, IDS II
장점– 링크 (pointer) 를 통한 빠른 데이터 접근
단점– Weak Physical Data Dependence
History of DBMS
SNU OOPSLA Lab. 6
관계형 DBMS
1970 년대 후반에서 80 년대 초반– E.F.Codd, 1970 CACM Paper “The Relational Data Model”
선언적 ( 비절차적 ) 인 질의어 사용– 질의 최적화 (query optimization) 가 필요
System/R (IBM San Jose)– 1976
– 최초의 상업용 관계형 DBMS
Ingres (UC Berkely) – 1976
– 최초의 연구용 관계형 DBMS
History of DBMS
SNU OOPSLA Lab. 7
계층형 및 네트워크 DBMS 와의 비교
RDB 장점– 수학적 기반 (Relational Data Model)
– 사용의 편이성 (value based)
RDB 단점– 성능저하 ( 질의 최적화 기법으로 극복 )
• value base 연산• 조인
– Flat relation
• 계층형 및 네트웍 데이터 구조의 직접적 표현 불가
History of DBMS
SNU OOPSLA Lab. 8
관계형 DBMS 의 번성
1970 년대와 1980 년대 말 까지 최적의 관계형 데이터베이스 스키마를 구하기
위한 functional dependency theory 연구 성능향상을 위한 SQL 문 최적화 알고리즘 개발 동시성 제어 및 deadlock detection 알고리즘 연구 관계형 데이터 모델의 표현력을 높이기 위한
semantic 데이터 모델에 대한 연구 수행
History of DBMS
SNU OOPSLA Lab. 9
새로운 응용분야의 출현 (1980-85)
CAD/CASE/CAM 분야 인공 지능 분야
– 전문가 시스템 (expert systems)
Multimedia 분야– IMAGE, TEXT, AUDIO, VIDEO 등의 데이터 처리
Telecommunication Rich data model 과 데이터베이스 기능들이
요구됨
History of DBMS
SNU OOPSLA Lab. 10
객체지향 DBMS 의 등장
1985 년 ~ 1995 년 Research prototype
– ORION, POSTGRES, ENCORE/ObServer, AVANCE 등
Commercial Products:– O2, ObjectStore, Objectivity, Versant 등
ODMG-93
History of DBMS
SNU OOPSLA Lab. 11
객체지향 DBMS 특징
객체지향 데이터 모델 지원– 객체 (object), 객체 식별자 (object identity)– 클래스– 클래스 계층구조 , 계승 (inheritance)
Semantic 데이터 모델 확장– Composite object– Version
Persistent 프로그래밍 언어 Long-duration transaction Large object ODMG-93
History of DBMS
SNU OOPSLA Lab. 12
객체 관계형 DBMS 의 등장 배경
객체 DBMS 의 장점– 빈번한 동일 객체 접근 시 빠른 접근 제공 (object cache)
– 복잡한 데이터 모델 지원
객체 DBMS 의 제약 점– 효율적인 질의 처리 미비– 시스템의 안정성 미비
새로운 응용에 대한 지원 ( 복잡한 데이터 모델 등 ) 과 효율적인 질의 처리 요구됨
History of DBMS
SNU OOPSLA Lab. 13
객체 관계형 DBMS 의 시대개막
객체기능을 갖춘 관계형 DBMS 1996 년 , 상용 객체 관계형 DBMS 등장 ORDBMS 의 주요 기능
– LOB(large object) 지원– 사용자 정의 데이터 타입 지원 ( 객체 지원 )
– 타입 계승 지원– 사용자 정의 함수 및 저장 프로시저 지원– Application domain specific extension 지원– SQL 프로시저 확장– 룰 (rule)/ 트리거 (trigger) 시스템 지원
History of DBMS
SNU OOPSLA Lab. 14
DBMS 세계 시장 동향
관계형 DBMS - Oracle– 1997 년 70 억 $
– 1998 년 85 억 $
– 1999 년 100 억 $ (Orcale 8i: ORDBMS)
객체지향형 DBMS 전체 시장– 1997 년 2 억 $
– 1998 년 3 억 $ 내외
DBMS 시장 동향
SNU OOPSLA Lab. 15
DBMS 국내 시장 동향
관계형 DBMS– 92 년도 : 260 억원 (2,700 copy -- informix 110 억원 , Oracle 115 억원 )– 93 년도 : 310 억원 (1,800 copy -- informix 87 억원 , Oracle 117 억원 )– 94 년도 : 470 억원 (2,800 copy -- informix 160 억원 , Oracle 200 억원 )– 95 년도 : 600 억원 (3,200 copy -- informix 200 억원 , Oracle 300 억원 )– 96 년도 : 880 억원– 97 년도 : 1,200 억원 (Oracle 1000 억원 , …)– 98 년도 : IMF 로 상당히 고전 – 99 녀도 : ERP 와 EC 등의 강세 로 회복세
DBMS 시장 동향
SNU OOPSLA Lab. 16
한국형 DBMS 개발의 Motivation
88 올림픽 이후 Software 분야의 활성화 한국형 “ Something” 의 논리 DBMS seemed “EASY” SI 분야의 활성화에 따른 로열티의 문제 국내 전산학 Ph.D. 중 DB 분야 최다 인력
국내 DBMS 개발 동향
SNU OOPSLA Lab. 17
다양한 노력들
이름 개발연도 특징 개발기관 상품화KORED 1989 관계형 DBMS 인하대
IM 1990 관계형 DBMS KAIST
바다-I 1991 관계형 DBMS ETRI 대우통신코다 1992 관계형 DBMS 삼성전자 삼성전자
바다-II 1993 관계형 DBMS ETRI 대우통신SRP 1995 관계형 DBMS 서울대SOP 1995 객체지향 DBMS 서울대
Odysseus 1995 객체지향 DBMS KAIST
바다-III 1997 멀티미디어 DBMS ETRIOMEGA 1998 GIS 전용 OO DBMS KAIST
국내 DBMS 개발 동향
SNU OOPSLA Lab. 18
Fail, Fail and Another Fail !
국내 DBMS 개발 동향
SNU OOPSLA Lab. 19
SNU OOPSLA-Lab. 의 DBMS 개발 논리 SI 업체의 DBMS 개발팀 보유
– 최소 20~30 명의 연구원– 연구원 1 인당 6000 만원 / 년– 최소 1 년 예산 20 억원 소요
서울대 개발 후 Source Licensing( 컨소시엄 )– 대기업 5000 만원 / 년– 중소기업 3000 만원 / 년
30 명의 서울대 석 , 박사 연구원의 R&D– 향후 10 년 동안의 version-up
– 연구원들의 졸업 후 컨소시엄 업체에 진출
국내 DBMS 개발 동향
SNU OOPSLA Lab. 20
OOPSLA Lab. 소개
연혁– 1991. OOPSLA Lab. OPEN
– 1993. 2. 첫 석사 배출• 안 정호 , 이 강우 , 이
상원 , 조 은선– 1995. 3. 관계형 DBMS SRP
발표– 1995. 11. 객체지향 DBMS
SOP 발표– 1998. 8. 첫 박사 배출
• 안 정호 , 조 은선
연구원 현황
졸업생 현황
석사1 년
석사2 년
박사1 년
박사2 년
박사수료
6 명 6 명 4 명 3 명 10 명
배출 진학 취직 유학 기타
석사 32 20 7 2
박사 3 1 1
국내 DBMS 개발 동향
SNU OOPSLA Lab. 21
OOPSLA Lab. 연구 조직도
OOTechnology
OOTechnology
RelationalDatabase
RelationalDatabase
OODatabase
OODatabase
WWWWWW
MultimediaMultimedia
SoftwareEngineering
SoftwareEngineering
SRP
SOPSRP/OE
SOP/WE
SWeSS
VIRONSCARLETTIVRON
OO Case Tools
국내 DBMS 개발 동향
SNU OOPSLA Lab. 22
SNU OOPSLA Lab. 연구 활동
논문 발표 실적 ( 최근 3 년간 )– International journal paper : 2 ~4 articles/year
– International conference : 2 ~ 4 articles/year
– 정보과학회 논문지 : 10 편 / 년
Object technology web site(wwwoopsla.snu.ac.kr)– 각종 object technology 관련 article
– SRP source 공개– SOP source 공개
국내 DBMS 개발 동향
SNU OOPSLA Lab. 23
SRP (SNU RDBMS PLATFORM)
특징– 객체지향 개념에 기반하여
설계 및 구현– 객체지향 언어인 C++ 언어를
이용하여 구현 개발 일지
– 1991 년 개발 착수– 1994 년 프로토타입 완성– 1995 년 SRP 컨소시엄 구성– 1995 - 6 : 각종 프로젝트
수행을 통한 SRP 안정화– 1997 - 8 : 정통부 프로젝트를
통한 SRP 기능 제고
현황– 다중 사용자 환경 지원 : Multi-
Thread 형 RDBMS 서버– 클라이언트 / 서버 아키텍쳐– 레코드 단위 잠금 기능과 로깅
지원– LOB/View/Authorization/Auditing
지원– Windows 용 개발환경을 위한
DLL interface 지원– Static/Dynamic SQL 질의 최적화
기능 지원– 지원 플랫폼 : SunOS, Solaris,
Linux, HP-UX– 사용 도구 : GNU C++ compiler,
gdb, flex, bison, purify
국내 DBMS 개발 동향
SNU OOPSLA Lab. 24
SRP 내부 구조
Low- level storage systemLow- level storage system
File SystemFile System Transaction SystemTransaction System
SQL Evaluation SystemSQL Evaluation System
Disk Mgr LOB Disk Mgr
B+ treeStruct, Seq File
Page File
ThreadMgr
LogMgr
LockMgr
SQLEvaluator
SRP PhysicalRelational Operators
Volume
Multi-threaded SRP ServerSRP Client
User QueryUser Query
Parsing
Execution Block(Query Graph)
Execution Block(Query Graph)
Validation
SQL PlanSQL Plan
Optimization
Plan generation
Disk
국내 DBMS 개발 동향
SNU OOPSLA Lab. 25
SRP 시스템 규모국내 DBMS 개발
동향
모듈SRP 서버
SRP 클라이언트 모듈ESQL/C
QBESpatial QueryText RetrievalER-Modeler
계
클래스 수130140
384
257
50394
라인 수82,90030,70015,600
3,5005,5006,000
10,000153,200
SNU OOPSLA Lab. 26
SRP 컨소시움
연구 기간 : 1995.7~1996.6 참여 기업
– 엘지정보통신 , 현대정보기술 , 한국정보과학
연구 내용– SRP 성능향상 & 안정화– SRP 관련 기술 이전– Pilot 프로젝트 수행
• “SRP RDBMS 를 이용한 인사관리 프로그램”• “ 미래로 와 SRP 연동”• “IntraOffice 와 SRP 연동”
국내 DBMS 개발 동향
SNU OOPSLA Lab. 27
SRP 응용 프로젝트 (1)
“ 미래로 /DB 통합 소프트웨어를 위한 SRP 확장”– SRP 와 Windows 와의 연동– ODBC 를 이용한 응용
프로그램 개발 참여 기관
– 산학연 과제– ( 주 ) 한국 정보공학
국내 DBMS 개발 동향
Report Designer/Viewer(Windows 프로그램 )
SRP WINAPI (ODBC 클라이언트 모듈 )
SRP WINAPI 서버(ODBC 서버 모듈 )
SRP 서버
Unix
Windows
SNU OOPSLA Lab. 28
SRP 응용 프로젝트 (2)
“웹 기반 그룹웨어 개발” – SRP 와 웹의 연동– JAVA 와 JDBC 를 통한 웹 -
데이터베이스 응용 프로그램 개발
참여 기관– 통상 산업부 과제– 웹 인터네셔널 ( 현 ,
한국디지탈라인 )
국내 DBMS 개발 동향
Intra Office(Java Applet)
JDBC 클라이언트 모듈
JDBC 서버 모듈
SRP 서버
Unix
WebBrowser
SNU OOPSLA Lab. 29
SOP (SNU OODBMS PLATFORM)
특징– ODMG 표준 지원– 다중 사용자용 클라이언트 /
서버 구조 OODBMS
개발 일지– 1992 년 개발 시작– 1995. 11. 프로토타입 개발– 1995. 12. SOP 컨소시엄
구성– 1996 ~ 8. 프로젝트를 통한
SOP 안정화 , 기능 제고
주요 개발 내용– Soprano: 다중 사용자용
Client/Server 객체 저장 시스템 및 객체 관리자
– OQL 처리기 : ODMG OQL 객체 질의어 처리기
– LOD* 처리기 : ODMG C++ 바인딩 지원 OODB PL
– 객체 스키마 편집기 – Visual OQL 도구 : 그래픽 OQL
도구– OOER 모델링 도구 : DB 설계
도구– RDB 접근 라이브러리 – Multimedia GUI 도구
국내 DBMS 개발 동향
SNU OOPSLA Lab. 30
SOP 시스템의 구성
Visual OQL ToolVisual OQL Tool
Schema EditorSchema Editor
OOER ModelerOOER Modeler
ApplicationProgram
ApplicationProgram
MultimediaApplicationMultimediaApplication
TCP/IP
Soprano(Object Storage System)Soprano(Object Storage System)
SchemaManagerSchemaManager
OQLRun-time Library
OQLRun-time Library
SOP DBPLPreprocessorSOP DBPL
Preprocessor
RDB AccessLibrary
RDB AccessLibrary
Object Base Object Base
UNIXServer
국내 DBMS 개발 동향
SNU OOPSLA Lab. 31
SOP 시스템 규모국내 DBMS 개발
동향
모듈객체저장시스템 (Soprano)
OQL 처리기LOD* 처리기
Visual OQL 도구OOER 모델링 도구
RDB 접근 라이브러리멀티미디어 질의 처리기
계
클래스 수200
40230
30253025
680
라인 수80,00015,00050,00010,00016,000
6,00010,000
187,000
SNU OOPSLA Lab. 32
SOP 컨소시움
연구 기간 : 1996.1~1996.6 참여 기업
– LG 정보통신 , 미원정보통신
주요 활동 :– SOP 성능 향상 및 테스트– SOP 관련 기술 이전– Pilot 프로젝트
• “Web 을 이용한 인사정보 검색”• “SOP 를 근간으로 WTS 개발”
국내 DBMS 개발 동향
SNU OOPSLA Lab. 33
SOP 응용 프로젝트
WTS 프로젝트– SOP 와 WWW 연동– 웹 상에서의 멀티 페이지 트랜잭션 제공
– 스케줄링을 통한 성능 향상
– 패키지 / 컴포넌트 단위의 손쉬운 응용 개발
참여기관– 과기처 “특정연구” 사업– SNU OOPSLA Lab.,포스데이터 , 대교 컴퓨터 ,CSG LinkWare
국내 DBMS 개발 동향
웹서버
웹브라우저
SOP
전달자
WTS
대기자
패키지 프로세스
패키지 프로세스
SNU OOPSLA Lab. 34
SRP/OE(Object Extension)
RDBMS 들의 ORDBMS로의 발전 추세– SRP 시스템에 객체기능 추가
– SRP/SOP 개발 기술 기반
현재 진행중인 개발 내용– 사용자 정의 함수– SQL 프로시저
확장 (IF/WHILE/BLOCK 문 지원 )
– Stored 프로시저
SRP/OESRP/OE
국내 DBMS 개발 동향
SNU OOPSLA Lab. 35
SRP/OE 개발 계획
1 단계 (1999 년 )– LOB 개선– Stored procedure 제공– Web 지원을 위한 prototype
설계 2 단계 (2000 년 )
– UDT(User Defined Type)
– UDF(User Defined Function)
– Web 전용 UDF/Stored function 제공
– Web gateway 확장
3 단계 (2001 년 )– Procedural extension to SQL
– Java 를 이용한 UDF 작성 기능 제공
– UDT/UDF 에 대한 CORBA 접근 지원
– UDF 를 고려한 질의어 최적화 기능 제공
국내 DBMS 개발 동향
SNU OOPSLA Lab. 36
SOP/WE (Web Extension)
XML 저장장치로서의 ODBMS– 객체 지향 모델을 통한
데이터 저장– 구조적 데이터 접근이 가능– 문서 버전 지원– 높은 동시 사용성– 고속의 전문검색 (Full Text
Retrieval) 가능– 고속성 ( 조인을 사용하지 않음 )
CORBA 를 통한 분산 프로그램– Java client 와 서버의 통신– CORBA 객체에 대한 지속성– 신속한 객체 접근 가능– 3 계층 구조 프로그램 개발
자바애플릿
ODBMS서버
ODBMS서버
IIOP(CORBA)응용서버
(OODBMS클라이언트 )
응용서버(OODBMS
클라이언트 )
Middle Tier
국내 DBMS 개발 동향
SNU OOPSLA Lab. 37
SOP/WE 장점
객체지향 프로그램 언어(C++) 에 의한 웹 응용프로그램 개발 지원
사용자 정의 데이터 타입 지원
클라이언트 캐슁에 의한 고속의 데이터처리
웹서버웹서버
응용 서버
데이터베이스 서버
데이터 캐쉬
디스크디스크
웹서버웹서버
응용 서버
데이터베이스 서버
디스크디스크
RDBMS 를이용한 경우
ODBMS 를이용한 경우
데이터 캐쉬
국내 DBMS 개발 동향
SNU OOPSLA Lab. 38
지난 10 년간의 교훈 (1)
한국형 “ Something” 과 한국시장의 “대체효과”운운하는 것은 어리석다– 한국 IT 시장규모 < 미국 Bay Area IT 시장 규모– 큰 회사도 , 작은 벤처도 Silicon Valley 에서 Survival 하지 않으면 , 국내에서 잘 나가도 결국은 fail!
– 한국 시장 중요성의 강조 -> 망하는 지름길– 외국 SW 사서 쓰니 비싸다 , 대체하자 -> 잘못된 생각
국산 SW 의 개발
SNU OOPSLA Lab. 39
지난 10 년간의 교훈 (2)
Academic Perspective 와 Commercial Perspective 의 Gap 은 생각보다 훨씬 크다 !– 예 : SQL3 Support
– 예 : OR-DBMS 시장의 형성과 3 Big Giant 의 역할
대기업 도 system software 개발 에 소극적일수 밖에 없다
중소기업 이 system software 개발 에 덤비다간 망한다
국산 SW 의 개발
SNU OOPSLA Lab. 40
지난 10 년간의 교훈 (3)
선진 Major Vendor 의 벽은 정말 높다– Oracle : 4 만명 (world wide)
Outsourcing 은 중요한 전략이며 채택해야 할 전략이다– Oracle 1 year revenue : 85 억불– Oracle V.A.R. : 1 억불 매출 100 여개 업체
국산 SW 의 개발
SNU OOPSLA Lab. 41
우리의 현실
넌센스 1: – 국내 굴지의 모업체 , UniERP, UniWARE, UniCAD, UniPDM,
KWAVE, etc.
넌센스 2:– “ 초 , 중 , 고에 사용되는 Windows95, Word, Excel 등의 구입
비용이 만만치 않으니 “ PC 기반 SW 센터”를 통해 50% 기능만 있는 국산을 개발하여 대체합시다”
넌센스 3:– 정보통신 벤처를 2000 년까지 2 만개를 만들어 IMF 하의
국가 경제의 회생을 도모하고 … .
국산 SW 의 개발
SNU OOPSLA Lab. 42
우리의 현실 (2)
Fact (1): – Yahoo 주가 총액 (50 조 ), Amazon 주가총액 (30 조 )
– 삼성전자 주가총액 (15 조 ), 한국전력 주가총액 (20 조 )
– 일본 NTT 주가총액 200 조– 한국 전체 증시 주가 총액 200 조
Fact (2):– 삼성 그룹 부채 (30 조 ), 주가총액 (30 조 )
– 대우그룹 부채 (60 조 ), 주가 총액 (6 조 )
SNU OOPSLA Lab. 43
SW 분야를 위한 제안 (Suggestions!)
성공한 SW Product 와 SW Company 의 Critical Success factor 를 면밀히 고찰하자
Out-Sourcing 과 Strategic-Alliance 에 적극적으로 임하자 (벤처 , 대학 , 연구소도 )
경쟁력있는 SW Engineer 를 양성하자 벤쳐 , 대학 , 연구소 등 : Silicon-Valley 에
진출하자– 어느 때보다 좋은 여건– 도전적 과제
국산 SW 의 개발