데이터베이스 개론

2. 데이터베이스 역사(3) - RDBMS 출현 에드거 커드

홍보살 2024. 12. 20. 14:00

개발자들에게 가장 문제가 뭐라 생각하나?

구차니즘 아니면 투사?

아니다 가장 중요한 것은 이론의 부재이다.

현직에서 보면 이 심각성을 적나라하게 보게된다.

일반 고급언어 개발자들에게 DBMS는 보조수단일 뿐이다.

이에 따른 결과 DBMS는 시간이 지날수록 비정상적인 분화가 촉발한다.

2024년 거의 대부분(90%이상)의 DBMS는 4세대 RDBMS( Relational DataBase Management System : 관계형 데이터베이스 관리 시스템)이다.

3세대 NDBMS에서 문제점을 보완하고 이를 창안한 사람은 에드거 프랭크 커드(Edgar Frank "Ted" Codd, 1923년 8월 23일 ~ 2003년 4월 18일) 로 아명인지 확실치 않으나 닉네임 "테드"로 불리운 과학자이다.

당연히 튜링상 수상자이며 그의 수상소감은 현시대 개발자들이 숙고할 만 하다.


사람들은 이론적 기반을 환영하기보다는, 
이론적인것은 현장에 적용할 수 없다는 태도를 보인다.
대다수의 비 관계형 DBMS가 누더기 품질을 보이는 가장 주된 이유는 이론적 기반이 없기 때문이다
- 1981년 튜링상 수상 소감중

 

 

커드의 수상소감에 첨하자면

이러한 개발자들의 사고가 개발자들의 피지배현상을 고착화 한다는 점이다.

국내 개발자 수급의 프로세스(갑-을-병-정-무)에서 개발자의 포지션이 잘해야 "정"의 위치일 수 밖에 없는 현실은 비단 정치 경제적인 구조적 문제이기도 하지만 개발자들이 스스로 귀속되려는 보수성도 한몫 한다고 봐야한다.

 

RDBMS 라는 4세대 DBMS는 현재 우리가 흔히 알고있는 DBMS(Oracle, MS-SQL, PostgreSQL, DB2, Mysql, MariaDB, Sybase등등)가 여기에 속한다.

간략하게라도 에드거 커드에 대해서 논하지 않을 수 없다.

(이후로는 "테드" 호칭하겠다.)

 

[메카시즘과 IBM]

2차 세계대전(1939~1945) 종전 후 냉전시대가 도래했다.

이때 냉전시대를 이용한 불상의 포비아(Phobia)를 이용한 저열한 위정자중 하나가 상원의원이던 메카시다.

"공산당이 싫어요" 가 우리 뇌리속 깊이 박혀있던 그 시절과 흡사한 사회 분위기로 보면 되겠다.

그 위정자의 이름을 딴 공산당 말살기조를 매카시즘이라 한다.

 

DBMS의 아버지인 찰스 바크만과 마찬가지로 테드 역시 천재소리를 듣던 사람은 아니였다.

테드는 일글랜드 포틀랜드섬에서 태어나 1942년 대학졸업 후 공군에 자원입대하여 수륙양용폭격기(선더랜드)를 조정했고 전후 석사학위(수학)를 취득했다.

이후 미국으로 건너와 판매 알바로 거처 수학강사까지 지냈다.

다만 위에 언급한 메카시즘 광풍이 불던 시기에 테드는 미국을 떠나 캐나다로 이동했다.

금수저가 아닌 이상 당연히 안착할 곳을 사전에 확정했는데 그곳이 IBM이다.

그리고 매카시즘이 50년대 중반이후 사그라들자 다시 미국의 IBM으로 돌아온다.

 

[시장 우월적 지위에 따른 혁신저하에 저항]

1970년대까지 IBM은 2세대 HDBMS(계층형)의 문제점을 보완한 IMS(Information Management System) 로 시장 우월적 지위를 가지고 있었다.

예상하듯이 시장 우월적 지위는 혁신의 장애물일 확률이 높고 IBM 역시 그러했다.

 

