데이터베이스

2025. 5. 18. 18:48·CS 스터디/CS - DB

데이터베이스란


데이터베이스는 컴퓨터에 저장되어 실시간으로 접근할 수 있는 데이터의 모임으로, 중복을 최소화하여 통합 관리되는 정보 저장소입니다. 또한, 데이터베이스는 조직의 업무 수행에 필수적인 데이터를 저장하고, 여러 사용자가 공동으로 접근하고 활용할 수 있도록 관리됩니다.

특히, 웹 어플리케이션이 동적인 데이터를 관리하려면 데이터를 저장하고 가져오는 기능이 필요합니다. 이때, 사용되는 것이 데이터베이스이고, 웹 개발에 있어 필수적인 요소라고 볼 수 있습니다.

 

먼저, 앞선 설명을 보면 스프레드시트(엑셀)와 데이터베이스의 차이점이 궁금해 질 수도 있을것 같습니다. 해당 궁금증을 오라클 홈페이지에서도, 설명해주는데 해당 링크와 함께 간단한 차이점을 요약해보겠습니다.

 

데이터베이스와 스프레드시트(엑셀)의 차이점


1. 데이터의 저장 및 조작 방식

  • 스프레드시트
    • 데이터를 행과 열로 표의 형태로만 저장하며, 수동입력과, 함수 및 수식으로 데이터를 조작합니다.
  • 데이터베이스
    • SQL(관계형 데이터베이스) 또는 다양한 데이터 모델(NoSQL)을 활용해 데이터를 저장, 검색, 수정, 삭제할 수 있습니다.

2. 데이터 접근 방식

  • 스프레드시트
    • 단일 사용자 또는 소수의 사용자만 접근할 수 있으며, 실시간 협업 기능이 제한적입니다.
  • 데이터베이스
    • 여러 사용자가 동시에 데이터를 조회하고 수정할 수 있도록 설계되었습니다. 일반적으로 동시성 제어 기능을 제공하지만, 일부 데이터베이스는 이를 지원하지 않을 수도 있습니다. 따라서 데이터 정합성이 중요한 경우, 적절한 데이터베이스를 선택하는 것이 중요합니다.

3. 저장할 수 있는 데이터의 양

  • 스프레드시트
    • 스프레드시트는 기본적으로 데이터 저장 공간이 제한적이며, 일반적으로 수천에서 수만 개의 행을 처리하는 데 적합합니다.
  • 데이터베이스
    • 데이터베이스는 대량의 데이터를 저장하고 관리하도록 설계되었습니다. 관계형 데이터베이스(RDBMS)나 NoSQL 데이터베이스는 수백만~수억 개 이상의 레코드를 효율적으로 저장할 수 있으며, 대규모 데이터를 빠르게 검색하고 처리할 수 있습니다.

 

 

데이터베이스란?

데이터베이스에 대한 필수 지식과 이를 비즈니스에 활용하는 방법을 알아보세요.

www.oracle.com

간단하게, 일상생활에서 자주 쓰이는 엑셀과의 차이점을 알아봤다면, 이제 조금은 딥하게 데이터베이스에 대해 알아보겠습니다. 먼저, 데이터베이스가 어떻게 정의되는지 알아보겠습니다.

 

데이터베이스의 정의


아래에 적은 네개의 정의는, 데이터베이스를 정의할 때 빠질 수 없는 핵심 개념이라고 보시면 됩니다.

1. 공유 데이터 (Shared Data)

  • 데이터베이스는 특정 프로그램에 종속되지 않으며, 여러 사용자나 애플리케이션이 공동으로 사용하고 접근할 수 있습니다.

2. 통합된 데이터 (Integrated Data)

  • 데이터베이스는 중복을 최소화하고 통제 가능한 중복만 허용하여 데이터를 통합 관리합니다.

3. 저장된 데이터 (Stored Data)

  • 데이터베이스는 컴퓨터가 접근 가능한 매체에 저장된 데이터를 관리합니다.

4. 운영 데이터 (Operational Data)

  • 데이터베이스에는 조직이나 시스템이 운영되는 데 필수적인 데이터가 저장됩니다.

 

