모던지 / 데이터분석 준전문가 / 데이터 이해 2강. 데이터베이스와 활용

데이터 이해 2강. 데이터베이스와 활용

데이터베이스는 저장 장치가 아니라 약속입니다. 같은 것을 한 번만 적고, 모두가 같은 것을 본다는 약속이죠.

풀고 시작

문제 1. 영업팀과 배송팀이 같은 고객의 주소를 각자 엑셀 파일에 따로 관리하다가, 이사한 고객에게 물건이 옛 주소로 배송되는 사고가 났습니다. 데이터베이스의 어떤 특징이 이 문제를 막아 줍니까?
같은 데이터를 여러 곳에 중복해 두지 않고 한 곳에 통합해 두어야 한쪽만 고쳐지는 불일치가 사라집니다. 저장된 데이터는 컴퓨터 매체에 담긴다는 뜻이고, 비휘발성은 데이터 웨어하우스의 성질이라 이 문제와 직접 닿지 않습니다.

파일이 넘쳐 나던 시절

1960년대 회사들은 업무마다 파일을 따로 만들었습니다. 급여 계산용 파일, 인사 관리용 파일, 부서 예산용 파일이 제각각 있었고, 같은 직원의 이름과 부서가 세 파일에 세 번 적혔습니다. 누가 부서를 옮기면 세 파일을 다 고쳐야 했고, 한 군데를 빠뜨리면 서로 다른 말을 하는 파일이 생겼죠. 이것을 데이터의 중복과 불일치 문제라고 부릅니다.

데이터베이스(database)는 이 혼란에 대한 답으로 나왔습니다. 여러 업무가 함께 쓰는 데이터를 한곳에 모아 조직적으로 저장해 두고, 필요한 사람이 꺼내 쓰게 하자는 것입니다. 그래서 데이터베이스를 설명할 때는 흔히 네 가지 성질을 듭니다.

성질 무엇을 뜻하나
통합된 데이터 같은 데이터를 중복 없이 한곳에 모아 둡니다
저장된 데이터 컴퓨터가 접근할 수 있는 저장 매체에 담아 둡니다
공용 데이터 여러 사용자와 여러 응용 프로그램이 함께 씁니다
변화되는 데이터 새로 넣고, 고치고, 지우면서 늘 현재 상태를 유지합니다

네 성질 중에서 풀고 시작 문제가 겨냥한 것이 통합입니다. 데이터베이스의 첫 번째 가치는 같은 사실을 한 번만 적는 데서 나옵니다. 한 번만 적으면 고칠 곳도 한 곳이고, 그래야 모두가 같은 답을 봅니다.

데이터베이스를 다루는 소프트웨어

데이터베이스 자체는 데이터가 모인 덩어리이고, 그 덩어리를 만들고 지키고 꺼내 주는 소프트웨어는 DBMS(Database Management System)라고 따로 부릅니다. 오라클, MySQL, PostgreSQL 같은 이름이 모두 DBMS입니다. DBMS가 있어야 여러 사람이 동시에 같은 데이터를 고쳐도 서로 덮어쓰지 않고, 정전이 나도 중간에 끊긴 작업이 반쯤 남지 않습니다.

오늘날 가장 널리 쓰이는 방식은 데이터를 표(테이블)로 저장하는 관계형 데이터베이스입니다. 1970년 IBM의 연구원 에드거 커드가 데이터를 수학의 관계(relation)로 다루자는 논문을 내면서 시작됐죠. 표로 저장된 데이터는 SQL이라는 공통 언어로 묻고 답합니다. 최근에는 표에 담기 어려운 대량의 비정형 데이터를 다루려고 NoSQL이라 불리는 다른 방식의 데이터베이스도 함께 쓰입니다. 이 흐름은 3강의 빅데이터로 이어집니다.

일하는 데이터와 생각하는 데이터

데이터베이스는 쓰임에 따라 성격이 둘로 갈립니다. 매장에서 결제가 한 건 일어날 때마다 즉시 기록하고 재고를 줄이는 일은 빠르고 정확해야 합니다. 이런 일을 OLTP(Online Transaction Processing)라고 부릅니다. 반면 "지난 3년 동안 지역별, 계절별로 어떤 상품이 잘 팔렸나"를 묻는 일은 수많은 기록을 한꺼번에 훑어야 합니다. 이런 분석을 OLAP(Online Analytical Processing)이라고 합니다.

