컴퓨터 전공(특히 데이터)이신분들의 의견을 묻습니다.

글쓴이
궁금돌이
등록일
2017-09-09 22:03
조회
4,982회
추천
0건
댓글
11건
안녕하세요. 저는 취업준비를 하는 대학교 4학년 졸업반입니다.
다름이 아니오라 앞으로의 제 방향성에 대해서 선배님들의 의견을 여쭙고자 글을 남깁니다.
저는 정보통신공학을 전공했고, 전공 중 데이터 분야에 대해 가장 관심이 많습니다.
그래서 rdbms뿐만 아니라 빅데이터 기술에도 관심이 많아 공부했습니다.
하둡, 맵리듀스, hive, spark 등에 대해서 조금 배웠고 사용해보았습니다.
하지만 아직 많이 알지는 못하는 걸음마 수준입니다.
실무가 어떤지 감이 오지 않아 앞으로 제가 무슨 길을 가야될지 잘 모르겠습니다.
앞으로는 rdbms의 시대는 가고 빅데이터 플랫폼에서 모든 데이터를 다루게 될까요?
기존의 DA의 역할은 빅데이터 아키텍처도 커버하게 되겠죠?
저도 그런 방향으로 나아가려고 하고 있는데, 제가 맞는 길을 가고 있는지 궁금합니다.
그렇다고 rdbms 공부를 게을리 하고 있진 않습니다. 아직까지는 둘다 잘할 수 있어야 된다는 생각입니다..!!

