오늘은 데이터베이스의 개념에 대해 간단히 소개하면서 시작한다. 또한 최근 온라인 상의 데이터가 폭발적으로 증가하고 있고 기타 관리상의 이슈들도 있기 때문에 저자는 체계적인 데이터의 관리의 필요성을 거듭해서 강조하고 있다.

데이터베이스는 여러 사람이 데이터를 공유해 사용할 목적으로 통합 관리하는 데이터 저장소라고 할 수 있다. - P129

데이터베이스가 필요한 이유는 단순히 데이터양이 많기 때문만이 아니다(단순히 데이터양이 문제였다면 외장 하드디스크 여러 개를 사서 저장하면 그만이다). 여러 사람이 함께 효율적으로 데이터를 공유해야 하기 때문이다. - P130

대형 웹 사이트를 관리하게 되면 여러 개발자가 서로 협업할 텐데 필요한 데이터를 각자 로컬에 저장하면서 그때그때 주고 받으면 업무 효율이 높아질리가 없다. 보통 서버를 하나 만들어두고 해당 서버에 여러 개발자가 원격으로 접속해서 데이터를 함께 관리한다. 이러한 작업의 핵심이 바로 데이터베이스이기도 한 것이다. - P131

데이터를 통합하고 규칙적으로 관리하기 위해서도 데이터베이스는 중요하다. 데이터는 무조건 많이 쌓는다고 좋은 것이 아니다. 실제로 잘 활용할 수 있도록 체계적으로 정리해두어야 한다. - P131

관계형 데이터베이스 관리 시스템(이하 RDBMS)은 시스템에서 설정한 규칙에 따라 데이터를 저장하며, 규칙에 위반되는 데이터는 저장할 수 없도록 관리한다. 어떤 의미로는 강제로 이쁘게 데이터를 규칙적으로 저장하는 것이다. 그럼 이후에 데이터를 이용하는 사람들이 데이터를 활용할 때 많은 이점을 갖게 된다. - P131

2010년 이후에는 비정형 데이터의 양이 늘면서 기존RDBMS보다는 규칙이 자유로운 NoSQL DBMS(이하 NoSQL) 사용이 늘고 있다. 하지만 전세계 관점에서는 RDBMS를 훨씬 많이 사용한다. 실제로도 데이터베이스를 일률적으로 통합 및 관리하기 위해서는 RDBMS가 더 효율적이다. - P131

DBMS의 종류로는 MySQL, MariaDB, Oracle, SQL Server, PostgreSQL, MongoDB 등이 있다. 무료도 있고, 유료도 있으며 각 DBMS에서 지원하는 SQL structured query language을 익혀야 한다. SQL DBMS를 사용하기 위한 명령들의 모음이라고 생각하면 된다. - P132

DBMS마다 지원하는 SQL의 차이가 있지만 한가지를 제대로 배우면 다른 것은 금방 배울 수 있으니 부담을 느끼지 말기 바란다. - P132

DBMS는 크게 RDBMS와 NoSQL로 나뉘어진다. 전통적으로는 모두 RDBMS였는데 빅데이터의 개념이 등장하면서 RDBMS의 단점이 생겨 NoSQL이 나온 것이다. - P132

‘반드시‘라고 말할 수는 없지만 빅데이터를 관리하는 데는 NoSQL 기반 데이터베이스가 상황에 따라 더 효율적일 수 있다. 이는 각 테이블(표)의 규칙에 맞게 데이터를 나눠 저장하는 특성이 실시간으로 발생하는 빅데이터의 수집에 맞지 않기 때문이다. 또한 구조가 복잡해질수록 쿼리문이 복잡해지고 데이터를 읽어오는 성능이 저하되기 때문이기도 하다. - P133

NoSQL은 RDBMS와 비교했을 때 규칙이 단순한 편이므로 훨씬 더 유연하게 데이터를 저장할 수 있다. 또한 처음부터 데이터를 여러 서버에 분산해 저장할 수 있도록 설계되었다는 점도 빅데이터 저장에 용이하다. - P133

