이 강좌는 2001년도에 작성 되었습니다.
지금의 오라클이라는 데이터베이스가 나오기 까지의 과정을 정리해 봤습니다. 약간 지루한 내용일 수도 있는데요.. 한번 읽어 보세요..
오라클사의 창업주인 3인- 래리 엘리슨(Larry Ellison), 봅 마이너(Bob Mi-ner), 그리고 에드 오츠(Ed Oates)가 처음 만든 회사는 "Systems Develop-ment Laboratories"라고 하는 작은 컨설팅 회사였습니다.
이들은 1976년 11월에 발행된 IBM의 "Journal of Research and Development"에 실린 어떤 기사에 자극을 받아 최초로 상용화된 "관계형 데이타베이스 관리 시스템"을 개발, 판매할 수 있는 회사를 설립하자는 데 의견을 함께 했습니다.
이들 3인은 그 이전에 미국 정부기관의 한 프로젝트에 공동으로 참여한 적이 있었는데 이때의 프로젝트 이름이 "오라클(Oracle)"이었으며, 이들은 RSI 창립 후 개발에 착수한 자신들의 RDBMS를 이 기관의 허가를 얻어 "Oracle"이라고 이름을 정했습니다.
이들 3인의 창업주들은 일찌감치 이 최초의 상용 RDBMS를 C언어를 이용하여 개발하기로 하였습니다. 그러고 보니 제가 태어난 년도에 오라클 개발이 시작 되었습니다.. 벌써 삼십년이 다 되어 가네요. Oracle최초의 버젼인 버젼 1은 프로토타입으로서 판매되지는 않았으며, 1979년 RSX-11 운영체제를 갖춘 디지탈사의 PDP-11 미니컴퓨터에 최초로 버젼 2가 공급되었습니다. 버젼 2는 일부만이 C로 개발되고 대부분이 PDP-11용 어셈블러 언어가 이용되었습니다.
오라클 버젼 2는 데이타에 대한 여러가지 질의(Queries)를 수행하는 완벽한 SQL을 공급하여 초창기의 RDBMS 고객들에게 깊은 인상을 주었습니다. 당시 오라클이 구현한 SQL은 IBM이 정의했던 언어에 여러가지 발전적인 면을 추가하고 있었습니다. "CONNECTED BY"라고 하는 트리구조를 이용한 질의기능은 이때 소개되어 지금까지도 SQL시스템이 제공하는 특징으로 자리잡고 있습니다. 하지만 오라클 버젼 2는 트랜잭션 개념을 지원하지 못하였고 또한 심지어 단일 SQL문 조차도 자동으로처리하지 못했습니다.
Version 3은 거의 전체를 다시 코딩하여 탄생하였으며, 대부분이 C로 작성되었습니다. 이는 여러가지 플랫폼상에서 Oracle RDBMS가 동일하게 구현될 수 있도록 소스 코드 세트를 하나의 언어로 단일화하자는 취지에서 진행된 작업이었습니다. Oracle Version 3를 내놓고 RSI는 회사명을 현재의 Oracle Corporation (이후 "오라클사"로 표기)으로 바꾸었습니다.
오라클사는 1984년 버젼 4를 소개하면서 판매량을 급격히 늘리게 되었습니다. 버젼 4는 읽기의 일관성을 소개하였는데 이 중요한 특징은 현재의 Oracle에 까지 이어져 데이타를 읽으려고 하는 자와 쓰려고 하는 자 사이의 충돌을 방지하고 있습니다. 버젼 4에서 부터 읽기 일관성과 트랜잭션을 완전히 지원하게 된거죠..
1985년과 86년에 오라클사는 두개의 새 버젼을 내놓게 되는데 이는 5.0과 5.1 입니다. 버젼 5.1은 최초로 이종의(Heterogeneous) 클라이언트/서버 아키텍쳐를 허용한 제품 입니다 오라클 버젼 5.1은 또한 최초로 분산 질의를 제공한 SQL 시스템이었습니다. 또 오늘날 "오라클 병렬 서버(Oracle Parallel Server)"의 기초가 되는 협동서버(Cooperative Server)의 초기 형태를 선보였습니다.
1988년 7월에 소개된 버젼 6은 대용량 OLTP환경의 요구사항에 맞도록 개발되었습니다. 이때 강조된 사항은 OLTP에 중대한 영향을 미치는 I/O, 버퍼 관리, 동시성 제어, 백업 및 복구 등으로서 I/O 시간을 줄여주기 위해 빠른 커밋 (Fast Commit), 지연 쓰기(Deffered Write) 등이 소개되었으며, 시스템 가용성의 개선을 위해 온라인 백업 및 복구기능이 역시 발표되었습니다 오라클 병렬 서버를 버젼 6.2에 공식적으로 발표하였고, 버젼 6의 사용자들은 최초로 SQL문을 절차언어인 PL/SQL문과 함께 사용할 수 있게 되었습니다.
4년간의 연구, 개발기간 및 2년간의 내부테스팅 및 고객사이트 테스팅을 거친 Oracle7은 1992년말 발표되었습니다. Oracle7은 몇가지 중요한 아키텍쳐상의 변화 및 풍부한 기능을 맞이하게 되었습니다. 아키텍쳐, 성능 및 관리상의 개선아키텍쳐 측면에서 Oracle7은 메모리, I/O 및 CPU의 활용을 개선하였습니다. 보안 기능 및, 분산데이터베이스 기능 을 효과적으로 지원하고, ANALYZE명령 사용 및 효과적인 옵티마이져를 실행 할 수 있게 되었습니다.
Oracle8i는 인터넷 컴퓨팅을 위한 데이타베이스로서, 인터넷 시대의 요구에 부응하도록 정보의 관리 및 액세스 방식을 바꾸어놓는 한편, 전통적인 OLTP와 데이타 웨어하우스 애플리케이션을 위한 중요한 새로운 기능들을 제공 했습니다. 오라클의 자바 지원은 모든 애플리케이션 층으로 확대되었고, 이미지, 텍스트, 오디오/ 비디오 및 공간 데이타 등, 멀티미디어 데이타의 관리 및 액세스를 가능케 하는 interMedia도 새롭게 도입 했습니다
서버나 사이트에 장애가 발생해도 안전하고, 실패와 고장에도 끄떡 없고, 보안성, 확장성, 가용성을 강화한 ’오라클9i’를 작년에 발표 했습니다. 難攻不落: Can’t break it ==> 오라클 9i는 무엇보다 데이터의 안정성을 강조 한거 같네요.. 정말 난공불락인가.. 오라클은 하루에 6000회 이상 해킹을 시도당한다고 하더라구요..그것보다 앞으로는 어떤 데이터베이스 시스템으로 개발되어 나올지.. 궁금해 지네요..
- 강좌 URL : http://www.gurubee.net/lecture/1302
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.