[이 게시물은 sysop님에 의해 2017-09-10 05:52:08 자유게시판에서 이동 됨]

  • zhfxmfpdls ()

    RDBMS의 시대는 갔다?? 절대로 그렇지 않습니다.
    정형데이터에 대한 가장 완벽한 솔루션은 RDBMS입니다.
    빅데이터 시대에, 비정형데이터가 나오니, RBMS말고, 비정형데이터에 맞는 NoSQL등, 다른 유형의 데이터베이스가 필요한 것이구요.
    비정형데이터 못지 않게, 정형데이터도 매우 중요한 영역이구요, 앞으로도 그럴거에요.
    RDBMS가 사라지는 일은 절대 없을거라 장담합니다. 최소 수십년은요.
    정형데이터에 한해서 RDBMS보다 데이터를 더 빠르게 처리할 수 있는 방법은 아직까지 없습니다.
    그냥 학교에서 가르쳐주는거 일단은 열심히 배우세요.
    실무 투입되면, 또 다른 영역을 배우게 될겁니다...
    지금 님이 비정형 데이터 취급에 대해 파악한 수준은 초등학교에서 산수 배운 수준 정도이구요.
    님의 능력이 못하다는게 아니라, 학교에서 터득할 수 있는 수준은 한계가 있는겁니다.
    실무에 투입되면서 많이 배울겁니다. 일단은 학교에서 가르치는거에 집중하세요.
    취직하고, 신입때는 다시, 포멧되는 수준으로.. 스폰지처럼 지식을 흡수해야 할겁니다.

  • 댓글의 댓글 zhfxmfpdls ()

    경영정보 등 문과나온 졸업생들도,
    ERP 시스템 개발 시.. 한 쿼리당 수십라인짜리 SQL 기본으로 다룹니다..
    필드에 잘하는 사람은 널려 있어요.
    졸업하고 나서, 취직하면 어차피 병아리 수준에서 다시 시작하게 됩니다.
    열심히 하고자 하는 자세는 매우 좋습니다.
    학생 입장에서는 기본에 충실하는 게 좋습니다. 그게 향후 지식 습득에 도움이 될거에요.

  • 댓글의 댓글 궁금돌이 ()

    친절한 답변 감사드립니다 선배님

  • freude ()

    저는 개인적으로 "빅데이타" 라는 용어가 적절한 지 잘 모르겠습니다. 기존의 데이타도 small data가 아니거든요. RDBMS를 근간으로 한 정형데이타 처리가 지향하는 바와 빅데이타가 지향하는 바가 일치하지 않기 때문에 여전히 양쪽 다 갈길은 많이 남아 있습니다.

  • 댓글의 댓글 zhfxmfpdls ()

    핵심은, '대량의 비정형 데이터' 이지요.

    RDBMS는 사실상 대량의 데이터를 취급하는데 적합한건 아닙니다.
    인덱스 잘 걸어놔도, 데이터 1억건만 되어도 상용에 적용하면 슬슬 부하 올라가고, 10억건쯤 되면 기본 쿼리도 제대로 처리 못해요.. 사실 이정도는 대량의 데이터는 불가능하다고 봐야죠.
    그래서 샤딩작업을 통해 분산 DB형태로 쓰게 되는건데, 일단 RDBMS의 한계는 대량 데이터를 취급 못한다는게 맞습니다.

    현재 클라우드 솔루션, 그리고 NoSQL등은 이에 대한 다양한 극복방법을 제공하고 있습니다. 다만 RDBMS와 같은 화려한 SQL쿼리는 지원 불가능하고요.
    또한, CAP 이론에서 나와 있듯.. '정확성'(무결성의 관점에서 바라볼 수도 있음)도 제공해 주지 않죠. 효율성을 제공하는 대신 정확성에 대한 보장은 지켜주지 않는겁니다.
    이게 바로 핵심적인 RDBMS와의 차이인거구요. RDBMS는 데이터의 정확성을 어느정도까지는 확실히 보장해 주는거라, 태생적으로 빅데이터 기반 비정형데이터 취급과 접근이 다니다.

    데이터는 엄청나게 많은데, 약간의 데이터 손실(훼손)이 발생하더라도, 효율성을 더 추구하는게 대용량 비정형 데이터의 주요한 관점이지요.

  • 댓글의 댓글 freude ()

    대용량 비정형 데이타가 빅데이타인지는 여전히 의문이지만, RDBMS가 대량의 데이터 처리가 어렵다는 전제는 받아들이기 어렵습니다. 겨우 10억건 처리에 버벅되면 그건 컴퓨팅 파워가 부족한 거지, RDBMS의 내재적 속성이 아니라고 봅니다.

    단순반복적인 일 중심의 빅데이타 처리와 복잡한 일 중심의 RDBMS은 서로 배타적인 게 아니고 보완적인 것이거든요.

  • 댓글의 댓글 zhfxmfpdls ()

    아이고... 실무경험 없으시군요... ^^; 겨우 10억건이라니요.....
    성능 좋기로 유명한 오라클도 테이블당 데이터 10억건 정도 쌓아놓으면 큰일납니다.
    상용서비스에 그렇게 데이터 쌓아놓으면 서비스 아예 못해요. 버벅여서. 난리납니다.
    기본적으로 상용서비스는 동접이 많기때문에 그런것도 있고요.
    님이 잘 알고 써봄직한 유명한 여러 서비스들 DB 구축도하고, 운영도 했었구요..
    제가 관련분야 경력 20년정도 되어서 잘 아는거죠.
    여튼... 데이터 10억건이라면.... 난리납니다. ㅎㅎㅎ 서비스 운영 불가능.. ^^
    애초에 RDBMS는 데이터를 그렇게 쌓으면 안되고, 만약 그렇게 쌓게 된다면 DB 설계를 잘못한 것입니다.

    그리고 비정형데이터와 빅데이터를 결부짓는 것은
    기본적으로 클라우드 환경에서의 대용량 데이터여야 비정형데이터가 의미있기 때문이지요.. 맵리듀스는 왜 있나요? 용량이 적으면 그렇게 할 필요가 없습니다.
    대용량이 아닌 비정형 데이터는 과거에도 있었으나,
    분석을 통하여 어떤 의미있는 결과를 도출하기에는 데이터가 너무 작았어요.
    그런데, 데이터가 누적이 되면서 비정형데이터가 가치가 생깁니다.. 여기에서 빅데이터 분석 기법이 필요하고, 의미있는 결과들을 도출하는거에요..

  • freude ()

    약간 오해의 소지가 있었던 것 같군요. 해당 시스템 상의 데이타 건수와 싱글테이블에 저장된 데이타 수와는 조금 의미차가 있는 것 같습니다. RDB구현에서 가장 단순한 형태에서의 성능을
    언급하시니...... 싱글 테이블에 단순히 데이타 10억건 넣으면 성능 저하가 당연히 발생하지만 이는 말씀하신대로 설계 오류이지 RDBMS가 대용량 데이타처리에  부적합하다란 걸 이야기하지는 않습니다. 분산DB를 RDBMS는 지원을 못한다고 생각하시지는 않으시죠? 데이타처리에서 처리가 무엇을 의미하는 지 서로 추구하는 바가 다른 상황이고, 가령 두 대규모 데이타간의 연관 관계 처리를 위해 join이 요구된다면 빅데이타 처리 기법들은 성능이 극히 떨어지겠지만 이러한 접근 자체가 싱글테이블에 초대규모 데이타를 넣는 오류와 동일한 것이지요.

    처음으로 돌아가서 보면 정합성이 요구되는 분야는 여전히 RDBMS 기반으로 갈 것이고, 정합성이 요구되지 않는 분야은 nosql 로 가는 것이지, 서로가 배타적인 게 아니라는 겁니다. 당연한 결론인가요?

    그리고 관련분야 20년은 저보다 실무 경험이 적은 것같습니다.

  • 댓글의 댓글 zhfxmfpdls ()

    RDBMS에서 이야기하는 분산처리는 빅데이터에서의 분산처리와 전혀 다른이야기입니다.
    기본적으로 Cassandra 등 NoSQL은 질의 구조 자체가 RDBMS와 전혀 다르게 되어 있어요. 방식 자체가 전혀 다릅니다. 이건 덧글로서 간단히 설명할 건 아니긴 하구요.
    빅데이터 분산처리 방식은 RDBMS에서의 말씀하신 분산처리 구조와 전혀 달라요.
    정확히 말하면, RDBMS는 NoSQL과 같은 분산처리는 지원 '불가능' 합니다.
    이게 바로 대용량 처리가 가능한지 아닌지에 대한 중요한 포인트인거고요.

    그래서 NoSQL에서는 똑같은 질의시 값이 한번은 A, 한번은 B가 나오기도 합니다. 정합성이 틀어질수 있는 구조에요. RDBMS는 그렇게 되면 말도 안되는거고. 동일한 질의면 무조건 동일한 결과를 뱉어내야 하는거지요. 이런 전제가 있어 구조가 다를수밖에 없는겁니다.

    그리고 10억건이 왜 초대규모 데이터라는 건지..
    사실 규모있는 상용서비스 운영 안해보셨다면 그런말씀 안하실텐데요...
    그냥 한 테이블당 한달이면 데이터 그렇게 쌓여요.
    그래서 이걸 수동으로 지워준다던지 하는 PM작업도 매번 이루어지는거지요.

    애초에 RDBMS의 대용량 처리 문제는 학계/실무계의 정론인데, 그래서 빅데이터란 말이 나오는거고요.
    사실 이 분야를 실무경험 해보셨다면, 이걸 이슈화한다는게 이해가 잘 되진 않습니다. RDBMS가 대용량 처리에 한계가 있는건 너무나도 당연한 이야기여서요.
    적어도 빅데이터 기반 솔루션은 용량 처리에 '한계'가 없도록 설계가 되어 있습니다.

  • freude ()

    빅데이타란 용어가 사용되기 이전에도 스트림데이타, 로그데이타 같은 것을 어떻게 처리할 것인가하는 문제에 대해 RDB는 그러한 응용에 적합하지 않았기에 일단 화일로 쌓아두었죠.(RDB에 담을 가치가 없었다고도 하는 측면도 있었습니다) 사실 RDB에 담는 시도 자체가 문제에 대한 접근 오류이기 때문에 화일 처리 방안을 고민한거고, 그러한 문제의식에서 빅데이타란 용어로 처리법이 언급된 거라고 봅니다. 이러한 화일에서는 당연히 정합성을 강하게 요구할 이유도 없거든요. 그래서 빅데이타란 용어 이전에도 대용량 데이타 처리에 대한 수많은 시도가 있었고, 분산 병렬 화일 처리 기법의 연장선상으로 봅니다.

    대용량 처리에서 처리가 의미하는 게 다양하기 때문에 RDB가 적합한 부분도 있고. 빅이타라고 하는 화일처리 기법이 적합할 수도 있습니다. 

    단순히 규모가 크다고 해서(규모의 정의도 명확하지 않고요) RDB가 부적절하다는 건 받아들이기 어려운 접근이고, 처리대상의 속성이 고려되지 못하면 무의미하다고 봅니다. 대량의 데이타가 스트림으로 생성되는 환경에서도 금전과 관련된 데이타는 정합성이 요구되기 때문에 RDB로 주로처리하고,  나머지는 빅데이타 화일처리로 접근하고 있지 않습니까? 물론 거래기록 자체의 크기가 나머지 생성되는 데이타에 비해 작은 부분이기 합니다.

    그리고 10억건이 초대규모라는 표현은 부적절했던 것 같습니다.  단순히  단일테이블에 수억건씩 단순히 집어 넣는 게 적절한 접근이 아니라는 의미입니다.(개인적으로는 크지않은 규모라고 봅니다.)

    개인적으로 2010년 경에 초당 수만건씩 들어오는 기업체 로그데이타를 하둡으로  처리해본 적 있습니다. 데이타 생성되는 규모가 RDB에서 처리할 수 있는 규모를 넘어서기도 하지만, 속성상 RDB 처리 대상이 아니었다고 봅니다.

  • 댓글의 댓글 zhfxmfpdls ()

    기업체 로그데이터는 속성이 좀 다르긴 합니다.
    그리고 하둡은 파일시스템이구요.. 데이터베이스의 성격은 아니긴 합니다.
    사실 RDBMS와 비교되어야 할 경우는 하둡 등 분산파일시스템 보다는 Cassandra나 MongoDB같은 NoSQL 시스템이 적합하죠.  NoSQL은 일종의 데이터베이스입니다.

    여기 계신분들 중 지금도 최소 3명중 1명은 매일 사용하는 서비스를 5년정도 제가 운영 했구요.. RDBMS로도 운영했고, NoSQL 운영도 꽤 했습니다.. 뭐 경력 자랑하자는건 아니고,
    데이터가 미친듯 쌓이는데.. 그냥 우리나라 사용자들 1인당 하루에 단 10건의 행위만 있다 쳐도 데이터가 얼마나 쌓일지는 뻔하지요.. 헤비유저는 엄청나게 Row를 쌓구요.
    그리고 하나의 행위가 Row 한개만 쌓는거도 아니고. 이곳저곳 많은 테이블을 건드리죠.
    그러다 보니 단일테이블에도 수억 단위는 그냥 금방 쌓이게 되는데, 보통 이건 배치작업으로 하거나, 여의치 않을때 그냥 수동작업으로 해결합니다. 기간이든 고려해서 불필요한 데이터는 수동작업으로 그때그때 없애버리던가, 백업을 해놓던가 하죠. 보통은 '시스템 정기작업'시간에 이런일을 합니다.

    여튼 뭐 저도 RDBMS랑 분산파일시스템/NoSQL 둘다 꽤 운영하다 보니 차이점이 꽤 크더라구요. 속성도 상당히 다르고요.
    제가 쓴 첫 댓글을 보시면 알겠지만 RDBMS가 가장 훌륭한 체계입니다. 비정형데이터 처리방식은 아직 완벽하지 않고, 문제도 많아서 해결할게 많아요. 새로 고안해야 할 방식도 많고.

    RDBMS는 그에 비해 상대적으로 역사가 오래되었고, 이미 연구할 만큼의 연구는 충분히 되었다고 봅니다. 학술논문에 RDBMS의 새로운 기술적 사상은 잘 등장하지는 않지요. 대부분 응용이고. 오랫동안 연구되어서, 체계가 완전히 잘 잡혀진 시스템입니다.

    빅데이터는 사실 확장성 문제가 주요 포인트입니다. 확장성이란 곧 대용량 데이터를 상징하거든요. 이론적으로 서비스 중에도 중단없이 무한한 확장이 가능하게 설계되어 있다면, 이론상 무한대의 데이터를 취급할수 있는 겁니다. 필요시 서버만 계속 갖다 붙인다면요. 이게 사실 기존 사상과의 차이점이죠.
    요즘은 페타단위가 기본이라, 데이터가 금방 늘어나 스토리지가 부족해 언제 추가가 필요할지 몰라서.. 서비스 하는 중간에라도 얼마든지 갖다붙일수 있는 환경이 필요한 부분이지요. 이 상황에서도 서비스는 중단없이 진행될 수 있어야 하구요. 사실 기존 RDB 환경으론 이런 부분이 해결이 안되었던거거든요.

    목적에 맞게 쓰면 될것 같고, 여튼 두 분야는 다 필요하고 오랫동안 살아남을 것입니다.

