이전 데이터 vs 빅데이터
구분 | 빅데이터 이전의 데이터 | 빅데이터 |
---|
데이터 유형 | 정형화된 문자, 수치 데이터 중심 | 정형, 반정형, 비정형 데이터 모두 포함 |
관련 기술 | 1) 관계 데이터 베이스 2) SAS, SPSS와 같은 통계 패키지 3) 데이터 마이닝 4) 기계학습 | 1) 저장기술: 하둡, NoSQL 2) 분석기술: 텍스트 마이닝, 오피니언 마이닝, 소셜 네트워크 분석, 군집 분석 3) 표현기술: R 언어 |
저장 장치 | 데이터베이스나 데이터 웨어하우스와 같은 고가의 저장 장치 | 비용이 저렴한 클라우드 컴퓨팅 장비 활용 가능 |
등장 배경
관계 데이터베이스를 대신할 새로운 대안의 필요성
- 정형화된 데이터를 주로 처리하는 관계 데이터베이스
빠른 속도로 대량 생산되는 다양한 유형의 비정형 데이터를 저장 및 관리하는데 적합하지 않음
- 단일 컴퓨터 환경에서 주로 사용되는 관계 데이터베이스
여러 컴퓨터가 연결되어 하나의 시스템을 구성하는 클러스터 환경에는 확장성 측면에서 비효율적임
새로운 대안으로 NoSQL 등장
- 관계 데이터베이스만 고집하지 말고 필요에 따라 다른 특성을 제공하는 데이터베이스를 사용하는 것이 좋다는 의미로 이해
예를 들어, AMAZON과 같은 쇼핑몰과 Instagram과 같은 SNS
| 쇼핑몰 | SNS |
---|
입력 vs 조회 | 조회 | 입력 (조회보단 추천) |
DBMS | 관계 데이터베이스 | NoSQL |
NoSQL (Not Only SQL)
- 의미
빠른 속도로 생성되는 대량의 비정형 데이터를 저장하고 처리하기 위해 ACID(원자성, 일관성, 격리성, 지속성)를 위한 트랜잭션 기능을 제공하지 않는 대신 저렴한 비용으로 여러 대의 컴퓨터에 데이터를 분산, 저장, 처리하는 것이 가능한 데이터베이스
- 특징
1) 관계 모델모다 더 융통성 있는 데이터 모델 사용
2) 스키마 없이 동작하기 때문에 데이터 구조를 미리 정의할 필요가 없고 수시로 그 구조를 바꿀 수 있어 비정형 데이터를 저장하기에 적합
3) 대부분 오픈 소스로 제공
관계 데이터베이스 vs NoSQL
| 관계 데이터베이스 | NoSQL |
---|
장점 | 트랜잭션을 통해 일관성을 유지하고, 외래키로 테이블 간의 관계를 표현함으로써 조인과 같은 복잡한 질의 처리가 가능 | 트랜잭션 기능을 제공하지 않고 정해진 스키마도 없기 때문에 자유롭게 구조를 바꾸며 대량의 비정형 데이터를 빠르게 저장하고 처리할 수 있음 |
단점 | 빠른 속도로 증가하는 대량의 비정형 데이터를 저장하는데 확장성 측면에서 비효율적 | SQL 대신 별도의 분석 기술을 이용해 데이터 속에 숨겨진 의미를 찾아내야 함 |
👉 저장될 데이터의 형태와 처리 목적에 더 적합한 것을 선택
- 관계 데이터 베이스
예) 기업의 인사, 회계 자료와 같이 일관성이 중요하고 조인과 같은 복잡한 질의 처리가 필요한 정형화된 데이터를 관리하는 용도, 실제로 현업에선 결제와 관련된 데이터를 관계 데이터베이스로 관리
- NoSQL
예) SNS에 게시된 이미지와 텍스트, CCTV 촬영 영상, 센싱 데이터와 같이 빠른 속도로 엄청난 양이 생성되지만 수정보다는 삽입 연산 위주의 데이터를 저장하고 관리하는 용도
NoSQL(비정형 데이터)이 갖는 장점을 설명하시오.
- 답변 포인트
NoSQL은 빅데이터를 저장할 때 많이 사용합니다.
NoSQL과 관계형 데이터베이스를 비교해서 설명합니다.
내가 해본 프로젝트나 실제 사례를 들어 설명해도 좋음
- 답변 사례예시
NoSQL은 비관계형이기 때문에 정해진 테이블에 하나씩 데이터를 집어넣어 사용할 수 있으며, 다른 데이터 구조를 가져와 사용할 수도 있기 때문에 대규모의 데이터를 유연하게 처리할 수 있고 설계가 단순하고 데이터의 확장에 훨씬 유리합니다.
NoSQL은 대량의 데이터를 무한대로 추가하여 저장할 수 있으며, 가변성이 있는 데이터의 저장도 용이하여, 결과적으로 유지 보수에 적은 비용이 발생합니다.