두 일을 한 데이터베이스에서 같이 하면 서로를 방해합니다. 커다란 분석 질의 하나가 결제 처리를 느리게 만들 수 있죠. 그래서 분석만을 위한 창고를 따로 짓습니다. 이것이 데이터 웨어하우스(data warehouse)입니다. 데이터 웨어하우스의 아버지로 불리는 빌 인먼은 그 성격을 네 가지로 정리했습니다.

성격 뜻
주제 지향 업무 처리 단위가 아니라 고객, 상품 같은 분석 주제별로 모읍니다
통합 여러 시스템에서 온 데이터를 같은 형식과 같은 기준으로 맞춥니다
시계열 과거 시점의 값을 지우지 않고 시간의 흐름대로 쌓습니다
비휘발 한 번 적재한 데이터는 고치거나 지우지 않고 읽기만 합니다

OLTP 데이터베이스는 "지금 재고가 몇 개인가"라는 현재 상태가 중요해 값을 계속 덮어씁니다. 데이터 웨어하우스는 "작년 이맘때는 몇 개였나"를 물어야 하므로 옛 값을 남깁니다. 두 성격의 차이가 여기서 선명해지죠.

데이터 웨어하우스 전체는 너무 크고 넓어서 부서마다 필요한 부분만 떼어 쓰기도 합니다. 마케팅팀만을 위해 고객과 캠페인 데이터를 추린 작은 창고, 이것이 데이터 마트(data mart)입니다. 3과목에서 R로 데이터 마트를 만드는 방법을 따로 배웁니다.

기업은 데이터베이스를 어디에 쓰나

기업 안에서 데이터베이스는 여러 이름의 시스템으로 모습을 드러냅니다. 회계, 인사, 생산, 구매처럼 회사 전체의 자원을 하나로 묶어 관리하는 ERP(전사적 자원 관리), 고객과의 접점을 기록하고 관계를 관리하는 CRM(고객 관계 관리), 원자재 조달부터 소비자 인도까지 공급망 전체를 잇는 SCM(공급망 관리)이 대표적입니다. 조직의 지식을 모아 나누는 KMS(지식 관리 시스템)도 있고, 이렇게 쌓인 데이터를 분석해 의사결정에 쓰는 활동을 통틀어 BI(비즈니스 인텔리전스)라고 부릅니다.

사회 전체에서도 데이터베이스는 기반 시설이 됐습니다. 물류 추적, 지리 정보 시스템(GIS), 전자 의무 기록, 교통 정보 같은 서비스는 모두 거대한 데이터베이스 위에서 돌아갑니다. 데이터베이스가 한 회사의 장부에서 사회의 기억 장치로 커진 셈입니다.

인출 문제

문제 1. 데이터베이스의 네 가지 성질 가운데 "여러 사용자와 여러 응용 프로그램이 같은 데이터를 함께 쓴다"는 것은 무엇입니까?
여러 사람과 프로그램이 함께 쓴다는 성질이 공용 데이터입니다. 통합은 중복을 없애는 것, 변화는 넣고 고치고 지우며 현재 상태를 유지하는 것이라 초점이 다릅니다.
문제 2. OLTP와 데이터 웨어하우스를 비교한 설명으로 가장 적절한 것은?
OLTP는 재고처럼 현재 상태가 중요해 값을 덮어쓰고, 데이터 웨어하우스는 시계열과 비휘발 성격 때문에 옛 값을 남겨 분석합니다. 데이터 웨어하우스는 오히려 읽기 위주로 쓰는 창고입니다.
문제 3. 빌 인먼이 정리한 데이터 웨어하우스의 성격이 아닌 것은?
인먼이 든 성격은 주제 지향, 통합, 시계열, 비휘발입니다. 한 번 적재한 데이터를 고치지 않는 비휘발 성격과 실시간으로 값을 바꾸는 갱신은 서로 어긋나며, 실시간 갱신은 오히려 OLTP 쪽의 성격입니다.
문제 4. 고객 문의 이력, 구매 이력, 상담 기록을 모아 고객과의 관계를 관리하는 시스템은 무엇입니까?
고객과의 모든 접점을 기록해 관계를 관리하는 시스템은 CRM입니다. ERP는 회사 전체의 자원, SCM은 공급망, KMS는 조직의 지식을 다룹니다.

