본문 바로가기

Data Architecture

[강의리뷰] cslee 아만데 강의 후기 2013.07.19


안녕하세요 


2013.07.19(금)일 꽉 채운 8시간 (09:00 ~ 18:00) 동안 상암 DMC 에서 진행되었던 

cslee(이춘식 기술사님 이제는 대표님) 의

 아만데 [ 아는 만큼 보이는 데이타베이스 ] 강의를 듣고 나서 정리 차원에서 쓰는 글입니다 .



1. 강의 전반에 대한 후기


우선은 한 마디로 기대했던 만큼 알차고 좋은 교육이었습니다. 

3, 4년전에 아만데-"아는 만큼 보이는 데이타베이스" 책을 보면서 빨간 줄 긋고 하면서 도움을 많이 받았던 기억이 납니다. 우선은 책의 목차대로 알찬 이슈들을 빠짐없이 그리고 비중을 잘 배분하여 수업을 진행해 주셨고요.


가장 만족스러웠던 것은 오래 전부터 궁금했던 질문들을 수업 중간중간에 하고 답변을 받을 수 있어서 좋았습니다. 처음 목적했던 제게 필요한 특정 주제와 이슈 사항들에 대한 설명과 답변에 포커싱을 맞추어서 들었고 평소 품고 있던 질문에 대한 cslee 님의 명쾌한 답변을 받을 수 있어서 수강의 수확물이 큰 것 같습니다. 


또한 마지막 30분에서 1시간 정도 충분하게 질의를 받아주시고 열성적인 분들이 끝나고도 남아서 질문하면서 분위기도 좋았던 것 같습니다. 


장소도 만족스러웠고 개인적으로는 버스 한번에 갈 수 있었던 것도 좋았네요. 

간식과 식사도 괜찮았고 '책' 도 주시고 해서 저자서명까지 받아왔습니다. 

이미 '책'이 있기 때문에 이건 공부하시는 다른 분을 위해 잘 챙겨 두었습니다. 

다만 글 쓰면서 생각해보니 제가 가지고 있던 책에는 '서명'을 안 받아오는 실수를 저질렀더군요. 늦었습니다.



2. IT 교육강좌들에 대한 개인적 소감.


강의일 당일 아침에 문자가 오더군요. 자로 잰듯 정확히 8시에 금일 교육있다고 안내 문자가 왔습니다. 

관리하시는 분들이 아이디어가 뭔가 넘치시나봐요. 이런 부분까지 챙겨 두고 있으시니.


개인적으로는 거진 3,4 년만에 와보는 상암DMC 라 조금 일찍 도착해서 살짝 둘러보니 건물들이 더 들어서 있고 현재도 더 지어지고 있더군요. MBC, SBS 휘황찬란한 멋진 건물들이 거진 지어져 가는중이고 갈수록 DMC 지역에 건물이 들어나나 보군요.


3층에서 피러님을 만나습니다. 금액도 만만치 않은데 개인으로 오셨더군요.

아 조금 있으니 바로 뒷자리에 0sin 님도 그리고 나중에 알게 되었지만 얼굴은 처음뵙는 리드님까지 ^^


저는 예전이나 지금이나  힘이 닿는 한 개인적으로 여러 유/무료 강좌를 열심히 쫓아다니면서 배우려고 합니다.

 

그러다 보면 무료교육(어느 기관의 지원을 통해서 갔든)적인 강좌들은 솔직히 수업을 듣는 하루하루의 시간조차도 아깝게 느껴졌던 것들도 있었습니다. 다들 한번 쯤은 경험해 보셨을 법 한데 이미 회사에서 결재/승인까지 어렵게 받고 온 터라 중간에 취소하기도 그렇고 또 어떤 경우는 빡빡한 회사근무에서 배움의 쉼을 얻고자 하는 경우도 있을 테니 말입니다. 


대부분의 기관에서 지정해두는 교육이 피상적인 경우가 받고 심지어는 떼우기 형태로 하는 적도 본지라

특별한 이유가 아니라면 개인적으로 기대치를 많이 낮추고 갑니다.  


하지만 제대로 된 교육을 한번 받고 나면 결정시 고민을 하게 됩니다. 제대로 된 교육 강의의 질을 한 번 경험하고 나면 기준이 높아져 있는거죠. 교육 신청을 하거나 들으러 갈 때는  정말 그만한 가치가 있어 ? 라고 자문을 하게 됩니다.


어떤 강의는 거의 1주짜리 강의였지만 야 이런 식으로 몇번 더 특정 주제에 대해 들으면 나도 전문가가 될 수 있겠다는 생각이 들게 만들 정도의 유익한 강의도 있었습니다. 사실 비싼 유료 강의 였고 그래서 느낀 것은 돈을 낸만큼 내용이 유익했다는 사실을 떨쳐버리기가 쉽지 않더군요. 결국 투자하고 값을 치룬만큼 양질의 교육을 들을 확률이 훨씬 높다는 것은 자명한 원리인가 봅니다. 