하지만 NoSQL도 단점이 많다. 우선 유연하게 데이터를 저장할 수 있다는 장점이 반대로 단점이 되기도 한다. 데이터가 중복하여 여러 번 들어 갈 수 있고 데이터를 저장하는 개발자마다 형식이 제각각인 상태로 저장할 수도 있다. 또한 데이터를 수정할 때 여러 개의 컬렉션(테이블)에 들어가 있는 중복 데이터를 일일이 다 찾아서 수정해주어야 한다. 즉, 처음 DBMS를 설계하는 사람이 빅데이터의 특성을 고려해 RDBMS와 NOSQL 중 적절한 것을 선택해야 한다. - P133

데이터베이스를 처음 공부해야한다면 막막할 수 있다. 하지만 우리는 AI 빅데이터 전문가에게 필요한 수준만 익히면 된다는 사실을 잊지 말자. 다음 몇 가지만 확실하게 익힌다는 목표로 공부해보자. 첫 번째는 CRUD 관련 쿼리를 이해하는 것이다. CRUD는 생성Create, 읽기 Read, 갱신Update, 삭제Delete를 묶어서 표현하는 용어다. - P136

데이터베이스에 저장된 데이터를 분석하려면 데이터를 넣고 빼고 읽고 삭제하고 갱신하는 등의 쿼리를 자유자재로 구사할 줄 알아야 한다. - P136

먼저 데이터 읽기부터 익히자. 데이터 분석의 시작단계이므로 무엇보다 중요하기 때문이다. select*from <테이블이름>(RDBMS 기준)이라는 형태의 쿼리로 전체 데이터를 불러들인 후 데이터를 분석하는 과정부터 익혀도 괜찮다. 실제로 데이터양이 굉장히 적은 테이블이거나 속도 및 성능에 크게 신경을 안 쓰는 상황이라면 이렇게 해도 문제가 없을 것이다. - P136

하지만 여기에 머물러서는 안 된다. 단순무식하게 select*from <테이블 이름>으로 데이터를 매일 불러오다 보면 큰 낭패를 겪게 될 상황이 분명히 닥칠 것이다. 데이터의 양이 많아지면 모든 데이터를 불러오는 시간도 오래 걸리고 서버에 부하가 생길 수 있다. 특히 딥러닝을 활용한다면 스케줄러를 통해 주기적으로 재학습하는 경우가 많은데 재학습할 때마다 모든 데이터를 불러온다면 필연적으로 문제가 발생할 것이다. 따라서 select문에 각종 조건 쿼리를 덧붙여서 데이터를 효율적으로 읽어 오는 방법 정도는 익혀야 한다. - P137

어떻게 쿼리문을 설정해서 데이터를 불러오느냐에 따라 데이터를 읽어 오는 속도나 데이터의 정렬 상태가 달라지며, 이는 데이터 분석을 쉽게 시작할 수 있을지를 결정한다. - P137

데이터 ‘읽기‘에 익숙해졌다면 다음으로 테이블 ‘생성‘, 데이터 ‘갱신‘과 ‘삭제‘를 익히자 역시 데이터를 넣기 위해 한꺼번에 테이블을 생성하거나, 데이터를 갱신 및 삭제하는 것부터 시작해서, 원하는 데이터 각각을 별도로 관리하는 방법을 차례로 익히면 된다. 데이터 ‘읽기‘에 익숙해졌다면 그때 배웠던 조건문 등을 그대로 활용하는 경우도 있으므로 ‘읽기‘를 익힐 때보다는 별로 어렵지 않다. - P137

《SQL 전문가 가이드》(한국데이터베이스진흥원 지음, 한국데이터산업진흥원)는 Oracle과 SQL Server와 관련한 쿼리를 주로 다룬다. ...(중략)... Oracle, SQL Server, MySQL, PostgreSQL 모두 비슷한 SQL 쿼리를 사용하는데, 그 차이를 확실하게 이해하면서 공부할 때는 Oracle과 SQL Server를 비교하는 것이 좋기 때문이다. 이외에 다른 점은 구글 검색을 함께 활용하면 쉽게 익힐 수 있다. - P138

