728x90
반응형
출처 : https://book.naver.com/bookdb/book_detail.nhn?bid=20885185
*해당 글은 학습을 목적으로 위의 도서 내용 중 일부 내용만을 요약하여 작성한 포스팅입니다.
상세한 내용 및 전체 내용 확인을 원하신다면 도서 구매를 추천드립니다.
데이터 적재
- 수집된 데이터는 분석을 위해 저장 시스템에 적재되어야 한다.
- 이 때 저장 시스템은 RDB, 분산파일시스템, NoSQL 저장 시스템에 적재될 수 있다.
- 대표적인 데이터 적재 도구로는 플루언트디, 플럼, 스크라이브, 로그스태시 등이 있다.
- 플루언트디는 트레저 데이터에서 개발된 크로스 플랫폼 오픈소스 데이터 수집 소프트웨어이다.
- 사용자의 로그를 다양한 형태로 입력받아 JSON 포맷으로 변환하여 다양한 형태로 출력한다.
- 플럼은 대량의 로그 데이터를 효율적으로 수집, 취합, 이동하기 위한 분산형 소프트웨어이다.
- 대량의 이벤트 데이터 전송에 사용된다.
- 스크라이브는 실시간으로 스트리밍되는 로그 데이터를 집약시키기 위한 서버이다.
- 클라이언스 사이드의 수정 없이 스케일링이 가능하고, 확장이 가능하다.
- 로그스태시는 다양한 소스에서 데이터를 수집하여 변환한 후 사용하는 저장소이다.
- NoSQL DBMS도 자체 데이터 적재 도구를 제공한다.
- 예를 들어 수집한 데이터가 텍스트 데이터라면 mongoimport 같은 기능으로 데이터를 RDB에 적재할 수 있다.
- 혹은 RDB to NoSQL의 경우는 SQLtoNoASQLimporter, Mongify 등의 도구를 사용할 수 있다.
데이터 저장
- 빅데이터 저장 시스템은 데이터를 저장하고 관리하는 시스템으로, 데이터 제공 신뢰성과 가용성을 보장한다.
- 파일 시스템 (HDFS, GFS)에 저장할 수 있다.
- 이 방식은 저사양 서버들을 활용하여 대용량, 분산, 데이터 집중형의 어플리케이션을 지원하며 사용자들에 고성능 fault-tolerance 환경을 제공하도록 구현되어 있다.
- 대표적인 파일 시스템은 HDFS, GFS가 있다.
- HDFS (하둡 분산파일 시스템)은 대용량 파일을 클러스터에 여러 블록으로 분산하여 저장하며, 블록들은 마지막 블록을 제외하고 모두 크기가 동일하다.
- 마스터와 여러 개의 슬레이브로 클러스터링 되어 구성되는데, 마스터는 네임노드라고 불리며 메타데이터와 모니터링 시스템을 운영한다.
- 슬레이브노드는 데이터노드라고 불리며 데이터 블록을 분산처리한다.
- 데이터 손상을 막기 위해 데이터 복제 기법을 사용한다.
- 하둡은 대용량의 비정형 데이터의 저장 및 분산에 효율적이고, 클러스터 구성으로 멀티 노드로 부하를 분산시켜 처리한다.
- 또한 개별적인 서버에서 진행되는 병렬 처리 결과를 하나로 묶어 시스템의 과부하나 병목 현상을 줄여준다.
- GFS (Google File Service)는 마스터, 청크 서버, 클라이언트로 구분된다.
- 마스터는 GFS 전체의 상태를 관리하고 통제한다.
- 청크서버는 물리적인 하드디스크의 실제 입출력을 처리한다.
- 클라이언트는 파일을 읽고 쓰는 동작을 요청하는 어플리케이션이다.
- GFS는 응답 시간은 기나 데이터의 높은 처리성능을 가지고 있다.
- 혹은 데이터베이스에도 저장할 수 있다.
- RDB는 물론 NoSQL에도 가능한데, NoSQL은 RDB보다 확장성, 복제, 간편한 API 제공, 일관성 보장 등의 장점이 있다.
- RDB와 NoSQL의 장단점 및 특성은 아래와 같다.
RDB | NoSql | |
장점 | 무결성, 정확성 보장 | 웹 환경의 정보 탐색, 저장 가능 |
단점 | 확장성의 한계 클라우드 분산 환경에 부적합 |
무결성, 정확성 미보장 |
특징 | 수정, 삭제 연산 가능 스키마 존재 트랜잭션 존재 |
수정, 삭제 미사용 일관성 불필요 |
- 분산 컴퓨팅 환경에서는 일관성, 가용성, 지속성의 특징이 있는데 이 세가지 특성을 동시에 만족하는 것은 어렵다. (CAP 이론)
- RDB는 이 중 C, A 즉 일관성과 가용성을 선택했다.
- NoSQL은 C, A 중 하나를 포기하고 지속성(P)을 보장한다.
- C+P (일관성 + 지속성) 이면 대용량 분산 파일 시스템에 적용된다.
- A+P (가용성 + 지속성) 이면 비동기식 서비스에 적용된다.
- NoSQL은 ACID 특징 중 일부만 지원하는 대신 성능과 확장성을 높이는 특징이 있다.
- 추가적인 특징은 아래와 같다.
- 스키마가 없어 다양한 형태로 저장 및 접근이 가능하다.
- 탄력성이 좋아 일부에 장애가 발생해도 접근이 가능하다.
- 효율적인 질의가 가능하다.
- 캐싱 기능이 있다.
- NoSQL은 데이터 저장 방식에 따라 키-값 구조, 칼럼 기반 구조, 문서 기반 구조로 구분된다.
- 키-값 데이터베이스는 가장 간단한 데이터 모델이다.
- 간단한만큼 단순해 확장성이 뛰어나고 질의 응답시간이 빠르다.
- 하지만 범위 질의 사용이 어렵고, 응용 프로그램 모델링이 복잡하다.
- 아마존의 DynamoDB, Redis 등이 있다.
- 열 기반(칼럼 기반) 데이터베이스는 데이터를 로우가 아닌 칼럼에 저장하고 처리한다.
- 이 때 칼럼과 로우는 확장성을 위해 여러 개의 노드로 분할되어 저장된다.
- 연관된 데이터 위주의 조회에 유리하다.
- 하지만 하나의 레코드를 변경하려면 여러 곳을 수정해야 한다.
- 동일 도메인의 열 값이 연속되어 압축 효율이 좋고 범위 질의에도 유리하다.
- Bigtable, Cassandra, Hbase, HyperTable 등이 있다.
- 문서 기반 데이터베이스는 문서 형식의 정보르 저장, 처리한다.
- 복잡한 형태의 데이터 저장을 지원하고, 이에 따라 문서마다 다른 스키마가 있으며 최적화가 가능하다.
- 레코드 간 관계 설명이 가능하다.
- 사실 개념적으로는 RDB와 유사하다.
- SimpleDB, CouchDB, MongoDB 등이 있다.
1. NoSQL 데이터베이스의 저장 방식 종류가 아닌 것은?
1) Key-Value
2) Column-Oriented
3) Relational
4) Document
3
2. 다음 중 데이터 수집을 목적으로 하는 프로그램이 아닌 것은?
1) 플루언트디
2) 맵리듀스
3) 스크라이브
4) 로그스태시
2
3. Column-Oriented 데이터베이스에 대한 특징으로 틀린 것은?
1) 연관된 데이터 위주의 조회에 유리하다.
2) 하나의 레코드 수정 시 다른 곳도 수정해야 한다.
3) 동일 도메인의 열 값이 연속되어 압축 효율이 좋다.
4) 범위 질의의 사용이 어렵다.
4
4. CAP 이론을 바탕으로 각 시스템별 필요 조건에 대한 설명으로 틀린 것은?
1) RDB는 일관성과 가용성이 보장되어야 한다.
2) 대용량 분산 파일 시스템은 일관성과 지속성이 보장되어야 한다.
3) 비동기식 서비스는 가용성과 지속성이 보장되어야 한다.
4) 분산 병렬 시스템은 일관성, 가용성, 지속성 모두가 보장되어야 한다.
4
728x90
반응형
'자격증 > 빅데이터 분석기사' 카테고리의 다른 글
2_1. 데이터 전처리_분석 변수 처리 (0) | 2022.03.17 |
---|---|
2-1. 데이터 전처리_데이터 정제 (0) | 2022.03.17 |
1-3. 데이터 수집 및 저장 계획_데이터 수집 및 전환 (0) | 2022.03.16 |
1-2. 데이터 분석 계획_분석 작업 계획 (0) | 2022.03.13 |
1-2. 데이터 분석 계획_분석 방안 수립 (0) | 2022.03.13 |