What is Database?, Introduction to Computer Science, 6주차
Database, Relational database, Big data
Study date: 04/Apr/2024
Goals :
데이터베이스의 개념(concept of database)과 구조(structure)를 설명할 수 있다.
관계형데이터베이스(relational database) 모델을 이해하고 데이터관리시스템(data management system)을 설명할 수 있다.
빅데이터의 특징(characteristics)을 이해하고 빅데이터 분석을 위한 기술(the technologies necessary for big data analysis)을 나열할 수 있다.
1) 데이터베이스(database)
데이터베이스의 개념: 서로 관련 있는 데이터(related data)들을 효율적으로 관리하기 위해 수집된 데이터들의 집합체(collection of data sets)로서, 각 데이터들은 상호 유기적 관계(interrelated relationships)에 의해 구성되어 있다.
데이터베이스의 사용자 관점(database user perspective)의 구성요소
일반 사용자(user): 질의어(query language)를 이용해서 접근하는 사용자
응용 프로그래머(developer): 데이터조작어(DML)를 이용해 데이터베이스를 접근하는 사람
데이터베이스 관리자(database administrator): 데이터 정의어(DDL)와 데이터 제의어(DCL)를 사용하여 데이터베이스를 DBMS에 기술해 주고 저장된 데이터를 제어할 목적으로 데이터베이스를 접근하는 사람
데이터베이스의 언어 관점(database language perspective)의 구성요소
데이터 정의어(DDL): DB를 정의나 수정의(defining or modifying) 목적으로 사용하는 언어
데이터 조작어(DML): DB의 처리(조회, 삽입, 삭제, 수정)를 목적으로 사용하는 언어
데이터 제의어(DCL): 여러 사용자가 DB를 정확하고 안전하게 사용할 수 있도록 관리 및 통제 기능(managing and controlling functions)을 목적으로 사용하는 언어
2) 관계형 데이터베이스(relational database)
관계형데이터베이스(relational database) 모델이란?
테이블 형식으로 데이터를 저장하는 모델
이를 수학적인 용어로 '릴레이션'이라고 한다.
카디널리티(Cardinality): 릴레이션을 구성하는 듀플의 수
듀플(Tuple): 각 행, 하나의 튜플은 각 애트리뷰트에서 정의된 값들을 이용해서 구성됨
애트리뷰트(attribute): 각 열에 부여된 이름

관계형 데이터관리시스템(data management system)이란?
관계형 데이터 모델을 기반으로하는 DBMS
현재 대부분의 상용DBMS가 관계형 데이터 모델을 기반으로 함
표준SQL을 데이터베이스 언어로 기본 제공
ORACLE, MySQL, SQLite, IBM DB2 등
SQL(Structured Query Language)
ANSI, ISO에서 국제 표준으로 채택된 고급 데이터 언어로 SQL을 배우면 모든 DBMS에서 응용이 가능하다.
단순히 검색만을 위한 질의어가 아니라 데이터 정의, 조작, 제어기능을 모두 제어한다
SQL명령어 종류: 데이터정의어(DDL), 데이터조작어(DML), 데이터제의어(DCL)
3) 빅데이터(Big data)
- 빅데이터란? 기존 데이터베이스 범위를 넘어서는(exceed the scope of traditional databases) 방대한 양의 데이터 집합(vast amounts of data sets)으로부터 가치 있는 정보를 빠르고 효율적으로 추출하고 분석하는 기술(extracting and analyzing valuable information)
빅데이터의 특징(characteristics): 5Vs
크기(Volume): 방대한 양의 데이터
다양성(Variety): 실시간으로 생산, 빠른 속도로 분석
속도(Velocity): 정형데이터+비정형데이터(data in many forms)
진실성(Veracity): 진실되고 신뢰할 수 있는 데이터
가치(Value): 비지니스로 실현될 가치에 중점을 줌
빅데이터 분석을 위한 기술(the technologies necessary for big data analysis)
수집 (Data Collection):
데이터를 수집하는 단계로, 다양한 소스에서 데이터를 수집하고 통합한다.
데이터 수집 관련 기술로는 ETL(Extract, Transform, Load)/크롤링/로그수집기/센싱/Open API등이 있다.
저장 (Data Storage):
수집된 데이터를 안전하게 저장하고 관리하는 단계
대용량 데이터를 저장하기 위해 하둡(Hadoop)이나 NoSQL 데이터베이스 (MongoDB, Cassandra 등)를 사용합니다.
처리 (Data Processing):
저장된 데이터를 처리하고 분석하기 위한 단계
데이터 처리 관련 기술로 실시간처리/분산병렬처리/인메모리 처리 등이 있다.
분석 (Data Analysis):
- 데이터를 효율적으로 정확하게 분석하여 비지니스 등의 영역에 적용하기 위한 기술
시각화 (Data Visualization):
분석된 결과를 시각적으로 표현하여 이해하기 쉽게 만드는 단계
다양한 차트, 그래프, 대시보드를 생성하여 데이터를 시각화하고 인사이트를 시각적으로 전달
시각화 도구로는 Tableau, Power BI, matplotlib, seaborn 등이 사용됨
이러한 다섯 가지 단계를 통해 빅데이터를 효과적으로 분석하고 가치 있는 정보를 추출할 수 있다.
추가 정보
파일 처리 시스템(file processing system)은 데이터베이스시스템(DBMS)이 개발되기 전에 사용된 시스템이다.
빅데이터 플랫폼(MySQL, Oracle, 등)을 사용하여 빅데이터를 수집, 저장, 처리 및 관리한다.
마이크로소프트의 Azure는 마이크로소프트에서 제공하는 클라우드 형태의 빅데이터 플랫폼이다


