2. 빅데이터의 정의와 정형·반정형·비정형 데이터
빅데이터는 기존 방식으로 처리하기 어려운 대용량·다양한 데이터이며, 형태에 따라 정형·반정형·비정형 데이터로 나눌 수 있다.
빅데이터의 정의와 정형·반정형·비정형 데이터
1. 정의
빅데이터는 기존 방식으로 처리하기 어려운 대용량·다양한 데이터를 말한다.
기존 방식은 엑셀, 일반 파일, 단일 데이터베이스처럼 작은 규모의 데이터를 처리하던 방식을 뜻한다.
예를 들어 고객 1,000명의 정보를 엑셀로 관리하는 것은 어렵지 않다. 하지만 하루에 수천만 건씩 쌓이는 검색 기록, 결제 기록, 위치 정보, 영상 데이터, 센서 데이터를 엑셀로 관리하기는 어렵다.
이처럼 데이터의 양이 많고, 형태가 다양하고, 빠르게 쌓이면 일반적인 방식으로 저장하거나 분석하기 어렵다. 이런 데이터를 빅데이터라고 한다.
빅데이터는 단순히 크기만 큰 데이터가 아니다. 데이터의 양, 종류, 생성 속도, 신뢰성, 활용 가치까지 함께 고려해야 한다.
빅데이터의 예시
- 쇼핑몰의 상품 조회 기록
- 카드사의 결제 기록
- 병원의 진료 기록
- 동영상 플랫폼의 시청 기록
- SNS 게시글과 댓글
- 스마트워치의 심박수 데이터
- 공장 설비의 센서 데이터
- 자동차의 주행 데이터
- 공공기관의 교통량 데이터
빅데이터를 이해할 때는 데이터의 형태도 함께 알아야 한다.
데이터는 크게 세 가지로 나눌 수 있다.
- 정형 데이터
- 반정형 데이터
- 비정형 데이터
정형 데이터
정형 데이터는 표 형태로 정리된 데이터다.
행과 열이 명확한 데이터라고 보면 된다.
엑셀 표, 관계형 데이터베이스 테이블, CSV 파일이 대표적인 정형 데이터다.
| 고객ID | 나이 | 구매금액 | 가입일 |
|---|---|---|---|
| C001 | 32 | 50000 | 2026-01-10 |
| C002 | 45 | 120000 | 2026-02-15 |
위 표처럼 각 데이터가 정해진 칸에 들어가 있으면 정형 데이터다.
반정형 데이터
반정형 데이터는 완전한 표 형태는 아니지만, 일정한 구조를 가진 데이터다.
대표적인 예시는 JSON과 XML이다.
JSON은 데이터를 이름과 값의 쌍으로 표현하는 형식이다. 웹 개발과 API 통신에서 많이 사용된다.
XML은 태그를 이용해 데이터를 표현하는 형식이다. 예전 시스템이나 문서 교환에서 많이 사용된다.
비정형 데이터
비정형 데이터는 정해진 표 구조가 없는 데이터다.
이미지, 영상, 음성, 문서, 댓글, 이메일, PDF 같은 데이터가 여기에 해당한다.
예를 들어 사진 한 장은 엑셀 표처럼 행과 열로 쉽게 정리되지 않는다. 음성 파일도 마찬가지다.
비정형 데이터는 분석하기 전에 별도의 처리 과정이 필요하다.
2. 필요한 이유
빅데이터의 정의를 알아야 하는 이유는 데이터 분석의 출발점이기 때문이다.
데이터 분석은 데이터를 이용해 문제를 해결하는 과정이다. 그런데 데이터가 어떤 형태인지 모르면 수집, 저장, 처리, 분석 방법을 정할 수 없다.
예를 들어 고객 구매 내역은 정형 데이터다. 데이터베이스에 저장하고 SQL로 조회하기 좋다.
반면 고객 리뷰 문장은 비정형 데이터다. 문장을 단어로 나누고, 불필요한 단어를 제거하고, 숫자로 변환해야 분석할 수 있다.
상품 정보 API 응답은 반정형 데이터일 수 있다. JSON 형태로 전달되기 때문이다. 이 경우 필요한 값만 추출해서 표 형태로 바꿔야 한다.
실제 개발에서 해결하는 문제
빅데이터 개념은 실제 개발과 데이터 분석에서 다음 문제를 해결하는 데 필요하다.
- 어떤 저장소를 선택할지 결정할 수 있다.
- 데이터 수집 방식을 정할 수 있다.
- 데이터 전처리 방법을 선택할 수 있다.
- 분석 도구와 기술을 선택할 수 있다.
- 데이터 품질 문제를 미리 파악할 수 있다.
- 정형·반정형·비정형 데이터를 구분할 수 있다.
예를 들어 웹 서비스에서 사용자 행동 로그를 분석한다고 하자.
사용자가 어떤 페이지를 봤는지, 어떤 버튼을 클릭했는지, 언제 접속했는지 기록된다. 이런 로그 데이터는 양이 많고 빠르게 쌓인다.
이 데이터를 일반적인 엑셀 파일로 관리하면 금방 한계가 온다. 그래서 로그 수집 시스템, 분산 저장소, 빅데이터 처리 도구가 필요하다.
3. 핵심 개념
3-1. 데이터
데이터는 분석에 사용하는 값이다.
숫자, 문자, 날짜, 이미지, 음성, 영상 모두 데이터가 될 수 있다.
예를 들어 쇼핑몰에서는 다음 값들이 데이터다.
- 회원 ID
- 상품명
- 상품 가격
- 구매 시간
- 장바구니 담기 여부
- 리뷰 내용
3-2. 빅데이터
빅데이터는 기존 방식으로 처리하기 어려운 대규모 데이터다.
단순히 용량이 큰 데이터만 의미하지 않는다. 데이터의 종류가 다양하고, 생성 속도가 빠르고, 분석 가치가 있어야 한다.
3-3. 기존 데이터 처리 방식
기존 데이터 처리 방식은 주로 정형 데이터를 중심으로 했다.
대표적인 예시는 엑셀, 관계형 데이터베이스, 단일 서버 처리 방식이다.
작은 규모에서는 문제가 없다. 하지만 데이터가 매우 많아지면 저장, 조회, 처리 속도가 느려질 수 있다.
3-4. 대용량 데이터
대용량 데이터는 크기가 매우 큰 데이터다.
예를 들어 하루에 수억 건의 검색 로그가 쌓인다면 대용량 데이터라고 볼 수 있다.
3-5. 다양한 데이터
다양한 데이터는 형태가 여러 가지인 데이터를 말한다.
표 데이터뿐 아니라 텍스트, 이미지, 음성, 영상, 로그, 센서 데이터가 함께 사용될 수 있다.
3-6. 정형 데이터
정형 데이터는 행과 열로 구성된 표 형태 데이터다.
관계형 데이터베이스, 엑셀, CSV 파일이 대표적이다.
3-7. 반정형 데이터
반정형 데이터는 구조가 일부 있지만 표처럼 고정되어 있지는 않은 데이터다.
JSON, XML, HTML, 로그 파일 등이 대표적이다.
3-8. 비정형 데이터
비정형 데이터는 정해진 구조가 없는 데이터다.
이미지, 영상, 문서, 음성, 이메일, SNS 글이 대표적이다.
3-9. 데이터 처리
데이터 처리는 데이터를 저장, 정리, 변환, 분석하는 전체 과정을 말한다.
빅데이터에서는 데이터 양이 많기 때문에 여러 서버가 나누어 처리하는 방식이 자주 사용된다.
3-10. 데이터 분석
데이터 분석은 데이터에서 의미 있는 정보를 찾는 과정이다.
예를 들어 고객 구매 데이터를 분석해서 인기 상품을 찾거나, 이탈 가능성이 높은 고객을 예측할 수 있다.
4. 주변 기초 개념
4-1. 행과 열
행은 가로줄이다. 데이터 한 건을 의미하는 경우가 많다.
열은 세로줄이다. 데이터의 속성을 의미한다.
예를 들어 고객 데이터에서 한 명의 고객 정보는 한 행이다. 나이, 성별, 구매금액은 열이다.
4-2. 컬럼
컬럼은 표에서 하나의 열을 뜻한다.
예를 들어 고객 테이블에 이름, 나이, 구매금액 컬럼이 있을 수 있다.
4-3. 레코드
레코드는 데이터 한 건을 뜻한다.
고객 1명의 정보, 주문 1건, 댓글 1개가 레코드가 될 수 있다.
4-4. 데이터베이스
데이터베이스는 데이터를 저장하고 관리하는 시스템이다.
회원 정보, 주문 내역, 상품 정보처럼 구조화된 데이터를 저장할 때 많이 사용한다.
4-5. 관계형 데이터베이스
관계형 데이터베이스는 데이터를 표 형태로 저장하는 데이터베이스다.
MySQL, PostgreSQL, Oracle, SQL Server가 대표적이다.
4-6. SQL
SQL은 데이터베이스에서 데이터를 조회, 추가, 수정, 삭제할 때 사용하는 언어다.
예를 들어 회원 목록을 조회하거나 주문 금액 합계를 구할 때 SQL을 사용할 수 있다.
4-7. CSV
CSV는 쉼표로 값을 구분한 파일 형식이다.
엑셀이나 데이터 분석 도구에서 자주 사용한다.
id,name,age
1,Kim,30
2,Lee,25
4-8. JSON
JSON은 데이터를 이름과 값의 쌍으로 표현하는 형식이다.
웹 API에서 많이 사용된다.
{
"id": 1,
"name": "Kim",
"age": 30
}
4-9. XML
XML은 태그로 데이터를 감싸서 표현하는 형식이다.
HTML과 비슷하게 생겼지만, 데이터를 표현하는 목적이 강하다.
<user>
<id>1</id>
<name>Kim</name>
<age>30</age>
</user>
4-10. 로그 데이터
로그 데이터는 시스템이나 사용자의 행동을 기록한 데이터다.
예를 들어 로그인 시간, 클릭한 버튼, 접속한 페이지, 오류 메시지 등이 로그 데이터다.
4-11. 센서 데이터
센서 데이터는 기계나 장치에서 측정한 데이터다.
예를 들어 온도, 습도, 압력, 위치, 속도, 심박수 등이 있다.
4-12. API
API는 프로그램끼리 데이터를 주고받기 위한 연결 방식이다.
예를 들어 날씨 앱은 기상 데이터 API를 통해 날씨 정보를 가져올 수 있다.
4-13. 스키마
스키마는 데이터 구조를 정의한 설계도다.
예를 들어 고객 테이블에 고객ID, 이름, 나이, 가입일 컬럼이 있다는 규칙이 스키마다.
4-14. 메타데이터
메타데이터는 데이터에 대한 설명 데이터다.
예를 들어 파일명, 생성일, 컬럼 설명, 데이터 출처가 메타데이터가 될 수 있다.
5. 실제 흐름
빅데이터가 실제로 처리되는 흐름은 보통 다음 순서로 진행된다.
5-1. 1단계: 데이터 발생
먼저 데이터가 발생한다.
사용자가 웹사이트에 접속하거나, 상품을 구매하거나, 댓글을 작성하면 데이터가 생긴다.
공장에서는 기계 센서가 온도와 압력을 계속 기록할 수 있다.
5-2. 2단계: 데이터 수집
발생한 데이터를 모은다.
수집 방식은 데이터 형태에 따라 달라진다.
- 정형 데이터: 데이터베이스에서 조회
- 반정형 데이터: API, JSON, XML 수집
- 비정형 데이터: 이미지, 영상, 문서 파일 수집
5-3. 3단계: 데이터 저장
수집한 데이터를 저장한다.
정형 데이터는 관계형 데이터베이스에 저장하는 경우가 많다.
반정형 데이터와 비정형 데이터는 파일 저장소, NoSQL, 데이터 레이크에 저장하는 경우가 많다.
데이터 레이크는 다양한 형태의 데이터를 원본에 가깝게 저장하는 공간이다.
5-4. 4단계: 데이터 정리
저장된 데이터를 분석하기 좋은 형태로 정리한다.
이 과정을 전처리라고 한다.
전처리에서는 다음 작업을 한다.
- 비어 있는 값 처리
- 잘못된 값 수정
- 중복 데이터 제거
- 날짜 형식 통일
- 문자 데이터를 숫자로 변환
5-5. 5단계: 데이터 분석
정리된 데이터를 분석한다.
분석 목적에 따라 방식이 달라진다.
- 매출 평균 확인
- 고객 그룹 나누기
- 이탈 고객 예측
- 이상 거래 탐지
- 추천 상품 찾기
5-6. 6단계: 결과 활용
분석 결과를 실제 업무에 사용한다.
예를 들어 이탈 가능성이 높은 고객에게 쿠폰을 제공할 수 있다.
공장 설비 이상을 미리 감지해서 고장을 예방할 수도 있다.
6. 예시
6-1. 정형 데이터 예시
정형 데이터는 표 형태로 표현할 수 있다.
customer_id,name,age,total_price
1,Kim,30,50000
2,Lee,25,30000
3,Park,40,70000
이 데이터는 CSV 형식이다. 쉼표로 값을 구분한다.
6-2. 반정형 데이터 예시
반정형 데이터는 JSON처럼 구조가 있지만 표는 아니다.
{
"customer_id": 1,
"name": "Kim",
"age": 30,
"orders": [
{
"product": "keyboard",
"price": 50000
}
]
}
이 데이터는 고객 정보 안에 주문 정보가 들어 있다. 표보다 구조가 유연하다.
6-3. 비정형 데이터 예시
비정형 데이터는 표 구조가 없다.
상품 배송은 빨랐지만 포장이 조금 아쉬웠습니다.
이 문장은 고객 리뷰 데이터다. 문장 그대로는 숫자 분석이 어렵다.
분석하려면 단어를 나누고, 의미 있는 단어를 추출하고, 숫자로 바꾸는 과정이 필요하다.
6-4. 간단한 Python 예시
아래 코드는 JSON과 비슷한 형태의 데이터를 표 형태로 바꾸는 예시다.
import pandas as pd
data = [
{"customer_id": 1, "name": "Kim", "age": 30},
{"customer_id": 2, "name": "Lee", "age": 25}
]
df = pd.DataFrame(data)
print(df)
7. 코드 또는 설정 설명
import pandas as pd
pandas 라이브러리를 불러오는 코드다.
pandas는 Python에서 표 형태 데이터를 다룰 때 많이 사용하는 도구다.
data = [
{"customer_id": 1, "name": "Kim", "age": 30},
{"customer_id": 2, "name": "Lee", "age": 25}
]
data라는 변수에 고객 데이터를 저장한다.
여기서 변수는 값을 담는 이름이다.
대괄호는 여러 개의 데이터를 담는 리스트를 뜻한다.
중괄호는 이름과 값을 묶는 딕셔너리를 뜻한다.
각 딕셔너리는 고객 한 명의 정보를 나타낸다.
df = pd.DataFrame(data)
data를 DataFrame으로 바꾼다.
DataFrame은 pandas에서 사용하는 표 형태 데이터 구조다.
쉽게 말하면 Python에서 사용하는 엑셀 표라고 보면 된다.
print(df)
df에 들어 있는 데이터를 화면에 출력한다.
출력 결과는 다음과 비슷하다.
customer_id name age
0 1 Kim 30
1 2 Lee 25
왼쪽의 0, 1은 인덱스다.
인덱스는 행을 구분하기 위한 번호다.
실무에서 자주 쓰는 방식
실무에서는 데이터를 한 가지 형태로만 다루지 않는다.
예를 들어 쇼핑몰 분석에서는 다음 데이터가 함께 사용될 수 있다.
- 회원 정보: 정형 데이터
- 주문 내역: 정형 데이터
- 상품 정보 API 응답: 반정형 데이터
- 고객 리뷰: 비정형 데이터
- 상품 이미지: 비정형 데이터
- 클릭 로그: 반정형 또는 정형 데이터
그래서 실무에서는 데이터를 수집한 뒤 분석하기 좋은 표 형태로 변환하는 작업이 자주 필요하다.
8. 주의점
8-1. 빅데이터를 단순히 큰 데이터로만 이해하면 안 된다
빅데이터는 크기만 큰 데이터가 아니다.
데이터의 양, 다양성, 속도, 신뢰성, 가치가 함께 중요하다.
작은 데이터라도 형태가 복잡하고 처리 방식이 어렵다면 빅데이터 기술이 필요할 수 있다.
8-2. 정형 데이터와 반정형 데이터를 헷갈리면 안 된다
정형 데이터는 표 형태가 명확하다.
반정형 데이터는 구조는 있지만 표처럼 고정되어 있지 않다.
| 구분 | 특징 | 예시 |
|---|---|---|
| 정형 데이터 | 행과 열이 명확함 | 엑셀, 관계형 DB, CSV |
| 반정형 데이터 | 구조는 있지만 유동적임 | JSON, XML, HTML |
| 비정형 데이터 | 정해진 표 구조가 없음 | 이미지, 영상, 음성, 문서 |
8-3. JSON을 비정형 데이터로 보면 안 된다
JSON은 반정형 데이터다.
JSON은 키와 값이라는 구조가 있다.
하지만 행과 열이 고정된 표는 아니다. 그래서 정형 데이터가 아니라 반정형 데이터로 분류한다.
8-4. 이미지와 텍스트는 바로 분석하기 어렵다
이미지, 영상, 음성, 문서 같은 비정형 데이터는 바로 통계 분석하기 어렵다.
숫자나 벡터 형태로 변환해야 한다.
벡터는 여러 숫자를 순서대로 묶은 값이다. 머신러닝에서 문장이나 이미지를 계산 가능한 형태로 표현할 때 자주 사용한다.
8-5. 데이터 형태에 따라 저장 방식이 달라진다
정형 데이터는 관계형 데이터베이스에 잘 맞는다.
반정형 데이터는 NoSQL이나 문서형 데이터베이스에 잘 맞는 경우가 많다.
비정형 데이터는 파일 스토리지, 객체 스토리지, 데이터 레이크에 저장하는 경우가 많다.
NoSQL은 관계형 데이터베이스보다 유연한 구조를 가진 데이터베이스를 말한다.
8-6. 최신 방식과 예전 방식의 차이
예전에는 정형 데이터를 중심으로 분석하는 경우가 많았다.
주로 관계형 데이터베이스와 SQL을 사용했다.
최신 데이터 분석에서는 정형 데이터뿐 아니라 로그, JSON, 이미지, 텍스트, 음성 같은 다양한 데이터를 함께 사용한다.
그래서 Hadoop, Spark, NoSQL, 클라우드 스토리지, 데이터 레이크 같은 기술이 함께 사용된다.
Hadoop은 대용량 데이터를 여러 서버에 나누어 저장하고 처리하는 기술이다.
Spark는 대용량 데이터를 빠르게 처리하는 분산 처리 엔진이다.
클라우드 스토리지는 인터넷 기반 저장 공간이다.
9. 요약
빅데이터는 기존 방식으로 처리하기 어려운 대용량·다양한 데이터다.
빅데이터는 단순히 크기만 큰 데이터가 아니다. 데이터의 양, 종류, 생성 속도, 신뢰성, 가치가 중요하다.
데이터는 형태에 따라 정형 데이터, 반정형 데이터, 비정형 데이터로 나눌 수 있다.
정형 데이터는 표 형태 데이터다. 엑셀, CSV, 관계형 데이터베이스가 대표적이다.
반정형 데이터는 구조가 일부 있는 데이터다. JSON, XML, HTML이 대표적이다.
비정형 데이터는 정해진 구조가 없는 데이터다. 이미지, 영상, 문서, 음성 데이터가 대표적이다.
데이터 형태를 구분할 수 있어야 수집, 저장, 처리, 분석 방법을 올바르게 선택할 수 있다.
10. 핵심 용어 정리
빅데이터 = 기존 방식으로 처리하기 어려운 대용량·다양한 데이터
데이터 = 분석이나 처리를 위해 사용하는 값
정형 데이터 = 행과 열이 명확한 표 형태 데이터
반정형 데이터 = 구조는 있지만 고정된 표 형태는 아닌 데이터
비정형 데이터 = 정해진 구조가 없는 데이터
CSV = 쉼표로 값을 구분하는 표 형태 파일
JSON = 이름과 값의 쌍으로 데이터를 표현하는 형식
XML = 태그를 사용해 데이터를 표현하는 형식
데이터베이스 = 데이터를 저장하고 관리하는 시스템
관계형 데이터베이스 = 데이터를 표 형태로 저장하는 데이터베이스
SQL = 관계형 데이터베이스에서 데이터를 다루는 언어
NoSQL = 고정된 표 구조보다 유연한 방식으로 데이터를 저장하는 데이터베이스
API = 프로그램끼리 데이터를 주고받기 위한 연결 방식
로그 데이터 = 시스템이나 사용자의 행동을 기록한 데이터
센서 데이터 = 장치가 측정해서 만든 데이터
스키마 = 데이터 구조를 정의한 설계도
메타데이터 = 데이터에 대한 설명 데이터
데이터 레이크 = 다양한 형태의 데이터를 원본에 가깝게 저장하는 공간
전처리 = 분석 전에 데이터를 정리하고 변환하는 작업
벡터 = 여러 숫자를 순서대로 묶은 값
Hadoop = 대용량 데이터를 분산 저장하고 처리하는 기술
Spark = 대용량 데이터를 빠르게 처리하는 분산 처리 엔진
클라우드 스토리지 = 인터넷 기반 저장 공간
AD
제휴 광고
일부 링크는 제휴 링크이며, 구매 또는 가입 시 일정 수수료를 받을 수 있습니다.
AD