목록


진학/학업

게시판 리스트
번호 제목 글쓴이 등록일 조회 추천
공지 '자기가 속한 실험실 연구환경 평가하기' beta2.3 댓글 79 sysop 09-29 80744 53
공지 학교 비교글 삭제합니다 댓글 8 sysop 11-11 24303 0
13944 유한요소해석 프로그램 좀 알려주실수있나요? 댓글 1 cation0413 01-04 3134 0
13943 공학대학원 진학과 커리어 댓글 1 삶이란 02-03 5408 0
13942 아무것도 안한 27살 전기전자과 따끔하게 혼나고 싶습니다 댓글 3 로니컬만 12-01 10447 0
13941 안녕하세요 현재 4학년 전자공학과 학생인데 진로고민이 있습니다.(긴글) 뇸뇸 11-07 5857 0
13940 나이 30, 박사 진학 댓글 1 회로쟁이 10-07 7243 0
13939 부산쪽 CS 대학원 추천 부탁드립니다. 댓글 1 하하하하하 07-30 4529 0
13938 조기졸업과 취업, 석사진학에 있어서 질문이 있습니다. 댓글 3 Nozic 07-17 6128 0
13937 통신분야 수강신청 질문 댓글 1 Tesile 06-19 3585 0
13936 캐나다에서 기계공학 코스웍 석사 질문 드립니다. 댓글 1 soult 06-19 3695 0
13935 전공 공부를 잘 할 수 있는 방법 & 수학적 사고력을 늘릴 수 있는 방법 댓글 4 파란소주 06-12 6586 0
13934 미국 박사진학 고민 댓글 4 jhkim9573 05-31 5570 0
13933 기계공학과 전기 전자 전공 수업 선택 고민 댓글 2 호놀률루 04-23 4709 0
13932 안녕하세요! 청정에너지와 수소사회와 기계공학 댓글 1 태릉입구 04-01 3565 0
13931 캐나다 이민 일자리 전망-바이오vs(석탄)에너지 댓글 1 minn 03-23 3849 0
13930 전자전기공학과 세부 분야 조진웅 03-06 5573 0
13929 화공 대학원 분야 아이좋아 03-01 4164 0
13928 대학원 동역학 교재 댓글 1 붉은밭 02-26 3972 0
13927 기계공학과 진로탐색 같이하실 분 구합니다! (Ch2_기업분석) 당태종 02-24 4254 0


랜덤글로 점프
과학기술인이 한국의 미래를 만듭니다.
© 2002 - 2015 scieng.net
모바일 버전으로 보기