본문 바로가기
DB & SQL/데이터베이스 개론

(Fin) 데이터 과학과 빅데이터

by k-mozzi 2022. 3. 6.
반응형
Preface

 

이번 장에선 데이터 과학과 빅데이터, NoSQL에 대해 공부했다.

 

지금껏 NoSQL은 단지 RDB에서 처리하지 못하는 멀티미디어 데이터를 효율적으로 관리하기 위한 SQL 중 하나인 줄 알았는데, 생각보다 NoSQL의 종류도 다양하고 체계적으로 구성되어 있어 놀랐다.

 

MySQL 공부를 마무리한 후 시간적 여유가 되면 NoSQL도 제대로 공부해보고 싶다.

 

처음 DB 공부를 시작할 땐 굉장히 복합하고 어려운 개념이 많을 것 같다는 생각에 걱정을 많이 했지만, 예상했던 것 보다 수월하게 책을 마무리한 것 같다.


 

1. 데이터 과학

 

 

- 데이터 과학: 데이터를 수집한 후 분석을 통해 데이터를 정확히 이해함으로써 그 속에 숨겨진 새로운 지식을 발견하고 이를 문제 해결에 활용하는 모든 과정의 활동

 

 

- 데이터: 관찰하거나 측정하여 수집한 사실이나 값

 

- 정보: 데이터를 상황에 대한 이해를 바탕으로 목적에 맞게 가공한 것

 

- 지식: 규칙과 패턴을 통해 찾아낸 의미 있고 유용한 정보

 

- 지혜: 지식에 통찰력을 더해 새롭고 창의적인 아이디어를 도출한 것

 

 


 

2. 빅데이터

 

 

- 빅데이터의 의미

1) 기존의 DB가 저장하고 관리할 수 있는 범위를 넘어서는 대규모의 다양한 데이터

2) 대규모의 데이터를 저장 및 관리하는 기술과 가치 있는 정보를 만들기 위해 분석하는 기술

 

 

- 빅 데이터의 특징(3V)

1) 데이터 양(Volume)

2) 속도(Velocity)

3) 다양성(Variety)

 

 

- 빅데이터의 기술


1. 저장 기술

 

- 하둡(Hadoop): 대용량 데이터를 분산 처리할 수 있는 자바 기반의 오픈 소스 프레임워크

 

- NoSQL: 관계 데이터 모델과 SQL을 사용하지 않는 DBS로, 기존 RDB의 일관성보단 가용성과 확장성에 중점

 

 

2. 분석 기술

 

- 텍스트: 비정형 데이터로 가장 대표적인 것

 

- 분석 기술의 종류

1) 텍스트 마이닝: 반정형 또는 비정형 텍스트에서 자연어 처리 기술을 기반으로 가치있는 정보를 추출하고 가공

2) 오피니언 마이닝: 다양한 사용자들의 의견을 수집하고 분석하여 제품이나 서비스에 대한 선호도 추출

3) 소셜 네트워크 분석: 소셜 네트워크의 연결 구조나 강도 등을 바탕으로 다양한 정보를 추출

4) 군집 분석: 데이터 간의 유사도를 측정한 후 이를 바탕으로 특성이 비슷한 데이터를 합쳐가며 최종적으로 유사 특성의 데이터 집합을 추출

 

 

3. 표현 기술

 

- R 언어: 통계 및 그래프 작업을 위한 인터프리터 프로그래밍 언어

→ 빅데이터 분석과 시각화를 위해 주로 사용


 


 

3. 빅데이터 저장 기술: NoSQL

 

 

- NoSQL: Not Only SQL의 약자로 RDB만 고집하지 말고 필요에 따라 다른 특성을 제공하는 DB를 사용하는 것이 좋다는 의미

 

 

- 단일 컴퓨터 환경에서 주로 사용되는 RDB는 클러스터 환경에서 효율적으로 동작하도록 설계되지 않았다.

 

 

- NoSQL의 특징

