Skip to main content

Command Palette

Search for a command to run...

What is Database?, Introduction to Computer Science, 6주차

Database, Relational database, Big data

Updated
3 min read

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)

      1. 수집 (Data Collection):

        • 데이터를 수집하는 단계로, 다양한 소스에서 데이터를 수집하고 통합한다.

        • 데이터 수집 관련 기술로는 ETL(Extract, Transform, Load)/크롤링/로그수집기/센싱/Open API등이 있다.

        1. 저장 (Data Storage):

          • 수집된 데이터를 안전하게 저장하고 관리하는 단계

          • 대용량 데이터를 저장하기 위해 하둡(Hadoop)이나 NoSQL 데이터베이스 (MongoDB, Cassandra 등)를 사용합니다.

        2. 처리 (Data Processing):

          • 저장된 데이터를 처리하고 분석하기 위한 단계

          • 데이터 처리 관련 기술로 실시간처리/분산병렬처리/인메모리 처리 등이 있다.

        3. 분석 (Data Analysis):

          • 데이터를 효율적으로 정확하게 분석하여 비지니스 등의 영역에 적용하기 위한 기술
        4. 시각화 (Data Visualization):

          • 분석된 결과를 시각적으로 표현하여 이해하기 쉽게 만드는 단계

          • 다양한 차트, 그래프, 대시보드를 생성하여 데이터를 시각화하고 인사이트를 시각적으로 전달

          • 시각화 도구로는 Tableau, Power BI, matplotlib, seaborn 등이 사용됨

이러한 다섯 가지 단계를 통해 빅데이터를 효과적으로 분석하고 가치 있는 정보를 추출할 수 있다.

추가 정보

  • 파일 처리 시스템(file processing system)은 데이터베이스시스템(DBMS)이 개발되기 전에 사용된 시스템이다.

  • 빅데이터 플랫폼(MySQL, Oracle, 등)을 사용하여 빅데이터를 수집, 저장, 처리 및 관리한다.

  • 마이크로소프트의 Azure는 마이크로소프트에서 제공하는 클라우드 형태의 빅데이터 플랫폼이다

Introduction to Computer Science

Part 8 of 9

One of my subject at uni "Introduction to Computer science" study note. I have no experience studying computer science before.

Up next

What is Programming language, 4th weeks

Study date: 27/Mar/2024 Introduction to Computer sience 4th weeks