[[TableOfContents]] IT는 Information(정보) Technology(기술)의 약자다. 그러므로 IT가 무엇인지 알기 위해서는 우선 Information이 무엇인지 알아야 하고, Technology가 무엇인지 알아야 한다. Information의 원천은 Data이므로 Information이 무엇인지 알기 위해서는 Data가 무엇인지 알아야 한다. Data를 시작으로 데이터베이스 범위에서 IT가 무엇인지를 알아 보자. ==== Data, Information, System, Entropy ==== 2011년 01월 27일 시점에서 아래의 국립국어원 표준국어대사전의 검색 결과에 따르면 'Data'는 '데이터'라고 표기되며 뜻은 아래와 같다. {{{ 데이터(data) - 이론을 세우는데 기초가 되는 사실. 또는 바탕이 되는 자료. - 관찰이나 실험, 조사로 얻는 사실이나 정보. '자료03'으로 순화. - [컴퓨터] 컴퓨터가 처리할 수 있는 문자, 숫자, 소리, 그림 따위의 형태로 된 정보 }}} 이 중 세 번째를 주목하자. '컴퓨터가 처리할 수 있는 문자, 숫자, 소리, 그림 따위의 형태로 된 정보'라고 되어 있다. 즉, 사전에 따르면 데이터는 정보다. 표기야 동의 할 수 있지만 그 뜻은 동의할 수 없다. 왜냐하면 데이터와 정보는 확연한 차이가 있기 때문이다. 그렇다면 '데이터'와 '정보'의 차이점이 무엇일까? 일반적으로는 데이터를 처리했느냐 처리하지 않았느냐의 차이다. 데이터를 입력 받은 시스템은 어떤 처리 과정을 친 결과물로 정보를 출력해 낸다. 그림으로 도식해 보면 <그림 1.1>과 같을 것이다. attachment:InformationTechnology/020711_1433_Information1.png <그림 1.1> 시스템에서는 데이터에 무엇인가를 부가(가치를 더함)하여 '정보'를 생산해 냈다. 시스템이 부가한 것이 무엇일까? 사용자가 시스템에 기대한 것은 데이터에 대한 어떤 처리다. <그림 1.2>와 같이 10진수를 2진수 또는 8진수, 16진수로 변환하는 시스템이 있다고 가정 하자. 사용자는 Input으로 숫자 '18'을 입력했을 때, 2진수로 변환된 값을 Output 으로 기대했다면 '10010'이 Output이 되어야 한다. 하지만 Output이 '22(8진수)'나 문자열 '대한민국' 이라면 처리를 했지만 이는 '정보'가 될 수 없다. attachment:InformationTechnology/020711_1433_Information2.png <그림 1.2> 위의 단순한 예 만으로도 '데이터'와 '정보'를 구별할 수 있다. 더 체계적으로 정리하자면 '정보'는 다음의 3가지 요소를 만족시켜야만 한다. * 정확성(accuracy) * 관련성(relevance) * 적시성(timely) '정확성'은 처리된 결과가 말 그대로 정확해야 함을 말한다. 예를 들어, 고객ID 'databaser'의 거주지가 '서울'이 맞다면 정확한 값이다. 주민등록번호 7번째 자리가 홀수라면 남자, 짝수라면 여자이어야 한다. 실제로도 주민등록번호 7번째 자리가 '1'일 때 고객의 성별이 남자라면 정확한 값이다. <그림 1.2>에서는 '10010'이 출력되어야만 정확한 값이다. '적시성'은 정보 소비자가 정보가 필요할 때에 지연 시간이 없어야 함을 의미한다. 요즘에 자주 접하게 되는 RTE(실시간 기업, Real Time Enterprise)에서의 'Real Time'은 '즉시'를 의미하는 것이 아닌 '적시'다. 물론 경우에 따라서 지금 당장 필요할 수도 있다. 이런 경우의 '적시'는 '즉시'다. 지연시간이 많이 발생할수록 정보의 가치는 떨어진다. 아래의 그림은 지연시간에 따른 정보의 가치 하락을 설명해주고 있다. attachment:InformationTechnology/020711_1433_Information3.png <그림 1.3> <그림 1.2>에서 10진수를 2진수로 변환하고, 분석하고, 의사결정을 하는데 많은 지연 시간이 발생하여 정보의 가치가 일정수준 떨어진다면 더 이상 '정보'라고 불리지 않을 것이다. '관련성'은 말 그대로 정보 소비자와 관련이 있어야 한다. 예를 들어 검색엔진에서 어떤 검색어를 입력하였으나 전혀 엉뚱한 결과가 나왔다면 관련성이 없어 정보가 될 수 없는 것과 같다. 예전에는 검색엔진에서 '복조(demodulation)'를 검색했을 때 검색 결과는 '복조리'가 거의 대부분이었다. 지금은 검색엔진에서 뱉어내는 결과가 예전에 비하면 아주 좋아졌다. 검색어와 관련성을 높여 정보의 질을 향상시킨 대표적인 예다. <그림 1.2>에서 10진수를 2진수로 변환하는데 결과로 숫자가 아닌 전혀 관련성이 없는 '대한민국'이 Output으로 나왔다면 더 이상 이 Output은 '정보'가 아니다. 통신분야에서의 정보이론(information theory)에서는 정보는 조금 다르게 정의되기도 한다. (정보의 구체적인 의미에 대한 내용은 없다) 통신에서의 정보는 그 양으로 판단한다. 수학적으로 이야기하면 정보는 확률로 표현된다. 예를 들어, 사장님이 다음의 두 가지를 이야기 했을 때 어떤 것이 정보의 양이 많을까 생각해보자. * 내일은 해가 동쪽에서 뜰 것이다. * 내일은 사원 모두에게 10%의 인센티브를 지급할 것이다. 첫 번째 문장은 확률이 1에 가까우므로 '정보의 양이 적다(엔트로피 낮음)'라고 말한다. 두 번째는 두 가지 경우를 생각할 수 있다. 만약 이 사실을 몰랐다면 '정보의 양은 매우 많다(엔트로피 높음)'라고 할 수 있다. 만약 미리 알고 있었다면 정보의 양은 몰랐을 때보다는 적다고 이야기 할 수 있을 것이다. 하지만 해가 동쪽에서 뜬다는 것보다는 정보의 양이 훨씬 더 많다는 것은 부정할 수 없다. 여러분은 '엔트로피(Entropy)'라는 단어만으로도 머리가 혼란스러울 것이다. 왜냐하면 생소하기 때문이다. 그러므로 갑자기 엔트로피가 증가했을 것이다. 엔트로피가 증가했다는 것은 무질서에 가깝다는 것을 의미한다. 다음의 그림을 보자. attachment:InformationTechnology/020711_1433_Information4.png '내일은 해가 동쪽에서 뜬다'는 것은 모두 다 아는 사실이므로 유용하지 않다. 즉, 엔트로피가 낮다. 즉, 유질서에 가까움(예측 가능, 발생 확률 높음)을 의미한다. 그러므로 '정보'라고 보기에 다소 무리가 있다. 하지만 두 번째 소식을 접했을 때의 태도는 첫 번째 소식의 경우와 많이 다를 것이다. 어떤 사람은 매우 만족할 수도 있고, 10%밖에 안주냐며 불평 불만을 할 수도 있다. 인센티브의 지급여부는 조직내의 초유의 관심사 일 것이나 공개되는 분기별 회계 보고서를 보면 어느 정도 예측이 가능하다. 하지만 인센티브 지급율에 대한 공식이 공표되지 않았다면 연봉의 몇 퍼센트가 인센티브로 지급되는지에 대한 예측은 인센티브 지급여부보다는 힘들 것이다. 지급된 10%의 인센티브가 어디에 쓰일 것인지에 대해서 예측하는 것은 훨씬 더 어려울 것이다. 왜냐하면 인센티브가 몇 퍼센트 지급되는 지는 어떤 규칙에 의한 것이지만 인센트브로 지급된 돈의 쓰임새에는 규칙이 없는 무질서에 가깝기 때문이다. ==== 기술(Technology) ==== 기술이란, 인간이 스스로의 욕구를 만족시키기 위하여 여러 가지 자원의 형태를 변형시킨 것을 기술이라 한다. (중학교 2학년 '기술' 첫 강의 시간에 배우고, 두 번째 시간에 뒤지게 맞아가면서 외운 것이라 잊어 버리지도 않는다.) 이 정의를 데이터베이스의 범주에서 다음과 같이 바꾸어 IT를 정의해 보자. * 욕구 -> 정보욕구 or 요구사항 * 자원 -> 데이터 * 형태를 변형 -> 처리 IT(Information Technology)란, 개인 또는 조직 정보욕구(요구사항)를 만족시키기 위하여 여러 종류(숫자, 문자, 그림 등)의 데이터를 처리하는 기술이라고 정의될 수 있을 것이다. 데이터베이스 시스템이 한 번 움직일 때 마다 많이 일이 벌어진다. 그 중에는 우리가 알아야 할 기술들이 많이 있다. 여러 기술들이 종합적으로 쓰여진다. 기술영역이 좀 넓다. 그러므로 대장장이가 망치와 불, 쇠를 모두 익숙하게 다루는 것이 필요하듯이 데이터베이스 영역도 종합적인 사고능력에 대한 익숙함이 필요하다. ==== 복잡성(Complexity) ==== 무질서는 '복잡성'이란 말로 대신할 수 있다. 우리의 임무에는 이러한 복잡한 것을 단순하게 만든는 것도 있다. 규칙이 없는 것이 무질서라면 규칙을 찾아내거나 부여하면 유질서에 가깝게 된다. 어쩌면 이것은 우리의 궁극적인 목표가 될 수도 있다. 그 유명한 스티브 맥코넬은 다음과 같이 말했다. ''뛰어난 디자이너들은 복잡성에 대한 두려움이 없다. 그들의 목표는 겉보기에 복잡한 것을 단순하게 만드는 데 있다. '' 복잡성이 우리의 일과 무슨 관계가 있느냐고 할 수도 있다. 잘 생각해 보라. 복잡한 것은 이해하기 어렵다는 뜻도 된다. 이해하기 어렵다면 활용 가치가 없다는 뜻이 된다. 사용자가 시스템의 처리 결과물을 '정보'로 인식하려면 어떤 가치판단을 해야 하는데, 복잡성 때문에 가치판단을 할 수 없다면 무용지물이 되고 만다. 단순하게 만드는 것은 최고의 기술이다. ==== 엔지니어 관점 ==== 가끔은 어떤 프로그램이 좋은 프로그램인가를 예를 들어 나는 이렇게 설명한다. 학교에서는 점수를 넣으면 A, B, C ...가 출력으로 나오는 프로그램을 만들어라라고 한다면 대부분은 다음과 같이 한다. {{{ create or replace procedure proc_songjuk (v_score integer) as begin if v_score between 90 and 100 then dbms_output.put_line('A'); elsif v_score between 80 and 89 then dbms_output.put_line('B'); elsif v_score between 70 and 79 then dbms_output.put_line('C'); elsif v_score between 60 and 69 then dbms_output.put_line('D'); elsif v_score between 0 and 59 then dbms_output.put_line('F'); end if; end; / }}} 그러나 이러한 것은 자료의 양과 패턴을 조사하지 않았을 때의 이야기다. 보통의 대학에서는 C가 가장 많이 있고, 그다음이 B 그 다음이 D 등으로 나타난다. 즉, 위의 프로그램은 사용 패턴과 자료의 양으로 조사되었다면 다음과 같은 IF의 순서를 가져야 조건이 가장 위에서 처리되는 것이 많아서 아래의 elsif까지 내려가지 않게 되어 좀 더 빠를 처리를 하게 된다. {{{ create or replace procedure proc_songjuk (v_score integer) as begin if v_score between 70 and 79 then dbms_output.put_line('C'); elsif v_score between 80 and 89 then dbms_output.put_line('B'); elsif v_score between 60 and 69 then dbms_output.put_line('D'); elsif v_score between 90 and 100 then dbms_output.put_line('A'); elsif v_score between 0 and 59 then dbms_output.put_line('F'); end if; end; / }}} 사실 이런 프로그램을 각각의 사용자가 자신의 컴퓨터에서 실행한다면 차이를 거의 느끼지 못할 것이다. 그러나 조그마한 개미가 뭉치면 집을 무너뜨릴 수도 있듯이 일반적인 서버/클라이언트의 환경에서 이러한 처리를 아주 많은 양으로 배치처리 한다면 두 번째 프로시저가 더 빠를 것이다. 물론 상황에 따라서는 틀리다. 만약 1시간 걸려 처리되는 것이 1시간 3초가 걸렸지만 밤에 처리되는 것이기 때문에 몇 십초는 전혀 관계없다면 오히려 소스 코드의 가독성과 이해도를 높이는 것이 더 전체적인 관점에서는 더 비용이 적을 것이기 때문에 더 유리할 것이다. ==== 정보의 질(Quality) ==== 통신 분야에서는 정보의 양이 많고 적음으로 정보의 질을 좋다 나쁘다를 판단한다. 데이터베이스 범주에서는 정보의 3요소인 정확성, 관련성, 적시성을 모두 만족시켜야만 정보의 질이 좋다고 할 수 있다. 하지만 정보의 질은 측정하기가 만만치가 않다. 혹시나 적시성이 측정하기 가장 쉽다고 할 수 있을지는 모르겠으나 필자의 관점에서는 이것도 힘들다. 왜냐하면 여기서 말하는 적시성은 10초 만에 결과를 받아보았던 것을 0.3초 만에 보게 해달라는 것이 아니기 때문이다. 만약 사업부에서 '내일 이탈이 예상되는 고객들은 누구인가?'를 알고 싶은데 준비가 되지 않았다면 적시성은 이미 만족시킬 수 없는 것이다. 하지만 웹사이트 로그인과 같은 경우에서는 0.3초 만에 로그인을 완료시키는 것이 중요할 것이다. 나에게는 정말 좋은 정보인데 다른 사람에게는 그저 데이터일 뿐 아무짝에도 쓸모 없는 것이 될 수 있는 것이 이기적인 정보의 성질이다. 정확성도 빠질 수 없다. 정확성이 나빠지면 사용자의 신뢰도는 급격하게 저하된다. 전문가가 관리하거나 개발한 정보시스템의 정보의 질은 당연히 초급자가 관리하거나 개발한 정보시스템보다 훨씬 좋다. 이 책의 내용들은 모두 정보의 질 향상에 그 목적을 둔다. 정보의 질 향상은 모든 정보시스템의 궁극적인 목표라는 것으로 항상 염두 해 두어야만 수많은 의사결정에서 가치판단을 제대로 할 수 있다. ==== 에피소드 ==== IT라는 단어를 들으면 생각나는 에피스드가 있다. 필자가 대학생인 시절에 쓰리빠를 찍찍 끌고 학교에 갔는데, 한 여자 후배가 대뜸 이렇게 물었다. {{{ 후배: 선배, IT가 뭐에요? 나 : 헉! 후배: 친구가 이번에 삼성 입사했는데, IT한다고 해서요. 나 : ... Information Technology ... 후배: 네에~. 감사합니다. }}} 후배는 고개를 끄덕이며 갔다. 기가 막혔다. 아무리 지방대라 해도 전공이 정보통신이고 게다가 장학금까지 받는 애가 나에게 'IT가 뭐에요?'라고 묻다니 정말이지 황당한 일이 아닐 수 없었다. 어쨌든 나의 한 마디 대답에 후배는 고개를 끄덕이고 갔다. 지금 생각해보면 '정보'는 무엇이고 '기술'은 또 무엇인지 알고 고개를 끄덕였는지 알 수 없다. 또한 황당해 했던 내 자신도 부끄럽다. 그 당시의 필자도 제대로 알고 있지는 못하면서 우쭐댔으니 말이다. 이제 정보와 기술이 무엇인지 제대로 알아보도록 하자.(지금의 나로써는 알고 있다고 생각하지만 세월이 지나면 또 부끄러워 질지도 모르겠다.) ---- 뭔가 참..정의 내리기 힘든 말이군요..IT ... 포괄적이라 그냥 영어의 IT[그거] ㅋㅋ -- 김현섭 2011-08-01 16:45:25 Australia, VIC, Wilby, 3728, 26 Myrtle Street To stop any further communication through your website form, Please reply with subject: Unsubscribe databaser.net -- Issac 2023-07-11 06:24:37