1) ACID를 위한 트랜잭션을 제공하지 않는 대신, 저렴한 비용으로 여러 대의 컴퓨터에 데이터를 분산, 저장, 처리

2) 융통성 있는 데이터 모델을 사용

3) 스키마 없이 동작

→ 데이터 구조를 미리 정의할 필요가 없고, 수시로 구조를 바꿀 수 있어 대부분 오픈 소스로 제공된다.

4) 데이터 마이닝과 같은 별도의 분석 기술을 적용해 숨겨진 의미를 찾아내야 한다.

 

구분 관계 데이터베이스 NoSQL
처리 데이터 정형 데이터 정형 데이터, 비정형(반정형 포함) 데이터
대용량 데이터 대용량 처리 시 성능 저하 대용량 데이터 처리 지원
스키마 미리 정해진 스키마가 존재 스키마가 없거나 변경이 자유로움
트랜잭션 트랜잭션을 통해 일관성 유지를 보장함 트랜잭션을 지원하지 않아 일관성 유지가 힘듬
검색 기능 조인 등의 복잡한 검색 기능 제공 단순한 데이터 검색 기능 제공
확장성 클러스터 환경에 적합하지 않음 클러스터 환경에 적합함
라이선스 고가의 라이선스 비용 오픈 소스
대표적 사례 Oracle, MySQL, MS SQL etc. 카산드라, 몽고DB, H베이스 etc.

 

 

- NoSQL의 종류


1. 키-값 데이터베이스: 키와 값의 쌍으로 데이터 저장

1) 어떠한 형태의 값도 저장할 수 있다.

2) 질의 처리 속도가 빠르다.

3) 키를 이용해 값 전체를 검색할 순 있지만, 값의 일부를 검색하거나 값의 내용을 이용한 질의는 할 수 없다.

→ 별도의 처리가 필요

 

 

2. 문서 기반 데이터베이스: 키와 문서의 쌍으로 데이터 저장

1) 트리 형태의 계층적 구조가 존재하는 JSON, XML 등과 같은 반정형 형태의 문서로 데이터를 저장한다.

2) 키를 통해 문서 전체를 검색하는 것도 가능하지만, XQuery와 같은 특별한 문서 대상 질의 언어를 이용하면 문서 내용의 일부를 검색하거나 질의에 활용할 수 있다.

 

 

3. 컬럼 기반 데이터베이스: 컬럼 패밀리와 키의 쌍으로 데이터 저장

1) 컬럼 패밀리: 테이블에서 한 개의 튜플, 즉 한 개의 행을 구성하는 속성들의 모임

→ 각 행을 구분하는 키로 각 컬럼 패밀리를 식별한다.

2) 다양한 형태의 데이터를 값으로 저장할 수 있고 컬럼 패밀리, 즉 행마다 컬럼의 구성을 다르게 할 수 있다.

 

 

4. 그래프 기반 데이터베이스: 노드에 데이터를 저장하고 간선으로 데이터 간의 관계를 표현하는 그래프 형태

1) 데이터는 물론 데이터 간의 관계를 표현하는 데 적합하다.

2)  질의는 그래프 순회 과정을 통해 처리한다.


 


 

4. 빅데이터 분석 기술: 데이터 마이닝

 

 

- 기계 학습: 프로그램을 학습시켜 새로운 데이터의 입력 결과를 예측하는 기술

→ 분석 목적: 예측

 

 

- 데이터 마이닝: 데이터로부터 숨겨진 규칙과 패턴을 찾아 지식을 발견하는 분석 기술

→ 분석 목적: 발견

 

728x90
반응형

'DB & SQL > 데이터베이스 개론' 카테고리의 다른 글

데이터베이스 응용 기술  (0) 2022.03.03
보안과 권한 관리  (0) 2022.02.28
회복과 병행 제어  (0) 2022.02.24
정규화  (0) 2022.02.23
데이터베이스 설계  (0) 2022.02.21

댓글