본문 바로가기
엑셈 경쟁력/전문가 기술기고

IT easy, IT is! | 일곱 번째, TPMS와 WAS

by EXEM 2018. 1. 30.

 


 

 

 

  컨테이너와 블록



지난 『IT easy, IT is!』에서는 컴퓨터 역사 초기 시절굵직한 축을 이루었던 중요한 기업 등에 대한 이야기를 전해드렸는데요. 오늘은 블록과 트랜잭션에 대한 이야기를 나눠보려 합니다.


역사상 가장 위대한 발명 중 하나인 컨테이너는, 시랜드(Sea-Land)라는 해운회사를 설립한 말콤 맥클린(Malcom McLean)의 작품입니다. 컨테이너가 있기 전 트럭에서 화물선으로 짐을 옮길 때 시간에서도 비용에서도 너무 많은 비효율이 발생하였던 점에서 표준화된 컨테이너를 고안해내었고, 이를 통해 운송의 단위가 컨테이너로 자리잡게 된 것이지요.

 

 

  

 

 

 

       (그림 : 말콤 맥클린(좌)과 컨테이너 박스(우))

 

  


DBMS에서도 마찬가지입니다. 어떤 정보를 담을 때 데이터 단위가 아니라, 작게 쓰든 크게 쓰든 블록이라는 단위에 담게 됩니다. 오라클에서는 블록이라고 하는 이 단위는, 다른 DB에서는 페이지라고 부르며, 이 페이지 단위로 In, Out이 일어나게 됩니다. 그래서 DB의 가장 뒷단에서는 이 블록을 볼 수 있습니다. 그리고 이 블록을 열어서 연구하는 것이 지금의 Oracle Deep Internal입니다. 그 안이 어떻게 디자인 되어 있는지, 데이터를 넣고 뺄 때 어떤 방식으로 기록하는지 등등을 연구합니다.





  TPMS와 WAS



이 데이터들 앞에는 DBMS가 있어서 데이터를 직접 건드리지 않고 관리할 수 있는 역할을 해주었습니다. 그런데 앞서 종종 언급되었던 짐 그레이가 가만히 생각해보니, 어플리케이션이나 엔드유저들이 명령을 던질 때 마다 DBMS에 집중되는 문제가 있어 그 앞에 TP 모니터링을 세우게 됩니다. 마치 호텔 프론트에 매니저가 있는 것처럼요. 그래서 TP 모니터링에게 명령을 하면, TP 모니터링이 그 명령을 한 줄로 세우게 되는 것을 큐잉이라고 합니다. 줄을 세워 순차적으로 DBMS에게 보내주면, DBMS는 이를 순차적으로 처리하며, 이러한 과정을 TP 모니터링이라고 합니다. 

 

 

 

        (그림 : 호텔 프론트 매니저와 같은 역할을 하는 TPMS)

 

 

명령을 던지는 프로그램들은 주로 C나 코볼이었다가, 1990년대 초 제임스 고슬링이 ‘Java’를 세상에 내놓으면서 C나 코볼의 자리를 Java가 차지하게 됩니다. 예전에는 TP 모니터링이라 불렀지만, Java가 대세가 되고 웹 브라우저가 주요 환경이 되면서, 이를 Web Application Server라고 부르 시작했고, TP 모니터링에서 WAS로 점점 대세가 옮겨지게 됩니다.





  ACID


앞서 말했던 짐 그레이는, 트랜잭션이 갖추어야 할 4가지 항목을 규정하였습니다. 이를 Atomicity A(원자성), Consistency C(일관성), Isolation I(고립성), Durability D(지속성)를 따서 ACID라고 부릅니다. 

        (그림 : ACID 규칙)


  

데이터베이스의 상태를 A에서 B로 바꾸는 트랜잭션이 수행될 때 이 4가지가 반드시 지켜져야 합니다. 예를 들어 홍우림의 계좌에 200원이 있는데 거기서 100원을 빼서 이나인에게 계좌이체를 한다고 할 때, 홍우림의 계좌에서 100원이 까지고 이나인의 계좌에 100원이 더해져야 합니다. 그러나 트랜잭션이라는 게 시간의 순으로 진행되다보니 홍우림의 계좌에서 100원이 빠지고 이나인의 계좌에 100원이 들어가려는 순간 전원이 나가버렸고, 다시 전원을 켜보니 홍우림의 계좌의 100원은 사라졌지만 이나인의 계좌에도 100원이 들어오지 않은 이상현상, 즉 이런 ABNORMAL DBMS가 발생하지 않도록 관리해줘야 합니다.

 

이 외에도 일관성, 고립성, 지속성 등 여러 방면에서 다양하게 발생할 수 있는 문제들을 관리해주고 보장해주는 것이 DBMS의 역할인데, 오라클의 강점은 All or Nothing이 보장된다는 점입니다. 다른 DBMS 같은 경우 이러한 관리를 보장해주지 못하는 경우가 있는데 반해 오라클은 이를 철저히 보장해주고, 그렇기에 오라클은 많은 수요를 누리고 있습니다.

 

 

 


 

 

 

                           

 

 

 

 


 

댓글