《몽고디비 인 액션》(카일 뱅커 외 4인 지음. 제이펍)는 시간이 없다면 7장 이후의 쿼리 최적화, 복제, 샤딩, 배포와 관리와 같은 부분은 나중에 읽어도 괜찮다. 데이터베이스 전문가가 아니라면 직접 하게 될 일은 없을 것이다. - P138

데이터베이스를 제대로 알기 위해서는 데이터 표준화, 데이터 모델링, 데이터베이스 설계, 데이터베이스 성능 개선 등을 모두 공부해야 한다. 이를 모두 공부해 업무하는 사람을 흔히 데이터베이스 관리자 Database administrator라고 한다. 데이터베이스 관리자까지 욕심이 난다면 데이터 아키텍처 전문가 같은 국가 공인 자격시험에 응시하는 것도 방법이다. - P138

단, 데이터베이스 관리자는 대기업 규모의 회사에서 데이터베이스를 전문적으로 관리할 필요가 있을 때 채용하는 직군이다. - P138

시간이 허락한다면 데이터베이스 관리자가 공부하는 영역을 상식선에서 한 번 쭉 읽어 보길 권한다. 데이터 관련 글을 읽을 때 종종 관련 용어들이 나올 수 있기 때문이다. - P138

관련 자격 시험을 공부하다 보면 기초 실력을 꽤 단단히 다질 수 있다. - P140

(빅데이터분석기사 필기시험에는) 머신러닝, 딥러닝 대표 알고리즘들의 특징 및 드롭아웃, 규제, K겹 교차검증(K-fold cross-validation)과 같은 모델 성능을 높이기 위한 테크닉에 대해서도 출제되었다. - P141

인공지능, 빅데이터에 대해서 앞으로 이 책에서 제시하는 전반적인 모든 것들을 공부하고 (빅데이터분석기사)시험을 보거나 최소한 ADsP(데이터분석 준전문가), 사회조사분석사 2급 필기 공부 후에 기본 데이터마이닝 서적 1권, 기본 딥러닝 서적 1권 정도는 보고 시험을 보는 것을 추천한다. - P141

빅데이터분석기사 이외에 공부해볼만 한 자격 시험이 꽤 있다. 첫번째로 소개할 것은 데이터분석 준전문가 Advanced Data Analytics Semi-Professional(이하 ADsP)다. 물론 ADsP보다 상위 수준 시험인 데이터분석 전문가 Advanced Data Analytics Professional(이하 ADP)가 있다. 하지만 처음 AI 빅데이터 전문가에 관한 공부를 시작했다면 ADsP에 도전해도 충분하다. - P142

ADsP는 한국데이터산업진흥원에서 시행하는 빅데이터 이론자격 시험이다. 시험의 성격은 빅데이터란 무엇인지 이해하고 빅데이터 분석과 관련한 기본 개념을 묻는 것들이다. 이 책에서 지금까지 소개했던 회귀, 시계열 분석, 주성분 분석, 인공신경망 분석, 군집화, 연관성 분석 등이 포함된다. 대학교에서 인공지능과 관련한 과목에서 배우는 기본적인 내용으로 구성되어 있다. 또한 수학적인 내용은 거의 묻지 않으며 R 프로그래밍 언어와 관련된 코드 몇 가지가 등장하는 정도다. 기본이므로 무조건 알아야 하는 개념들이므로 자격도 취득하고 공부도 하는 일석이조라는 심정으로 차분히 준비하면 될 것이다. - P142

(ADsP)구체적인 시험 과목은 ‘데이터 이해‘, ‘데이터 분석 기획‘, ‘데이터 분석‘ 총 3개로 나누어져 있다. ‘데이터 이해‘와 ‘데이터 분석 기획‘은 빅데이터 분석에 대한 전반적인 개론이므로 통상적인 자격시험을 준비할 때와 비슷한 방법으로 준비하면 된다. 관련 자료에서 소개하는 개론을 소설 읽듯이 한번 쭉 읽고 기출 문제와 예상문제를 풀면서 자주 눈에 익히면 쉽게 풀 수 있을 것이다. 세 번째 ‘데이터 분석‘ 파트는 실무에서 사용되는 AI 빅데이터 기법이므로 집중적으로 공부하길 바란다. 합격 여부가 결정되는 과목이며, 가장 필요한 내용이기도 하다. - P143