3. 강의에서 얻은 유익한 정보에 대한 개인적인 정리내용


개인적인 후기이기 때문에 저에게 기억이 남는 내용으로만 강의내용을 키워드 수준에서 정리해 봅니다.  



- 정규화는 왜 수학자가 정의를 했는지 ... 처음에는 알아듣기 어렵습니다. 

   차라리 인문학자가 말로 풀었더라면 좀 더 좋았을 뻔 합니다. 

   그게 아니라면 ' 아 이건 모두 중복을 없애기 위한 목적 하나다 '  이렇게 심플하게 풀 수는 없었을까요.


정규화는 1972년 E.F CODE 박사가 제안 - 실세계 데이터를 수학적 방법으로 구조화, 체계화.

이분이 수학자이다 보니 좀 알아듣기 쉬운 말보다는 "함수종속성" 과 같은 고급(?)어휘를 동원하는 것이 자연스러우셨나 봅니다. 인문학자 그리고 스토리텔러분들이 풀어주셨다면 훨씬 더 일반인 분들도 이해가 쉬웠을 텐데요.


업무중심의 모델링 - 논리 모델링

- DBMS 중심의 모델링 - 물리 모델링

1. 업무기술서  2. 보고서, 장표  3. 인터뷰 순으로 분석 ( not starting with 구시스템분석 )


- 우편번호를 뒷자리로만 처리가 필요한 경우가 있는데  FBI 를 고려할 수 있다. 


- 이력을 변경/발생/진행 이력으로 구분 정의하고 설명한 부분 ( 이 부분은 실무에서 고민을 많이 하게 하는 부분인데 좀 더 상세한 사례와 접근법을 제시해 주시면 더 좋았을 듯 했습니다 .)

a. 변경이력 - 주문변경 계약변경    

    불특정시점에 발생되는 이력관리 최종데이터를 조회하는 경우가 많음  -- 최근값여부 flag 추가

b. 발생이력 - 급여계산, 요금청구   

     특정시점에만 발생하는 정보관리, 시점별로 조회되는 경우가 많음     --  최근값여부 flag 추가

c. 진행이력 - 공사진행, 접수진행   

     변경과 변경 중간 시점의 이력관리, 중간시점의 데이터 조회 요구     -- 시작과 종료일자 추가


- 데이타 독립성 - 정말 중요하지요. / 개발자들에게 설명이 필요한 부분 / 화면마다 테이블 생성하지 말라

   이건 실무에서도 완전 공감 가는 부분이죠. 똑같은 실체(엔티티)를 두고 개발자분들마다 본인이 개발하는 화면 기준으로 테이블이 필요하다고 말 할 때가 있지요. 


- UI 요구사항과 화면조회조건 등을 통해 SQL 추정 가능 즉 PK, FK, Index 설계가 초기에 어느 정도 가능하다.


- 용어와 도메인 표준화, 정의 - 출발점이다.  생각하고 사고를 정립하는 시간이다. 창조적인 논의 / 토의.


M:M 자기 순환 참조 사례를 들어 좀 더 설명해 주셨으면 좋았을 듯 합니다. 저는 이미 알고 있던 내용이었지만 그 전에 고민하시면서도 어려워 하셨던 분들은 강의 듣고도 여전히 어려워 하시더군요. 


- 관계의 반정규화


- 쿠폰발급 조건과 같이 다수의 특질별, 다수의 속성과 건수를 지니는 요구사항을 만족시킬 수 있는 방법 고찰



4. 강의에 대한 개인적 기대사항


이번 강의의 장소와 수강인원은  적정했던 것 같습니다.


한가지 아쉬운 것은 교육을 신청하는 수강생의 눈높이를 사전에 좀 맞추었거나 범위를 좁혔으면 하는 바램이 있었습니다.  초중급이라고 하지만 이건 좀 막연한 구분이거든요. 특별히 유료로 신청하면서 할 때는 강의를 어느정도 수준의 수강생들을 대상으로 하는지를 꼭 확인해 볼 필요가 있는 경우가 많았었습니다. 그렇지 않으면 개괄적이고 일반적인 내용을 반복해서 듣게 되는 경우를 많이 경험합니다. 사실 그래서 미리 전화를 드렸더랬습니다. 대상자는 초중급 실무자 분들을 대상으로 한다고 대답을 주셨습니다. 그럼에도 개인 지출을 통해서 가시는 분에게는 Risk 제거가 되지는 않을 듯 합니다. 


