스마트 데이터
더 많은 작업
스마트 데이터(Smart Data)는 대량으로 쌓인 빅데이터 가운데 정확하고(Accurate), 바로 실행에 옮길 수 있으며(Actionable), 빠르게 대응할 수 있는(Agile) 형태로 걸러지고 가공되어 의사결정에 곧장 쓰일 수 있는 데이터이다.
빅데이터 초기에는 '많이 모으면 가치가 나온다'는 생각으로 데이터의 양(Volume)·속도(Velocity)·다양성(Variety)에 집중했다. 그러나 모은 데이터의 상당수는 잡음이 많거나 중복되거나 쓸모가 없어, 저장·처리 비용만 늘고 실제 의사결정에는 쓰이지 못하는 경우가 많았다. 스마트 데이터는 이런 반성에서 나온 개념으로, 얼마나 많이 모았느냐보다 얼마나 쓸모 있게 만들었느냐를 강조한다.
특히 사물인터넷 센서와 로그처럼 끊임없이 흘러드는 스트림 데이터는 전부 저장한 뒤 분석하면 이미 늦다. 데이터가 발생하는 시점에 의미 있는 것만 골라 가공하는 실시간 처리 기술이 스마트 데이터를 만드는 핵심 수단이다.
- 데이터 폭증과 낮은 활용도 : 수집된 데이터 중 실제 분석·활용되는 비율이 낮고, 저장·관리 비용이 계속 늘었다.
- 데이터 품질 문제 : 오류·중복·잡음이 많은 데이터로 분석하면 틀린 결론에 이른다.
- 실시간 의사결정 요구 : 금융 이상 거래 탐지, 설비 고장 예측, 교통 제어처럼 즉시 대응해야 하는 업무가 늘었다.
- 사물인터넷 확산 : 센서 데이터가 연속적으로 대량 발생해, 수집 단계에서부터 걸러 내야 했다.
- 분석 결과의 실행 연결 : 분석 보고서가 실제 행동으로 이어지지 않는 문제를 해결할 필요가 있었다.
- 저장·처리 비용을 줄이고 분석 속도를 높인다.
- 신뢰할 수 있는 데이터로 의사결정의 정확도를 높인다.
- 데이터 발생 시점에 대응해 위험과 기회를 놓치지 않는다.
- 분석 결과를 업무 행동으로 연결해 데이터 투자의 효과를 높인다.
- 목적 지향 : 무엇을 결정할지 먼저 정하고 그에 필요한 데이터만 고른다.
- 맥락 포함 : 데이터에 시간·위치·출처·의미 정보가 함께 붙어 있다.
- 실시간성 : 수집과 동시에 필터링·집계·패턴 탐지가 이뤄진다.
- 경량화 : 원시 데이터 대비 크기가 작고 핵심 정보만 담는다.
- 품질 보장 : 정확성과 일관성이 검증되어 있다.
| 구분 기준 | 빅데이터 | 스마트 데이터 |
|---|---|---|
| 관점 | 양 중심(3V: Volume, Velocity, Variety) | 가치 중심(3A: Accurate, Actionable, Agile) |
| 수집 방식 | 가능한 한 모두 모아 저장 | 목적에 맞는 데이터만 선별 |
| 데이터 상태 | 원시 데이터, 잡음·중복 포함 | 정제·가공·의미 부여된 데이터 |
| 처리 시점 | 저장 후 일괄 분석(배치) 중심 | 발생 시점의 실시간 처리 중심 |
| 규모 | 매우 큼 | 상대적으로 작고 압축적 |
| 결과 | 분석을 통한 통찰 발견 | 바로 실행할 수 있는 의사결정 정보 |
| 주요 기술 | 분산 저장·처리, 데이터 레이크 | 스트림 처리, CEP, 정제, 시맨틱 기술 |
스마트 데이터는 빅데이터를 대체하는 개념이 아니라, 빅데이터에서 가치를 실제로 끌어내기 위한 정제·선별의 결과물로 보는 것이 일반적이다.
CQL(Continuous Query Language)은 끝없이 흘러드는 데이터 스트림에 대해 한 번 등록해 두면 계속 실행되는 연속 질의(continuous query)를 쓰기 위해 SQL을 확장한 질의 언어이다. 2000년대 초 스탠퍼드 대학의 STREAM 프로젝트에서 데이터 스트림 관리 시스템(DSMS)용으로 제안되었고, 오라클 CEP(오라클 이벤트 처리) 등 상용 제품에 쓰였다. 아파치 카산드라의 질의 언어(Cassandra Query Language)도 CQL이라 부르지만 전혀 다른 언어다.
일반 SQL은 저장된 테이블에 질의를 한 번 던지고 결과를 받으면 끝나지만, CQL은 질의가 상주하고 데이터가 질의를 지나가며 결과가 계속 나온다.
| 기능 | 설명 |
|---|---|
| 스트림→관계 연산(윈도우) | 무한한 스트림에서 일정 구간을 잘라 관계(테이블)처럼 다룬다. 시간 기반 윈도우([Range 10 seconds]), 튜플 기반 윈도우([Rows 100]), 파티션 윈도우([Partition By 센서ID Rows 5]), 슬라이딩·텀블링 윈도우
|
| 관계→관계 연산 | 잘라 낸 구간에 일반 SQL의 선택·조인·집계·그룹화를 적용한다 |
| 관계→스트림 연산 | 결과 변화를 다시 스트림으로 내보낸다. Istream(새로 들어온 행), Dstream(빠진 행), Rstream(현재 전체 행) |
| 스트림과 테이블의 조인 | 실시간 스트림을 저장된 기준 정보(고객, 설비 마스터)와 결합한다 |
| 패턴 탐지 | 이벤트의 순서·조합을 탐지한다(오라클 CQL의 MATCH_RECOGNIZE 등) |
SELECT 센서ID, AVG(온도) FROM 온도스트림 [Range 1 minute Slide 10 seconds] GROUP BY 센서ID HAVING AVG(온도) > 80
위 질의는 등록된 뒤 10초마다 최근 1분간 평균 온도가 80도를 넘는 센서를 계속 내보낸다.
- 수집 단계의 선별 : CQL의 필터와 윈도우 집계로 원시 스트림 중 의미 있는 데이터만 남겨, 저장할 데이터 양을 줄인다(정확성·경량화).
- 실시간 가공 : 발생 즉시 집계·조인·패턴 탐지를 해 상황 정보를 만든다(민첩성).
- 행동으로 연결 : 조건을 만족하면 경보나 제어 명령 같은 이벤트를 바로 내보낸다(실행 가능성).
- 즉 CQL은 빅데이터 스트림을 3A를 갖춘 스마트 데이터로 바꾸는 실시간 처리 도구이며, CQL을 쓰는 CEP 엔진이 스마트 데이터 생성 기반이 된다.
오늘날에는 아파치 플링크 SQL, 아파치 카프카 기반의 ksqlDB, 클라우드 스트림 분석 서비스가 같은 연속 질의 개념을 이어받아 쓰인다.