더 풀기

출제기준의 세부항목을 따라 이 강의 범위에서 새로 낸 문제입니다. 모의고사도 여기에서 뽑습니다.

묶음 1

문제 1. 데이터베이스가 등장하기 전, 업무마다 따로 파일을 만들어 쓰던 방식의 가장 큰 문제는 무엇이었습니까?
업무별 파일 방식에서는 같은 직원 정보가 여러 파일에 반복되어, 하나만 고치면 파일끼리 서로 다른 말을 하게 됐습니다. 데이터베이스는 이 중복과 불일치를 통합으로 해결하려고 나왔습니다.
문제 2. 데이터베이스의 성질 가운데 "넣고, 고치고, 지우면서 늘 현재 상태를 유지한다"는 것은 무엇입니까?
데이터베이스는 멈춰 있는 기록이 아니라 삽입, 갱신, 삭제로 계속 바뀌며 현재를 반영합니다. 이 성질이 변화되는 데이터이고, 한 번 적재하면 고치지 않는 데이터 웨어하우스의 비휘발 성격과 대비됩니다.
문제 3. 데이터베이스와 DBMS의 관계를 옳게 설명한 것은?
데이터베이스는 데이터의 집합이고 DBMS는 그 집합을 관리하는 소프트웨어입니다. 오라클이나 MySQL은 DBMS의 이름이고, NoSQL 같은 다른 방식의 데이터베이스에도 각자의 관리 소프트웨어가 있습니다.
문제 4. 여러 사용자가 동시에 같은 데이터를 고칠 때 서로 덮어쓰지 않도록 막아 주는 것은 주로 무엇의 역할입니까?
동시에 여러 사람이 같은 데이터를 고칠 때 순서를 조정하고 작업이 반쯤 남지 않게 지키는 것이 DBMS의 핵심 역할입니다. 데이터 마트는 분석용으로 추린 데이터이고, 엑셀 파일은 이런 보호 장치가 약합니다.
문제 5. 관계형 데이터베이스의 출발점이 된 연구에 관한 설명으로 옳은 것은?
관계형 모델은 1970년 IBM의 에드거 커드가 발표한 논문에서 시작됐습니다. 인먼은 데이터 웨어하우스, 대량 웹 문서는 NoSQL 계열과 더 가깝고, 관계형이 NoSQL보다 훨씬 먼저 나왔습니다.
문제 6. 관계형 데이터베이스에 저장된 데이터를 묻고 답하는 데 쓰는 공통 언어는 무엇입니까?
관계형 데이터베이스의 표를 조회하고 조작하는 공통 언어가 SQL입니다. HTML은 웹 문서를 만드는 언어, JSON은 반정형 데이터의 형식, R은 통계 분석 언어입니다.
문제 7. NoSQL 데이터베이스가 함께 쓰이게 된 배경으로 가장 알맞은 것은?
소셜 미디어 글, 로그, 센서 데이터처럼 표로 담기 어렵고 양이 폭증하는 데이터가 늘면서 유연한 저장 방식이 필요해졌습니다. 관계형 데이터베이스는 여전히 널리 쓰이고, NoSQL은 이를 대체한다기보다 보완합니다.
문제 8. 다음 중 OLTP의 예로 가장 적절한 것은?
주문 한 건이 들어올 때마다 즉시 정확하게 처리하는 것이 OLTP입니다. 나머지는 많은 기록을 한꺼번에 훑어 분석하는 OLAP나 데이터 분석의 일입니다.
문제 9. 결제 처리와 대규모 분석을 한 데이터베이스에서 함께 할 때 생기기 쉬운 문제로 가장 알맞은 것은?
수많은 기록을 한꺼번에 훑는 분석 질의는 자원을 많이 써서 즉시 처리해야 하는 결제를 방해할 수 있습니다. 그래서 분석만을 위한 데이터 웨어하우스를 따로 짓습니다.
문제 10. 데이터 웨어하우스가 과거 시점의 값을 지우지 않고 시간의 흐름대로 쌓아 두는 성격은 무엇입니까?
시간에 따라 값이 어떻게 바뀌었는지 볼 수 있도록 과거 값을 남기는 성격이 시계열입니다. 비휘발은 적재한 데이터를 고치거나 지우지 않는 성격이라 비슷해 보이지만, 시간 축을 강조하는 쪽은 시계열입니다.