시험 문항은 총 50개고 60점 이상의 점수를 받으면 합격할 수 있다. 실기 시험이 없으므로 문과 계열을 전공한 사람도 1~2개월만 열심히 공부하면 충분히 합격할 수 있고, 컴퓨터 공학 관련 전공자라면 3주 정도만 공부해도 충분할 것으로 생각한다. - P143

AI 빅데이터 전문가에 뜻이 있다면 해당 자료(데이터 분석 전문가 가이드, ADsP 데이터 분석 준전문가)에 ‘데이터 시각화‘ 부분을 꼭 읽어보기 바란다. 시각화는 실무에서 보고서 작업시 꼭 필요한 내용으로 AI 빅데이터 전문가가 갖춰야 할 주요 기술 중 하나이기 때문이다. 어떤 시각화 기법들이 있는지 살펴본다는 느낌으로 따로 읽으면 된다. - P144

시각화는 ...(중략)... 데이터를 사람이 이해할 수 있는 방법으로 표현하는 것이다. 보통 막대 그래프, 점 그래프, 파이 차트, 스캐터 플롯, 버블 차트, 히스토그램, 히트맵, 스타차트, 다차원척도법 등의 기법을 사용한다. - P144

시간 시각화 : 막대 그래프, 누적 막대 그래프, 점 그래프

분포 시각화 : 파이 차트, 도넛 차트, 트리맵, 누적 연속 그래프

관계 시각화 : 스캐터플롯, 버블차트, 히스토그램

비교 시각화 : 히트맵, 스타 차트, 평행 좌표계, 다차원 척도법

공간시각화 : 지역 정보와 지도의 매핑 - P144

시간 시각화는 시간의 흐름에 따른 데이터의 트렌드를 볼 때 사용한다. 예를 들어 시간에 따른 인구 변화가 있다. - P144

분포 시각화는 시계열과 비슷하지만 구분 단위가 시간이 아니라 분류, 가짓수라는 점에서 다르다. 예를 들어 정부 예산의 부처별 비율을 분포 시각화로 표현할 수 있다. - P145

관계 시각화는 데이터 사이의 상관관계를 표현한다. - P145

좀 더 복잡한 상관관계라면 x축, y축, 버블 크기, 버블 색깔까지 네 가지 변수 사이의 관계를 한 눈에 파악하는 버블 차트 작성이 있다. - P145

비교 시각화는 비교해야 할 변수가 많을 때 사용한다. 히트맵의 경우 x축은 비교할 변수 목록, y축은 데이터 레코드(특정 데이터를 다루는 단위)로 두고 셀 각각에 색을 입힌다. 이때 셀 각각에 부여된 점수에 따라 색의 진한 정도를 다르게 표현한다. 비교 항목 전체를 한 눈에 볼 수 있어 분류 상태나 예외 범위를 찾기 쉽다. - P145

공간 시각화는 지도 안에 지역 정보를 매핑해 시각화하는 것이다. 예를 들어 대한민국 행정 구역별 인구 현황 버블차트를 지도에 표현하면 행정구역별 위치에 원의 크기로 인구수를 반영할 수 있다. 지도의 직관성을 시각화에 활용하여 읽는 이의 흥미를 유도할 수 있다. - P145

ADP는 ADsP의 상위 수준인 만큼 더 세부적인 내용을 외워야하고 R 프로그래밍과 관련된 실기 시험을 통과해야 한다. 따라서 시험에 대비한 R 프로그래밍 함수를 많이 외워야 한다는 것이 주요 차이점이다. - P146

실무에서 R 프로그래밍 함수는 굳이 하나하나 외울 필요 없이 기억이 나지 않으면 구글 등에 검색해서 활용하는 편이다. 이러한 이유로 ADsP를 통과하고 AI 빅데이터 실무를 경험한 후 ADP 도전해도 늦지 않는다고 생각한다. - P146

