긴 여정의 시작
나는 매번 무엇을 하기 전에 동기부여를 찾아 헤맨다. 공부할 목적이 있어야 시작을 할 수가 있기 때문이다. 처음 나는 IT 업계에 들어와 데이터베이스 엔지니어를 시작으로 개발자를 거쳐 현재는 데이터베이스 관리자 (DBA)로 일하고 있다. DBA가 되어가는 여정에서 데이터와 데이터를 운용하는 데이터베이스 시스템 관리에 대한 중요도를 알게 된 후로 가치 있는 일을 하고자 데이터베이스 관리자라는 직무를 택하게 되었다. 나는 업무를 하면서 문득 궁금증이 생기기 시작했다. "오라클에 입사는 어떤 사람들이 하는 걸까?"라는 의문이 생겼다. 그저 높기만 했던 회사 그런 회사를 내가 직접 들어가 보기로 마음먹었다. 그래서 나는 "오라클이 되기로 했다." 가장 먼저 해야 할 것들은 기술적인 것들 그리고 왜 오라클에 입사하여야 하는 가? 를 정리하는 것이었다. 먼저 기술에 앞서 '왜'라는 의미를 담기로 했다. "왜 나는 오라클을 공부하는 가"에 대한 내용부터 시작을 하려고 한다.
제1 장.
"오라클을 선택한 이유"
데이터베이스를 알게 되면 한 번은 알고 넘어가야 할 단어 "오라클(ORACLE)"이다. 사실 나는 이 단어를 궁금하기 전에 빨간색 로고에 강렬한 임팩트가 두근거리게 했다. 오라클을 부정하며 MySQL을 택했던 나는 결국 오라클로 돌아오게 되었다. 다른 오라클 DBA에 비하면 아직 아이 수준이지만 성장한다는 믿음이 있었다.
"Better late than never."라는 말이 있듯 지금부터라도 오라클에 대해 면밀히 파헤치기로 했다. 오라클을 선택한 이유를 얻고자 이제부터 오라클에 대해 알아보기로 한다. "나 혼자 레벨업.."
Oracle Corp.
오라클 주식회사는 1977년 6월 16일 (46주년)에 설립된다. 미국의 대규모 소프트웨어 기업 중 하나로 텍사스 주 오스틴에 본사가 위치하고 있으며 주 사업은 B2B 방식으로 IT 자원을 지원하는 것으로 탄탄한 기업으로 자리매김하고 있다. 오라클은 ORACLE DATABASE, MySQL DATABASE, JAVA 외에도 자사 미들웨어, 애플리케이션을 기반으로 OCI 클라우드 컴퓨팅 등 SaaS 제품들을 다양하게 제공하여 오늘날 IT 업계에서는 오라클을 사용하지 않는 회사는 거의 없을 정도로 큰 기반이 마련되어 있는 회사로 남아있다.
Oracle History.
오라클은 Ampex Inc. 의 직원이던 래리 엘리슨과 밥 마이너, 에드 오츠에 의해 설립된다. 1977년 회사를 그만두고 실리콘밸리에서의 오라클의 전신인 소프트웨어 개발 연구소(Software Development Lab)를 설립한다. 작가가 되면 "래리 엘리슨, 밥 마이너, 에드 오츠 그들은 누구인가?"에 대해 조사하여 기재해 보겠다. 일단 역사는 이렇게 시작한다. 이 세명의 설립 후 첫 목표는 CIA의 데이터베이스 관리 소프트웨어 계약을 따내는 것이었다고 한다. 그리하여 개발에 착수하고 탄생한 게 ORACLE DB 다. 역사가 있는 곳에 문화 있고 문화 있는 곳에 희망이 있다.라는 생각을 늘 가지고 있다. 오랜 역사를 가지고 전통적인 관계형 데이터베이스가 일관된 내용을 가지기까지 수많은 히스토리가 있었다고 생각한다. 여러 방향성도 있지만 아직까지도 근본 있는 DB로 남기까지는 뼈대 있는 역사가 있어서가 아닐까.라는 생각이 들어 조금 조사를 해보았다.
"관계형 데이터베이스의 정의는 내가 하겠소. 에드가 코드(Edgar Codd)"
1970년 IBM의 연구원이었던 에드가 코드는 RDBMS라는 논문을 발표하게 된다. 1974년 IBM은 이 기술을 기반으로 한 데이터베이스 언어 SQL을 만들어낸다. SQL은 'Structured Query Language'의 약자로, 데이터베이스에서 데이터를 추출하고 조작하는 데에 사용하는 데이터 처리 언어이다. 데이터베이스를 다루는 사람이라면 SQL 언어로 데이터를 처리하거나 검색, 삭제, 삽입을 할 때 사용하는 처리 언어로 익숙할 것이다.
"모두 다 알지만 그래도 한번 정도는 정리하고 싶었다.." SQL에 대해 조금 더 깊게 말해보고 싶지만 지금 주제는 History이기에 벗어나지 않게 다음에 게시하겠다.
에드가 코드는 계층적 모델의 문제를 설명하는 것부터 시작하여, 소프트웨어는 고유한 구조가 존재한다고 가정해야 한다. 라며 이 구조를 통해 작동할 수 있어야 한다고 언급한다. 이 뜻은 데이터 저장 방식을 변경하면 응용 프로그램과 소프트웨어가 더 이상 작동할 수 없다는 것을 의미한다고 한다. 데이터 저장 방법과 애플리케이션 논리 사이에 종속성이 없어야 한다는 뜻으로 "데이터의 독립성"을 강조했다. 에드가 코드는 1985년 13개의 규칙을 발표하면서 컴퓨터 과학 분야의 노벨상에 해당하는 Turing Award를 수상한다. 이 이론을 기반으로 관계형 데이터베이스가 가질 수 있는 수준에서 정규화와 무결성이 시작된다. wikipedia 내용에 따르면 에드가 코드의 데이터 관리는 매우 영향력 있는 이론으로 남아있는 관계형 모델로 그의 큰 업적은 오늘날 데이터베이스의 귀감이 돼 오고 있다.
"어.. 좀 재미없는데?"
그렇다. 이런 이야기는 사실 재미없다. 이제 오라클에 대한 이야기를 다시 이어보겠다. 에드가 코드의 논문에 영감을 받아 래리 엘리슨과 설립자들은 1979년 릴레이션 소프트웨어로 회사명을 변경한다. 이에 오라클은 SQL을 지원하는 유닉스용 RDBMS 소프트웨어 ORACLE v2.0을 발표하며 1982년에 사명을 오라클로 변경하게 된다. 당시 오라클 RDBMS는 메인프레임에서만 동작했으나 기술의 변화로 미니컴퓨터, 서버에서 실행되게 되며 큰 인기를 끌게 된다. 오라클은 마이크로소프트와 경쟁하며 수익률이 저조했었고 구조조정 등 여러 위기를 맞게 된다. 이후 오라클은 어렵게 회사가 성장하며 위기를 벗어나 1990년 2000년대에는 큰 소프트웨어로 성장한다.
다음 화에는 "Oracle business."로 오라클에서 어떤 수익구조를 가지고 있는지와 앞서 소개했던 소프트웨어에 대해 조사하여 설명해 보겠다.
재미있게 읽었다면 감사하다. 나도 오라클에 대해 기술적인 내용만 공부했지만 글을 쓰면서 점점 더 오라클에 대한 애착이 더 커져갔다. 앞으로 어떻게 작성해야 될지 고민하고 공부해 보자.
#오라클 #ORACLE #DBA #DATABASE