묶음 2

문제 1. 데이터 웨어하우스의 "통합" 성격이 뜻하는 것으로 가장 적절한 것은?
판매 시스템은 성별을 M과 F로, 회원 시스템은 1과 2로 적는 식으로 원천마다 기준이 다르면 합쳐도 쓸 수 없습니다. 이를 하나의 형식으로 맞추는 것이 통합입니다.
문제 2. 데이터 웨어하우스의 "주제 지향" 성격을 가장 잘 보여 주는 것은?
운영 시스템은 업무 처리 단위로 데이터를 만들지만, 데이터 웨어하우스는 "고객을 알고 싶다", "상품을 알고 싶다"는 분석 주제를 기준으로 모읍니다. 이것이 주제 지향입니다.
문제 3. 데이터 웨어하우스에 한 번 적재한 데이터를 고치거나 지우지 않고 읽기만 하는 성격은 무엇입니까?
적재된 데이터를 바꾸지 않고 조회만 하는 성격을 비휘발이라고 합니다. 공용은 데이터베이스 일반의 성질이고, 데이터 웨어하우스의 네 성격에는 들지 않습니다.
문제 4. 데이터 마트에 관한 설명으로 가장 적절한 것은?
데이터 마트는 데이터 웨어하우스에서 특정 부서나 주제에 필요한 부분만 떼어 만든 작은 저장소입니다. 회사 전체를 담는 큰 창고는 데이터 웨어하우스이고, 실시간 거래 처리는 OLTP의 몫입니다.
문제 5. 회계, 인사, 생산, 구매처럼 회사 전체의 자원을 하나의 시스템으로 묶어 관리하는 것은 무엇입니까?
회사의 여러 부서 자원을 통합해 관리하는 시스템이 ERP(전사적 자원 관리)입니다. CRM은 고객, KMS는 지식, SCM은 공급망이라는 한 영역에 초점을 둡니다.
문제 6. 원자재 조달부터 생산, 유통을 거쳐 소비자에게 전달되기까지의 흐름 전체를 관리하는 시스템은 무엇입니까?
공급망 전체의 흐름을 잇고 관리하는 시스템이 SCM(공급망 관리)입니다. ERP도 생산과 구매를 다루지만 회사 내부 자원 관리에 초점이 있고, SCM은 협력사와 유통까지 바깥으로 넓힙니다.
문제 7. 조직 구성원이 가진 노하우와 문서를 모아 공유하고 재사용하게 하는 시스템은 무엇입니까?
조직의 지식을 모으고 나누는 시스템이 KMS(지식 관리 시스템)입니다. 1강에서 본 표출화와 연결화를 시스템으로 돕는 셈이고, OLTP는 거래 처리 방식이라 성격이 다릅니다.
문제 8. 기업에 쌓인 데이터를 분석해 경영 의사결정에 쓰는 활동과 도구를 통틀어 부르는 말은 무엇입니까?
쌓인 데이터를 분석하고 보고서와 대시보드로 보여 주어 의사결정을 돕는 것을 BI(비즈니스 인텔리전스)라고 부릅니다. OLTP는 거래 처리, DBMS는 데이터베이스 관리 소프트웨어입니다.
문제 9. 다음 중 사회 기반 분야에서 데이터베이스가 쓰이는 예로 가장 거리가 먼 것은?
종이 수첩에 적은 가계부는 컴퓨터 저장 매체에 담긴 것도, 여럿이 함께 쓰는 것도 아니라 데이터베이스의 성질을 갖지 않습니다. 나머지는 모두 대규모 데이터베이스 위에서 돌아가는 사회 기반 서비스입니다.
문제 10. OLAP에 관한 설명으로 가장 적절한 것은?
OLAP는 지역별, 기간별, 상품별처럼 여러 관점으로 대량의 데이터를 집계하고 분석하는 방식입니다. 한 건씩 빠르게 처리하는 것은 OLTP의 몫입니다.

묶음 3