대상자의 수준을 가늠하는 방법은 정말 쉽지 않지만 대략적으로라도 IT 를 해 보신분들이고 특수분야라면 특정 질문에 따른 답변을 듣고 수준을 가늠하실 수 있지 않을까 생각해 봅니다.  


예를 들어 질문을 던져본다. 

         운영하면서 이런 고민을 해 보셨던 분

         프로젝트 진행을 하면서 DB 전체적으로 관리 포인트에 대해 전반적인 접근점을 고민하시는 분

 FK 사용 여부에 따른 각 경우의 이슈를 설명하실 수 있거나 활용을 고민해 보신 분

         테이블의 복합인덱스의 칼럼 구성이나 인덱스 개수가 성능에 미치는 영향을 고민해 보신 분

 2정규화 위배를 찾아내시고 2정규형을 만드실 수 있는 분

 

이렇게 질문을 던짐으로써 [ 아 이번강의에서는 어떤 어떤 부분을 하려고 하는 구나] 의 메시지가 전달될 수 있다고 생각합니다. 수강하는 입장에서도 아 이번엔 이런 수준으로 강의가 진행되는 구나 짐작할 수 있고요.

강의에서 듣기 원하시는 포인트(사실 적어 달라고 해도 많이 안적어 주실 걸요) 를 한번 수렴하는 것도 수강생의 만족도를 높일 수 있는 포인트가 될 것이라 생각합니다. 


그리고 칠판(뭔가 그리면서 설명할 수 있는 장치)이 하나 있었으면 했습니다. 

질문과 소통이 일어나려면 PPT 의 one-way communication 보다는 강의칠판과 같은 실시간적인 two-way communication 적인 방법도 뭔가 고려되면 더 낫지 않을까 하는 생각이 들었습니다.



5. 공인 전문가 님께 드리는 기대사항


실제 프로젝트를 진행하다 보면 정규화가 무엇인지도 그리고 정규화도 하지 않은 상황에서 "반정규화" 얘기를 하시는 분들이 부지기수 입니다.  ASIS 시스템에서 하던 방식을 바꾸고 쉽지 않은 분들을 포함하여, 기존의 방식을 고수하기 원하시는 분들이 왜 "반정규화" 라는 카드를 이리 쉽게 쓰시는지 모르지만 정규화가 되지도 않은 상태에서 "반정규화" 하자고 이야기 하면 아주 마음이 어렵습니다. 그 분들이 어디서 들으셨는지 모델링의 '고급' 부분을 아시는 듯한 표정으로 이야기 합니다. "반정규화" 했더니 좋다더라고 이야기 하십니다. 반은 맞고 반은 틀릴 수 있는 이야기 이지요.

그래서 정규화가 왜 필요한지를 설명드리려고 하면 정규화 얘기가 나오자 마자 이해가 어렵다는 표정 입니다.
하여 "반정규화 적용" 의 전제를 항상 달아주시면 좋겠습니다.  정규화가 100% 완료된  (정규화가 100% 되었다는 말은 Business 가 제대로 녹아 들어가졌다 의미이기 때문에 Business 분석이 명확하게 완료된 ) 이후 에야 "반정규화" 를 고려할 수 있는 출발점이 되는 거라고 말입니다. 



6. 강의 후기 맺음


DB 관계자 분들이 업무상 쌓인 질문들이 업무 특성상 대개는 critical 하고 그리고 물어볼 곳도 많지 않지요.

게다가 사람을 예민하게 만드는 것이 많기 때문에 논쟁이 한번 시작되면 치열하게 번지기도 하는데 적확한 답변과 부드러운 진행으로 시종일관 흐름도 끊기지 않고 아침 9시부터 6시까지 제대로 배우고 온다는 느낌을 받았습니다. 


다만 긴 8시간이지만 여전히 하루라는 제약 때문에 실제로 현장에서 실습을 해보시거나 하실 수는 없습니다.

DB 관련 이슈에 대해 그리 짧은 시간에 정리될 수 있다면 어불성설이겠지요.


이미 관련업무를 하시거나 아니면 관심이 많으시거나 특정 이슈들을 어느 정도 알고 있으신 분들,

그리고 DB설계 관련한 사항에 대해 전체를 한번 훓고 정리하신다는 느낌을 가지시려고 하시는 분들과

현업하면서 여러 특정 이슈들에 대한 고민의 답을 얻고자 하시는 분들께 추천 드립니다. 


아마 '책'을 먼저 한번 보시고 이해가 어렵거나 특정이슈에 대해서 실무적이고 더 디테일한 답변을 

얻고자 하는 방향으로 접근하신다면 수강의 성과가 배가되리라 생각합니다. 


이상 후기입니다. ^^ 

감사합니다.

http://calebpro.tistory.com/461