테드가 RDBMS를 창안한 동인은 기존 DBMS의 불편함이었다.기존 DBMS는 고도로 교육받은 특정 소수만이 사용이 가능했고지금의 SQL 처럼 간단 명료하지 않다는 얘기다.그러나 테드의 10년간의 구애와 노력에도 불구하고 IBM은 외면했다.

그리고 1984년 결국 그는 IBM에서 퇴사한다.

 

지금 당신의 조직내 분위기는 어떠한가?

혁신을 가로막는 주체는 누구인가 고심해 보자.

혹시 나 자신인가? 아니면 나는 동조자 인가?

 

[찰스 바크만과의 논쟁]

1974년 미국 컴퓨터 학회의 SIGMOD 워크샵에서 DBMS 파파 바크만과 테드가 논쟁을 했다.

반 RDBMS 측에서는 바크만이 RDBMS측에서는 테드

NDBMS 측에서는 속도와 저비용의 우수함을

RDBMS 측에서는 무결성과 사용상의 편리함을

그때까지는 우열을 가리지 못하고 끝났다.

중요한건 실물이 존재하지 않았던 RDBMS의 이론만으로 테드는 맞다이에서 밀리지 않았다는 것이다.

 

 

 

[2024년 DBMS의 9할이 RDBMS일까?]

우선 컴퓨터의 처리속도와 관련된 CPU, RAM, CACHE, SSD등의 놀라운 발전속도와 대량생산으로 인한 단가인하도 한몫한다.

데이터라는 것의 최우선순위는 일단 정확성이다.

속도의 문제는 하드웨어의 성능으로 상쇄하고도 남을 만큼 빠르게 진보한다.

 

PC의 탄생으로 인한 사용자의 폭발도 중요하다.

사용자의 요구에 빠르게 대응해야 할때 RDBMS의 개발속도가 월등히 빠르다.

빠른 시대변화가 사용자 요구의 LC(life Cycle)을 빠르게 저하 시킴에 따라 대응 속도가 여기에 따라가야 했다.

우리가 알고있는 SQL(Structured Query Language) 이 RDBMS에서 처음 채용된다.

(SQL과 저급언어를 비교해 보라 얼마나 간단 명료한가 ㅎㅎ)

물론 테드가 처음에 고안한 건 SQL이 아니라 ALPHA 코드였으나

(NDBMS에서의 실행 명령어의 10%도 안되는 수준으로 표현했다.)

이를 테드가 배제된 IBM에서 "SEQUEL"(씨퀄) 이라는 이름으로 명명했으나

상표권문제로 SQL이라는 이름으로 개명한 것이다.

우리가 흔히 MS SQL server를 "SEQUEL"(씨퀄) 이라 부를때 여기서 유래된 것이라 생각하면 된다.

 

RDBMS

 

테드는 실제 IBM의 RDBMS 개발 과정에서 배제되었다.

그럼에도 불구하고 그의 이론은 대부분의 RDBMS의 중요한 이론이 되었다.

지금 우리가 사용하고 있는 대부분의 DBMS는 바로 테드의 논리적이고 강단있는 선택과 열정의 산물이라 할 수 있다.

 

경제학에서 "수확체증" 이라는 이론이 있다.

전통경제학 일반론에서 "수확체감" 이론과 정확하게 배치되는 개념이다.

수확체감이란

자본과 노동 등 생산요소가 한 단위 추가될 때 이로 인해 늘어나는 한계 생산량은 점차 줄어든다는 것.

그럼 그 반대인 수확체증은 줄어들지 않고 늘어난다는 것인데 그 대표적인 사례가 바로 IT분야이다.

(물론 IT분야도 일정 규모(경제규모)가 되면 정체될 수 도 있겠지만) 

 

고전 경제학자중에 실업의 원인을 고도의 기술발전이라고 주구장창 떠들던 놈들 참 많았다.

하지만 2007년까지의 호황과 2008이후의 실업률의 변화 추이를 보면 이 말은 틀렸다.

개발자들이여. 지금의 AI 열풍도 지식과 사유로 충분히 극복할 수 있다.

쫄지마 !!