앞서 살펴본 정의는 데이터베이스의 기본 개념을 설명한 것이고, 이제부터는 데이터베이스가 실제로 어떤 특성을 갖고 있는지 구체적으로 알아보겠습니다.

 

데이터베이스의 특징


1. 실시간 접근성

사용자의 질의(쿼리)에 대해 지연 없이 즉시 응답할 수 있는 기능을 제공합니다.

  • 데이터베이스 시스템이 실시간 처리 요구를 만족할 수 있도록 설계되어 있다는 의미입니다.

2. 동시 공유성

여러 사용자가 동시에 데이터베이스에 접근하더라도, 데이터의 일관성과 무결성을 유지하며 데이터를 공유할 수 있습니다.

  • 이는 트랜잭션 관리와 동시성 제어 기능 덕분에 가능합니다.

3. 내용에 의한 참조

데이터의 주소나 위치가 아닌 데이터의 내용에 따라 참조합니다.

  • 사용자는 데이터가 어디에 저장되어 있는지 몰라도, 필요한 정보를 내용 기반으로 검색할 수 있습니다.
SELECT * FROM users WHERE id = 3;

4. 데이터의 논리적/물리적 독립성

  • 논리적 독립성: 데이터의 논리 구조(예: 테이블 구조)를 수정하더라도, 애플리케이션은 영향을 받지 않습니다.
    (예: 새로운 컬럼 추가 등 - DDL을 통해 가능)
  • 물리적 독립성: 데이터가 저장되는 실제 위치나 방식이 변경되더라도, 사용자나 프로그램은 이를 알 필요 없이 동일하게 사용할 수 있습니다.

마지막으로, 데이터베이스는 어떤 유형이 존재하는지 대표적인 유형들만 가볍게 살펴보고 마치겠습니다.

 

데이터베이스의 유형


1. 관계형 데이터베이스 (RDB)

  • 데이터를 테이블(표) 형태로 저장하고 SQL을 사용해서 데이터를 조회, 수정할 수 있습니다.
  • 각 테이블은 행(Row)과 열(Column)로 구성되며, 키(Key)로 관계를 맺습니다.

대표적인 예 : MySQL, PostgreSQL, Oracle 등

2. NoSQL 데이터베이스 (Not only SQL)

  • 관계형 DB처럼 테이블 구조가 아니라 데이터 형식을 유연하게 저장 가능
  • 높은 확장성과 빠른 데이터 처리 속도

대표적인 예 : Redis, MongoDB, Cassandra

3. 객체 지향 데이터베이스

  • 객체 지향의 개념이 적용된 데이터베이스
  • 객체 단위로 저장되며, 객체 질의 언어(OQL)를 사용하여 데이터를 관리

대표적인 예 : Object DB

 

지금까지, 간단하게 데이터베이스에 대해 알아보았습니다. 조금씩이라도, 포스팅을 하는 습관을 들여야겠습니다. 오랜만에 쓰려고하니 어색하네요 ㅎㅎ...

'CS 스터디 > CS - DB' 카테고리의 다른 글

데이터베이스 Key의 개념과 종류  (0) 2025.07.07
SQL의 실행과정  (0) 2025.05.27
'CS 스터디/CS - DB' 카테고리의 다른 글
  • 데이터베이스 Key의 개념과 종류
  • SQL의 실행과정
BIS's tech Blog
BIS's tech Blog
Welcome to Kanghyun's tech blog :)
  • BIS's tech Blog
    벼익숙의 기술 블로그
    BIS's tech Blog
  • 전체
    오늘
    어제
    • 분류 전체보기 (63) N
      • 알고리즘 (49) N
        • 백준 (40) N
        • 프로그래머스 (9)
      • CS 스터디 (14)
        • CS - JAVA (11)
        • CS - DB (3)
      • Spring (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    bottom-up
    프로그래머스
    Top-Down
    dp
    BFS
    동적 계획
    Baekjoon
    재귀
    Lv2
    완전탐색
    java
    깊이 우선 탐색
    DFS
    백준
    기술질문
    CS
    알고리즘 고득점 kit
    너비 우선 탐색
    자료구조
    브루트포스
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
BIS's tech Blog
데이터베이스
상단으로

티스토리툴바