ADP는 자격을 취득하는 데 제법 오랜 시간이 걸리는 편이므로 공부하는 도중에 지칠 수도 있다. 그리고 최근 데이터 분석에는 R 대신 파이썬이 더 많이 사용되므로 실기 시험 때문에 R을 자세하게 공부해야 하는 것은 비효율적일 수도 있다. - P146

경영 빅데이터 분석사는 ADsP와 많은 내용이 겹치므로 공부해볼만 하다. ADsP를 공부했다면 2주 정도 경영 관련 내용을 더 공부해 자격 시험에 응시할 수 있을 정도다. 경영 빅데이터 분석사는 1급과 2급으로 나뉘는데 2급을 공부하길 권한다. 1급은 R 프로그래밍과 관련한 실기 시험이 주요 당락을 결정하는데 앞에서 언급한 것처럼 R 프로그래밍을 따로 공부하는 것은 비효율적이기 때문이다. - P146

2급 시험에서 따로 공부할 내용은 ‘경영과 빅데이터 활용‘이다. 마케팅, 생산 운영, 회계/재무/인적 자원, 공공 분야, 제조업 등 산업 부분별 빅데이터가 어떻게 활용될 수 있는지 공부한다. - P147

1장에서 AI 빅데이터 전문가가 된 이후 어떤 산업 분야의 실제 프로젝트에 참여할지 모르기 때문에 평소에 산업 분야별로 빅데이터 분석을 어떻게 활용할 수 있을지 알아야 한다고 했다. 2급 시험의 ‘경영과 빅데이터 활용‘이 산업 분야별 빅데이터를 이해하는 데 도움을 준다. - P147

사회조사분석사는 실기까지는 공부할 필요가 없으므로 2급 필기만 공부하면 된다. 실기시험은 SPSS라는 통계 계산 도구를 사용하는데 이는 파이썬이나 R과 같이 AI 빅데이터 분야와 직접적인 연관은 없기 때문이다. - P148

(사회조사분석사) ‘조사방법론 2‘는 샘플링, 측정, 데이터 속성에 관해서 다루며, 기초적이지만 데이터에 관한 가장 기본적인 내용이기에 빅데이터 공부 입문자들이 살펴보면 좋은 부분이다. 해당 내용은 AI 빅데이터를 분석할 때 데이터 전처리에 적용할 수 있다. - P148

‘사회통계‘는 기초 통계, 확률, 가설에 대해 다룬 후 마지막에는 통계 분석에 대해서 다룬다. 분산분석, 상관분석, 회귀분석 등을 다루는데 데이터 마이닝의 가장 기초적인 부분이라 꼭 알고 넘어가면 좋다. 여기서 다루는 통계 분석 개념은 AI 빅데이터 알고리즘을 모델링할 때는 잘 사용하지 않지만 보고서를 작성해야 하는 프로젝트에서는 꽤 유용하다. - P149

흔히 데이터 분석 보고서를 작성하게 되면 초반에 기초 통계를 기반으로 데이터의 형태와 특성을 알 수 있는 간단한 자료를 준비한다. 이를 통해서 데이터의 성격을 파악한 후 적절한 알고리즘을 적용하여 최종 결과를 도출한다. 이러한 초반의 기초 분석이 앞에서 설명한 탐색적 자료 분석이며, 본격적인 데이터 분석에 앞서 필수 과정이다. - P150

탐색적 자료 분석은 데이터를 분석하기 전에 그래프나 통계적인 방법으로 자료를 직관적으로 바라보는 과정이다. 다양한 각도에서 데이터를 살펴보면서 표현하는 현상을 더 잘 이해하면, 사전에 미처 알지 못했던 다양한 패턴을 발견하거나 데이터에 대한 잠재적인 문제를 발견할 수 있다. 또한 이를 바탕으로 가설을 수정하거나 모델의 방향을 바꿀 수 있다. 참고로 ‘사회통계‘에서 공부하는 내용들은 거의 대부분 탐색적 자료 분석에 적용될 수 있다. 쉽고 간단하지만 중요하고 꼭 필요한 내용이므로 기억하길 바란다. - P150


댓글(0) 먼댓글(0) 좋아요(11)
좋아요
l 공유하기 l 북마크하기찜하기 lthankstoThanksTo