문제 1. 한 회사가 데이터 웨어하우스에서 "작년 같은 달 대비 매출 증감"을 계산하려 합니다. 이 계산이 가능한 가장 직접적인 이유는 무엇입니까?
작년 값과 올해 값을 나란히 놓으려면 과거 값이 남아 있어야 하고, 이것이 시계열과 비휘발 성격 덕분입니다. 값을 계속 덮어쓰는 운영 데이터베이스에서는 작년 값이 이미 사라졌을 수 있습니다.
문제 2. 재고를 관리하는 운영 데이터베이스에서 값을 계속 덮어쓰는 것이 자연스러운 이유는 무엇입니까?
운영 데이터베이스는 지금 당장의 업무를 처리하므로 현재 재고가 중요하고, 그래서 값을 갱신합니다. 과거 흐름을 보려면 데이터 웨어하우스처럼 옛 값을 남기는 저장소가 따로 필요합니다.
문제 3. 판매 시스템은 성별을 M과 F로, 회원 시스템은 남과 여로 기록합니다. 이 둘을 데이터 웨어하우스에 합칠 때 가장 먼저 필요한 일은 무엇입니까?
원천마다 표기가 다르면 같은 뜻의 데이터가 서로 다른 값으로 보여 집계가 틀어집니다. 데이터 웨어하우스의 통합 성격이 요구하는 것이 이런 기준 맞추기입니다.
문제 4. 데이터 웨어하우스와 데이터 마트의 관계를 가장 알맞게 설명한 것은?
데이터 마트는 전사 규모의 데이터 웨어하우스에서 필요한 부분만 떼어 만든 작은 저장소라 부분 집합의 관계에 가깝습니다. 둘 다 분석용이고, 실시간 거래 처리는 OLTP의 일입니다.
문제 5. 데이터베이스의 "저장된 데이터"라는 성질이 강조하는 것은 무엇입니까?
저장된 데이터는 종이가 아니라 컴퓨터가 읽고 쓸 수 있는 매체에 담겨 있다는 뜻입니다. 여러 번 저장하는 것은 오히려 통합과 반대이고, 고칠 수 없는 것은 데이터 웨어하우스의 비휘발 성격입니다.
문제 6. 다음 중 데이터베이스의 네 가지 성질에 해당하지 않는 것은?
데이터베이스 일반의 네 성질은 통합, 저장, 공용, 변화입니다. 주제 지향은 데이터 웨어하우스의 성격이라 두 목록을 헷갈리지 않게 구분해 둬야 합니다.
문제 7. 한 은행이 고객의 예금, 대출, 카드 이용 내역을 모아 "이 고객에게 어떤 상품을 권할까"를 정하려 합니다. 이 목적에 가장 가까운 시스템은 무엇입니까?
고객과의 여러 접점을 모아 관계를 깊게 하고 맞춤 상품을 권하는 것이 CRM의 목적입니다. SCM은 공급망, ERP는 내부 자원 관리이고, OLTP는 거래 한 건을 처리하는 방식입니다.
문제 8. 데이터베이스가 "사회의 기억 장치"가 되었다는 말에 가장 알맞은 예는 무엇입니까?
전국 교통 정보처럼 사회 전체가 함께 쓰는 대규모 데이터베이스가 서비스의 기반이 된 것이 사회의 기억 장치라는 말에 맞습니다. 나머지는 개인이나 소규모의 기록이라 사회 기반이라 보기 어렵습니다.
문제 9. 관계형 데이터베이스가 데이터를 저장하는 기본 형태는 무엇입니까?
관계형 데이터베이스는 데이터를 행과 열로 된 표(테이블)에 저장합니다. 태그로 감싼 문서는 XML 같은 반정형, 키와 값의 쌍은 일부 NoSQL 방식에 가깝습니다.
문제 10. 데이터베이스와 활용에 관한 진술로 옳지 않은 것은?
회사 전체를 담는 큰 저장소는 데이터 웨어하우스이고, 데이터 마트는 그중 특정 부서나 주제에 맞게 떼어 낸 작은 부분입니다. 나머지 셋은 이 강에서 다룬 내용을 그대로 담고 있습니다.

이전: 1강 데이터와 정보 · 다음: 3강 빅데이터의 이해와 가치

모던지 · 궁금하면 모던지 GitHub · 2026-09-30